ffsl, ffsll: Work around AIX 7.2 problem.
[gnulib.git] / ChangeLog
blob33cc845a9d3c78fb1aba301ac8e3143ba5c4f8ce
1 2021-01-04  Bruno Haible  <bruno@clisp.org>
3         ffsl, ffsll: Work around AIX 7.2 problem.
4         * lib/string.in.h: On AIX, include <strings.h> for the declarations of
5         ffsl and ffsll.
6         * doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
7         * doc/glibc-functions/ffsll.texi: Likewise.
9 2021-01-04  Bruno Haible  <bruno@clisp.org>
11         ssfmalloc: Fix includes.
12         * lib/ssfmalloc.h: Include <strings.h>, for ffs().
13         * tests/test-ssfmalloc.c: Include <string.h>, for memset().
15 2021-01-03  Bruno Haible  <bruno@clisp.org>
17         quotearg tests: Avoid test failures on Solaris 11.3.
18         * tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
19         'cp -a'.
21 2021-01-03  Bruno Haible  <bruno@clisp.org>
23         tests: Fix link errors on Solaris, when libunistring-optional is in use.
24         * modules/wcwidth (Link): New section.
25         * modules/wcswidth (Link): New section.
26         * modules/mbchar (Link): New section.
27         * modules/mbfile (Link): Link against libunistring.
28         * modules/mbiter (Link): Likewise.
29         * modules/mbuiter (Link): Likewise.
30         * modules/mbmemcasecmp (Link): Likewise.
31         * modules/mbscasecmp (Link): Likewise.
32         * modules/mbscasestr (Link): Likewise.
33         * modules/mbschr (Link): Likewise.
34         * modules/mbscspn (Link): Likewise.
35         * modules/mbslen (Link): Likewise.
36         * modules/mbsncasecmp (Link): Likewise.
37         * modules/mbsnlen (Link): Likewise.
38         * modules/mbspbrk (Link): Likewise.
39         * modules/mbspcasecmp (Link): Likewise.
40         * modules/mbsrchr (Link): Likewise.
41         * modules/mbssep (Link): Likewise.
42         * modules/mbsspn (Link): Likewise.
43         * modules/mbsstr (Link): Likewise.
44         * modules/mbstok_r (Link): Likewise.
45         * modules/mbswidth (Link): Likewise.
46         * modules/exclude (Link): Likewise.
47         * modules/propername (Link): Likewise.
48         * modules/regex-quote (Link): Likewise.
49         * modules/trim (Link): Likewise.
50         * modules/mbmemcasecmp-tests (Makefile.am): Link the test program
51         against libunistring.
52         * modules/mbscasecmp-tests (Makefile.am): Likewise.
53         * modules/mbscasestr-tests (Makefile.am): Likewise.
54         * modules/mbschr-tests (Makefile.am): Likewise.
55         * modules/mbscspn-tests (Makefile.am): Likewise.
56         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
57         * modules/mbspbrk-tests (Makefile.am): Likewise.
58         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59         * modules/mbsrchr-tests (Makefile.am): Likewise.
60         * modules/mbsspn-tests (Makefile.am): Likewise.
61         * modules/mbsstr-tests (Makefile.am): Likewise.
62         * modules/exclude-tests (Makefile.am): Likewise.
63         * modules/regex-quote-tests (Makefile.am): Likewise.
65 2021-01-03  Bruno Haible  <bruno@clisp.org>
67         c32ispunct tests: Avoid test failures on FreeBSD.
68         * tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
69         FreeBSD 12.1.1.
71 2021-01-04  Simon Josefsson  <simon@josefsson.org>
73         doc: Repeat warning that --with-tests cannot be used twice.
74         * doc/gnulib-tool.texi (Multiple instances): Remind reader of
75         --with-tests limitation.
77 2021-01-03  Bruno Haible  <bruno@clisp.org>
79         iconv, iconv_open: Improve documentation.
80         Reported by Noah Misch <noah@leadboat.com> in
81         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
82         * doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
83         problems handled by Gnulib".
84         * doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
85         * m4/iconv.m4 (AM_ICONV_LINK): Improve comments.
87 2021-01-03  Bruno Haible  <bruno@clisp.org>
89         iconv-h: Fix module description.
90         * modules/iconv-h (Include): Check HAVE_ICONV_H.
92 2021-01-03  Noah Misch  <noah@leadboat.com>
94         iconv_open: Fix module description.
95         * modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.
97 2021-01-03  Bruno Haible  <bruno@clisp.org>
99         stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
100         * m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
101         stricter: Add tests for offsetof-based alignof.
102         * lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
103         * doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.
105 2021-01-03  Bruno Haible  <bruno@clisp.org>
107         free-posix: Work around GCC mis-optimization bug.
108         Code by Bernhard Voelker <mail@bernhard-voelker.de>.
109         * lib/free.c (rpl_free): Add alternative complicated code for GCC.
111 2021-01-02  Bruno Haible  <bruno@clisp.org>
113         valgrind-tests: Disable valgrind if it would cause all tests to fail.
114         Suggested by Simon Josefsson <simon@josefsson.org> in
115         <https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
116         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
117         executable produced by the current compiler. Set VALGRIND to empty if it
118         does not work. Don't set VALGRIND to empty if it merely does not accept
119         the --error-exitcode=1 --leak-check=full options.
121 2021-01-02  Bruno Haible  <bruno@clisp.org>
123         valgrind-tests: Really enable the valgrind options test.
124         * m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
125         valgrind options --error-exitcode=1 --leak-check=full always work.
127 2021-01-02  Bruno Haible  <bruno@clisp.org>
129         utimensat: Fix test failures on macOS 10.13.
130         * lib/utimensat.c: Include <string.h>, <sys/stat.h>.
131         (rpl_utimensat): Check against invalid tv_nsec values. Before calling
132         utimensat, recognize a filename ending in a slash that does not point
133         to a directory.
135 2021-01-02  Bruno Haible  <bruno@clisp.org>
137         utimens: Fix test failure on macOS 10.13.
138         * lib/utimens.c: Include <string.h>.
140         utimens: Fix test failure on macOS 10.13.
141         * lib/utimens.c (fdutimens): Before calling utimensat, recognize a
142         filename ending in a slash that does not point to a directory.
144 2021-01-02  Bruno Haible  <bruno@clisp.org>
146         utimens: Avoid test failures on macOS 10.13.
147         Reported by Martin Storsjö <martin@martin.st> in
148         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
149         * tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
150         * tests/test-utimens.h (test_utimens): Don't expect a ctime change when
151         only the atime is requested to change.
152         * tests/test-futimens.h (test_futimens): Likewise.
153         * tests/test-lutimens.h (test_lutimens): Likewise.
155 2021-01-02  Bruno Haible  <bruno@clisp.org>
157         renameatu: Fix test failures on macOS.
158         Reported by Martin Storsjö <martin@martin.st> in
159         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
160         * lib/renameatu.c (renameatu): Don't call renameatx_np right away.
161         Instead, treat it as a variant of renameat, with all possible bugs that
162         renameat might have.
164 2021-01-02  Bruno Haible  <bruno@clisp.org>
166         getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
167         Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
168         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
169         * tests/test-getgroups.c: Silence gcc warnings of type
170         -Wstringop-overflow.
172 2021-01-02  Bruno Haible  <bruno@clisp.org>
174         timespec_get: Add tests.
175         * tests/test-timespec_get.c: New file.
176         * modules/timespec_get-tests: New file.
178         timespec_get: New module.
179         * lib/time.in.h (timespec_get): New declaration.
180         * lib/timespec_get.c: New file.
181         * m4/timespec_get.m4: New file.
182         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
183         GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
184         * modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
185         HAVE_TIMESPEC_GET.
186         * modules/timespec_get: New file.
187         * tests/test-time-c++.cc (timespec_get): Check signature.
188         * doc/glibc-functions/timespec_get.texi: Mention the new module.
190 2021-01-01  Bruno Haible  <bruno@clisp.org>
192         time: Define TIME_UTC.
193         * lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
194         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
195         * modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
196         * tests/test-time.c: Check that TIME_UTC is defined and a positive
197         integer.
198         * doc/posix-headers/time.texi: Mention TIME_UTC.
200 2021-01-01  Bruno Haible  <bruno@clisp.org>
202         stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
203         * modules/stddef (Depends-on): Add extensions.
205 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
207         canonicalize: remove NARROW_ADDRESSES optimization
208         * lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
209         Remove, and remove all uses, as the optimization is arguably not
210         worth the extra complexity.  Suggested by Adhemerval Zanella in:
211         https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html
213 2021-01-01  Bruno Haible  <bruno@clisp.org>
215         stddef: Try harder to get max_align_t defined on OpenBSD.
216         * m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.
218 2021-01-01  Bruno Haible  <bruno@clisp.org>
220         aligned_alloc: Fix test failure on OpenBSD 6.8.
221         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
222         _ISOC11_SOURCE.
223         * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
224         comment.
226 2021-01-01  Bruno Haible  <bruno@clisp.org>
228         posixtm tests: Disable part of the test on plaforms where it fails.
229         * tests/test-posixtm.c (T): Disable two tests on macOS as well.
231 2021-01-01  Bruno Haible  <bruno@clisp.org>
233         c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
234         * tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
235         Solaris 11 OmniOS.
236         * tests/test-c32isprint.c (main): Likewise.
237         * tests/test-c32ispunct.c (main): Likewise.
239 2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>
241         libc-config: port to Sun C 5.9
242         * lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
243         definition.  It’s not needed for Gnulib and elicits a diagnostic
244         from Sun C 5.9 Patch 124867-12 2009/11/22.
246 2021-01-01  Bruno Haible  <bruno@clisp.org>
248         quotearg tests: Avoid test failures on Solaris 11.
249         * modules/quotearg-tests (Makefile.am): Set host_os in
250         TESTS_ENVIRONMENT.
251         * tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
252         directory that contains the .mo file.
254 2021-01-01  Bruno Haible  <bruno@clisp.org>
256         maint: Update copyright notices in --version output.
257         List the most recent year in which changes were made, per
258         <https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
259         * build-aux/declared.sh (func_version): Say 2019.
260         * build-aux/libtool-next-version (func_version): Likewise.
261         * build-aux/run-test (func_version): Likewise.
262         * check-module (COPYRIGHT_NOTICE): Say 2012.
263         * lib/git-merge-changelog.c (main): Say 2020.
265 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
267         filename: change filename.h comment to LGPLv2.1+
268         * lib/filename.h: Change license notice to match what should be in
269         glibc, and what modules/filename specifies.  This is to simplify
270         syncing with glibc.
272         doc: mention year-0 bugs in Solaris etc.
273         * doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
274         * doc/posix-functions/localtime.texi:
275         * doc/posix-functions/localtime_r.texi:
276         * doc/posix-functions/mktime.texi:
277         Mention year-0 bugs in localtime etc.
279 2020-12-31  Bruno Haible  <bruno@clisp.org>
281         ptsname_r: Fix test failure on Solaris.
282         * lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
283         the device.
285 2020-12-31  Bruno Haible  <bruno@clisp.org>
287         posixtm tests: Disable part of the test on plaforms where it fails.
288         * tests/test-posixtm.c (T): Disable two tests on Solaris.
290 2020-12-31  Bruno Haible  <bruno@clisp.org>
292         poll tests: Avoid test failure on AIX.
293         * tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
294         shutdown" test on AIX.
295         * doc/posix-functions/poll.texi: Mention the AIX bug.
297 2020-12-31  Bruno Haible  <bruno@clisp.org>
299         poll tests: Avoid test failure on BSD and Solaris systems.
300         * tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
301         "expecting POLLHUP after shutdown" test on all platforms except Linux.
303 2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>
305         fnmatch: merge from glibc + proposal
306         This merges the change proposed by Adhemerval Zanella in:
307         https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
308         which fixes a Gnulib bug that led to a failed assert.
309         * lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
310         check that it stays nonnegative.  Use __flexarr instead of
311         FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
312         * tests/test-fnmatch.c (main): New test cases, taken from glibc.
314         glob: merge proposed glibc changes
315         This merges the change proposed by Adhemerval Zanella in:
316         https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
317         * lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.
319 2020-12-31  Bruno Haible  <bruno@clisp.org>
321         memalign: Work around Solaris bug.
322         * lib/memalign.c: New file.
323         * m4/memalign.m4: New file.
324         * modules/memalign (Files): Add them.
325         (Depends-on): Add malloc-h.
326         (configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
327         memalign.c. Set module indicator.
328         (Include): Include <malloc.h> unconditionally.
329         * doc/glibc-functions/memalign.texi: Mention the Solaris issues.
331         malloc-h: Add tests.
332         * tests/test-malloc-h.c: New file.
333         * modules/malloc-h-tests: New file.
334         * tests/test-malloc-h-c++.cc: New file.
335         * modules/malloc-h-c++-tests: New file.
337         malloc-h: New module.
338         * lib/malloc.in.h: New file.
339         * m4/malloc_h.m4: New file.
340         * modules/malloc-h: New file.
341         * doc/glibc-headers/malloc.texi: New file.
342         * doc/gnulib.texi (Glibc Header File Substitutes): Include it.
344 2020-12-31  Bruno Haible  <bruno@clisp.org>
346         unistd: Fix portability warnings.
347         * lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.
349 2020-12-31  Bruno Haible  <bruno@clisp.org>
351         utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
352         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
353         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
354         * lib/utime.c: Include <errno.h>.
356 2020-12-30  Karl Berry  <karl@freefriends.org>
358         config: srclistvars doc.
359         * config/srclistvars.sh: doc a couple of unusual source repo urls.
361 2020-12-30  Bruno Haible  <bruno@clisp.org>
363         getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
364         * tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
365         with no errno.
366         * tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
367         EINVAL.
369 2020-12-29  Jim Meyering  <meyering@fb.com>
371         regex-tests: tweak to avoid a clang-10 warning
372         * tests/test-regex.c: Compare with explicit zero, rather than
373         as boolean to avoid this from clang-10:
374         test-regex.c:315:9: error: converting the result of '<<' to a \
375           boolean always evaluates to true \
376           [-Werror,-Wtautological-constant-compare]
377         if (! REG_STARTEND)
379         hash: add casts-to-float to avoid clang-10 warnings
380         * lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
381         to avoid this warning from clang-10 (for use in grep):
382           hash.c:501:11: error: implicit conversion from 'unsigned long' \
383             to 'float' changes value from 18446744073709551615 to \
384             18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
385           if (SIZE_MAX <= new_candidate)
386         (hash_insert_if_absent): Likewise.
388 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
390         canonicalize: fix size overflow treatment
391         This also has some minor cleanups.
392         * lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
393         stddef.h, since the code no longer refers directly to ptrdiff_t.
394         * lib/canonicalize-lgpl.c (realpath_stk):
395         * lib/canonicalize.c (canonicalize_filename_mode_stk):
396         Treat size overflow like other out-of-memory.
397         * lib/canonicalize.c: No need to include stdlib.h, since
398         the code no longer refers to stdlib.h functions (other
399         than those that canonicalize.h must declare).
400         * lib/canonicalize.c (canonicalize_filename_mode_stk):
401         Do not bother terminating the string result on error.
403 2020-12-29  Bruno Haible  <bruno@clisp.org>
405         list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
406         * lib/gl_list.hh: Include <stdlib.h>.
407         * lib/gl_map.hh: Likewise.
408         * lib/gl_omap.hh: Likewise.
409         * lib/gl_set.hh: Likewise.
410         * lib/gl_oset.hh: Likewise.
412 2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>
414         canonicalize: fix ptrdiff_t overflow bug
415         Problem reported by Adhemerval Zanella in:
416         https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
417         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
418         Include intprops.h.
419         (NARROW_ADDRESSES): New constant.
420         * lib/canonicalize-lgpl.c (realpath_stk):m
421         * lib/canonicalize.c (canonicalize_filename_mode_stk):
422         Work even if strlen (END) does not fit in idx_t, or if adding
423         N to it overflows.
424         * modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
425         Add intprops.
427 2020-12-28  Bruno Haible  <bruno@clisp.org>
429         havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
430         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
431         acl_is_expected_elfclass, use 'expr', not 'test'.
433 2020-12-28  Bruno Haible  <bruno@clisp.org>
435         ptsname_r: Fix a compiler warning on Solaris.
436         * lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.
438 2020-12-28  Bruno Haible  <bruno@clisp.org>
440         gnulib-tool: Fix logic whether to add a dummy.c.
441         * gnulib-tool (func_remove_if_blocks): New function.
442         (func_modules_add_dummy): Use it to eliminate all conditional statements
443         from the automake snippet.
445 2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>
447         faccessat: revert recent EOVERFLOW change
448         I misunderstood the glibc source code.  Deduced from
449         Adhemerval Zanella’s proposed glibc patch in:
450         https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
451         * doc/posix-functions/faccessat.texi: It is not a problem.
452         * lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
453         (FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
454         * lib/faccessat.c: Revert to simpler version now that
455         LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
456         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
457         Remove.  All uses removed.
458         * modules/canonicalize, modules/canonicalize-lgpl (Files):
459         Remove m4/faccessat.m4.
461         canonicalize-lgpl: accommodate picky cpp
462         * lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
463         case preprocessor is picky.  Reported by Adhemerval Zanella in:
464         https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html
466         canonicalize: simplify via scratch_buffer_dupfree
467         * config/srclist.txt: Adjust accordingly.
468         * lib/canonicalize-lgpl.c (realpath_stk):
469         * lib/canonicalize.c (canonicalize_filename_mode_stk):
470         Simplify by using scratch_buffer_dupfree.
471         * lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
472         * lib/malloc/scratch_buffer_dupfree.c: New file.
473         * modules/scratch_buffer (Files, Depends-on):
474         Add malloc/scratch_buffer_dupfree.c.
476 2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>
478         regex: remove glibc21.m4
479         It doesn’t seem to be needed any more; at least, I couldn’t
480         reproduce the circa-2013 problem.  Perhaps the recent
481         --conditional-dependencies fixes have removed the need for it.
482         * m4/glibc21.m4: Remove.  All uses removed.
484 2020-12-26  Bruno Haible  <bruno@clisp.org>
486         gnulib-tool: Make --conditional-dependencies work with --with-tests.
487         Reported by Paul Eggert in
488         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
489         * gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
490         dependencies like func_emit_lib_Makefile_am.
492 2020-12-26  Bruno Haible  <bruno@clisp.org>
494         execvpe: Make dependency to stdbool explicit.
495         * lib/execvpe.c: Include <stdbool.h>.
496         * modules/execvpe (Depends-on): Add stdbool.
498         execlp: Add tests.
499         * tests/test-execlp-main.c: New file.
500         * tests/test-execlp.sh: New file.
501         * modules/execlp-tests: New file.
503         execlp: New module.
504         * lib/execlp.c: New file.
505         * m4/execlp.m4: New file.
506         * modules/execlp: New file.
507         * doc/posix-functions/execlp.texi: Mention more Windows problems and the
508         new module.
510         execle: Add tests.
511         * tests/test-execle-main.c: New file.
512         * tests/test-execle.sh: New file.
513         * modules/execle-tests: New file.
515         execle: New module.
516         * lib/execle.c: New file.
517         * m4/execle.m4: New file.
518         * modules/execle: New file.
519         * doc/posix-functions/execle.texi: Mention more Windows problems and the
520         new module.
522         execl: Add tests.
523         * tests/test-execl-main.c: New file.
524         * tests/test-execl.sh: New file.
525         * modules/execl-tests: New file.
527         execl: New module.
528         * lib/execl.c: New file.
529         * m4/execl.m4: New file.
530         * modules/execl: New file.
531         * doc/posix-functions/execl.texi: Mention more Windows problems and the
532         new module.
534         execv: Add tests.
535         * tests/test-execv-main.c: New file.
536         * tests/test-execv.sh: New file.
537         * modules/execv-tests: New file.
539         execv: New module.
540         * lib/execv.c: New file.
541         * m4/execv.m4: New file.
542         * modules/execv: New file.
543         * doc/posix-functions/execv.texi: Mention more Windows problems and the
544         new module.
546         execvp: Add tests.
547         * tests/test-execvp-main.c: New file.
548         * tests/test-execvp.sh: New file.
549         * modules/execvp-tests: New file.
551         execvp: New module.
552         * lib/execvp.c: New file.
553         * m4/execvp.m4: New file.
554         * modules/execvp: New file.
555         * doc/posix-functions/execvp.texi: Mention more Windows problems and the
556         new module.
558         execvpe: Add tests.
559         * tests/test-execvpe-main.c: New file.
560         * tests/test-execvpe.sh: New file.
561         * modules/execvpe-tests: New file.
563         execvpe: New module.
564         * lib/execvpe.c: New file.
565         * m4/execvpe.m4: New file.
566         * modules/execvpe: New file.
567         * doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
568         new module.
570         execve: Add tests.
571         * tests/test-exec-child.c: New file.
572         * tests/test-execve-main.c: New file.
573         * tests/test-execve.sh: New file.
574         * modules/execve-tests: New file.
576         execve: New module.
577         * lib/execve.c: New file.
578         * m4/execve.m4: New file.
579         * modules/execve: New file.
580         * doc/posix-functions/execve.texi: Mention more Windows problems and the
581         new module.
583         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
584         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
585         execvpe): Add declarations for the new modules.
586         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
587         execv, execve, execvp, execvpe are declared.
588         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
589         REPLACE_EXEC*.
590         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
591         REPLACE_EXEC*.
592         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
593         execlp, execv, execve, execvp, execvpe.
595 2020-12-26  Bruno Haible  <bruno@clisp.org>
597         stack: Fix typo in comments.
598         * lib/stack.h: Fix typo in comments.
600 2020-12-26  Bruno Haible  <bruno@clisp.org>
602         bitset: Fix conflict with 'free-posix' module.
603         * lib/bitset/base.h: Include <stdlib.h>.
605 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
607         idx: change idx.h comment to LGPLv2.1+
608         * lib/idx.h: Change license notice to match what should be in glibc.
609         gnulib-tool will change it as appropriate anyway, so this is just
610         to simplify syncing with glibc.
612 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
614         MODULES.html.sh: Update after 2020-12-19 change.
615         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
617 2020-12-25  Bruno Haible  <bruno@clisp.org>
619         Make it possible to turn off the mkdir override on Windows.
620         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
621         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
622         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
623         GNULIB_MDA_MKDIR.
624         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
625         GNULIB_MDA_MKDIR.
626         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
627         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
629         Make it possible to turn off each of the Windows oldnames workarounds.
630         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
631         oldnames workarounds through a GNULIB_MDA_<func> symbol.
632         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
633         * lib/search.in.h (lfind, lsearch): Likewise.
634         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
635         Likewise.
636         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
637         * lib/string.in.h (memccpy, strdup): Likewise.
638         * lib/sys_stat.in.h (chmod, umask): Likewise.
639         * lib/time.in.h (tzset): Likewise.
640         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
641         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
642         read, rmdir, swab, unlink, write): Likewise.
643         * lib/utime.in.h (utime): Likewise.
644         * lib/wchar.in.h (wcsdup): Likewise.
645         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
646         GNULIB_MDA_<func> symbols.
647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
648         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
651         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
653         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
655         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
656         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
657         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
658         symbols.
659         * modules/math (Makefile.am): Likewise.
660         * modules/search (Makefile.am): Likewise.
661         * modules/stdio (Makefile.am): Likewise.
662         * modules/stdlib (Makefile.am): Likewise.
663         * modules/string (Makefile.am): Likewise.
664         * modules/sys_stat (Makefile.am): Likewise.
665         * modules/time (Makefile.am): Likewise.
666         * modules/unistd (Makefile.am): Likewise.
667         * modules/utime-h (Makefile.am): Likewise.
668         * modules/wchar (Makefile.am): Likewise.
670 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
672         canonicalize, canonicalize-lgpl: remove lint
673         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
674         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
675         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
676         Sort shared include directives, for consistency.
677         (IF_LINT): New macro.
678         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
679         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
680         New macros.
681         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
682         * lib/canonicalize.c (canonicalize_filename_mode_stk):
683         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
685 2020-12-24  Bruno Haible  <bruno@clisp.org>
687         spawn-pipe: Use posix_spawn by default on native Windows.
688         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
689         (create_pipe): Use it to decide among the two possible implementations.
690         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
692 2020-12-24  Bruno Haible  <bruno@clisp.org>
694         unistd-safer: Implement pipe_safer on native Windows.
695         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
696         * modules/unistd-safer (Depends-on): Add pipe-posix.
698 2020-12-24  Bruno Haible  <bruno@clisp.org>
700         execute: Use posix_spawn by default on native Windows.
701         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
702         (execute): Use it to decide among the two possible implementations.
704 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
706         canonicalize-lgpl: merge proposed libc changes
707         This merges the changes proposed for glibc in:
708         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
709         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
710         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
711         unconditionally.
712         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
713         (ISSLASH) [_LIBC]: Remove.
715 2020-12-24  Bruno Haible  <bruno@clisp.org>
717         posix_spawn-internal: Implement for native Windows.
718         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
719         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
720         do_dup2, do_close): New functions.
721         (__spawni): Implement on native Windows.
722         * modules/posix_spawn-internal (Depends-on): Add filename,
723         concat-filename, findprog-in, malloca, windows-spawn.
724         * doc/posix-functions/posix_spawn.texi: Update.
725         * doc/posix-functions/posix_spawnp.texi: Likewise.
727 2020-12-24  Bruno Haible  <bruno@clisp.org>
729         windows-spawn: Export another auxiliary function.
730         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
731         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
732         extracted from spawnpvech.
733         (spawnpvech): Use it.
735 2020-12-24  Bruno Haible  <bruno@clisp.org>
737         windows-spawn: Export some more auxiliary functions.
738         * lib/windows-spawn.h: Include <stdbool.h>.
739         (struct inheritable_handles): New type.
740         (init_inheritable_handles, compose_handles_block,
741         free_inheritable_handles): New declarations.
742         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
743         New functions, based on spawnvech.
744         (free_inheritable_handles): New function.
745         (spawnpvech): Use them.
747 2020-12-24  Bruno Haible  <bruno@clisp.org>
749         windows-spawn: Export another auxiliary function.
750         * lib/windows-spawn.h (compose_envblock): New declaration.
751         * lib/windows-spawn.c (compose_envblock): New function, extracted from
752         spawnpvech.
753         (spawnpvech): Use it.
755 2020-12-24  Bruno Haible  <bruno@clisp.org>
757         windows-spawn: Export an auxiliary function.
758         * lib/windows-spawn.h (compose_command): New declaration.
759         * lib/windows-spawn.c (compose_command): New function, extracted from
760         spawnpvech.
761         (spawnpvech): Use it.
763 2020-12-24  Bruno Haible  <bruno@clisp.org>
765         posix_spawn* tests: Add support for native Windows.
766         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
767         like Cygwin.
768         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
769         SIGHUP and SIGPIPE. On native Windows, don't call
770         posix_spawnattr_setsigmask.
771         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
772         * tests/test-posix_spawn-fchdir.c (main): Likewise.
773         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
774         output from Cygwin's 'pwd' program.
775         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
776         executable-shell-script part of the test.
777         * tests/test-posix_spawnp-script.c (main): Likewise.
778         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
779         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
780         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
781         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
782         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
783         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
784         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
785         test the POSIX_SPAWN_PORTED conditional.
786         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
787         Define the POSIX_SPAWN_PORTED conditional here.
789 2020-12-24  Bruno Haible  <bruno@clisp.org>
791         sh-filename: Add support for native Windows.
792         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
794 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
796         careadlinkat: improve warning line number
797         This propagates an idea first used in canonicalize-lgpl.
798         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
799         New macro.
800         (careadlinkat): Use it.
802         linkat: use eloop-threshold
803         * lib/linkat.c: Include eloop-threshold.h.
804         Do not include sys/param.h.
805         (MAXSYMLINKS): Remove.
806         (link_follow, linkat_follow): Use __eloop_threshold instead
807         of MAXSYMLINKS.
808         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
809         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
811         canonicalize-lgpl: use eloop-threshold
812         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
813         (MAXSYMLINKS, __eloop_threshold): Remove.
814         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
816         eloop-threshold: new module
817         * config/srclist.txt: Add a comment about it.
818         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
820         canonicalize: prefer faccessat to stat
821         A proper faccessat doesn't have the EOVERFLOW problem, and can be
822         more efficient as it needn't gather data from the filesystem to
823         fill in struct stat.  So use stat only if faccessat is absent,
824         or when checking for symlink loops in canonicalize.c.
825         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
826         Include fcntl.h, for AT_EACCESS.
827         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
828         (file_accessible): New function, based on faccessat but with
829         a fallback to stat and with an EOVERFLOW workaround.
830         (dir_check): Use it.
831         (dir_suffix): New static constant.
832         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
833         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
834         (__faccessat) [!_LIBC]: Define.
835         (realpath_stk): Use dir_suffix now.
836         * lib/canonicalize.c (canonicalize_filename_mode_stk):
837         If logical, don't check each component's existence; just check
838         at the end, as that's enough.
839         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
840         (gl_CANONICALIZE_LGPL_SEPARATE):
841         Require gl_FUNC_FACCESSAT_EOVERFLOW,
842         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
843         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
844         as the code does not use HAVE_READLINK.
845         * modules/canonicalize, modules/canonicalize-lgpl (Files):
846         Add m4/faccessat.m4, m4/lstat.m4.
847         (Depends-on): Add fcntl-lh.
849         faccessat: work around F_OK EOVERFLOW bug
850         * doc/posix-functions/faccessat.texi: Mention the problem.
851         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
852         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
853         for F_OK and EOVERFLOW, which means we can return 0.
854         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
855         (gl_FUNC_FACCESSAT): Use it.
857         stat failing with EOVERFLOW implies existence
858         * lib/euidaccess.c (euidaccess):
859         * lib/file-has-acl.c (file_has_acl):
860         * lib/link.c (link, rpl_link):
861         * lib/mkdir.c (rpl_mkdir):
862         * lib/mkfifo.c (rpl_mkfifo):
863         * lib/mknod.c (rpl_mknod):
864         * lib/ptsname_r.c (__ptsname_r):
865         * lib/symlink.c (rpl_symlink):
866         * lib/symlinkat.c (rpl_symlinkat):
867         * lib/unlink.c (rpl_unlink):
868         * lib/unlinkat.c (rpl_unlinkat):
869         * lib/utime.c (utime):
870         If stat fails with EOVERFLOW the file exists, so treat it that way
871         in file-existence tests that do not need struct stat values.
873         canonicalize-lgpl: remove freea macro
874         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
876         canonicalize, canonicalize-lgpl: fix symlink bug
877         Problem reported by Adhemerval Zanella in:
878         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
879         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
880         (suffix_requires_dir_check, dir_check): New functions.
881         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
882         closer to the related GCC diagnostics.
883         * lib/canonicalize-lgpl.c (realpath_stk):
884         * lib/canonicalize.c (canonicalize_file_mode_stk):
885         Use them to fix a bug with .../symlink-to-regular-file/ etc.
886         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
887         (realpath_stk): New function,
888         with the contents of the old __realpath and a new scratch buffer arg.
889         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
890         (__realpath): Use it.
891         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
892         Add test cases for the bugs.
894 2020-12-24  Bruno Haible  <bruno@clisp.org>
896         execute: Treat signalled processes like wait-process does.
897         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
898         (execute): Recognize the case where the exit code indicates a signalled
899         child process.
900         * tests/test-execute-main.c (main): Update expected test result.
901         * modules/execute (Depends-on): Add sys_wait.
903 2020-12-24  Bruno Haible  <bruno@clisp.org>
905         windows-spawn: Improve errno upon failure on native Windows.
906         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
907         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
908         * tests/executable-script.sh: New file.
909         * tests/test-posix_spawn-script.c (main): Also try executing
910         executable-script.sh.
911         * tests/test-posix_spawnp-script.c (main): Likewise.
912         * tests/test-execute-script.c (main): Likewise.
913         * tests/test-spawn-pipe-script.c (main): Likewise.
914         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
915         * modules/posix_spawnp-tests (Files): Likewise.
916         * modules/execute-tests (Files): Likewise.
917         * modules/spawn-pipe-tests (Files): Likewise.
919 2020-12-24  Bruno Haible  <bruno@clisp.org>
921         findprog-in: Improve errno upon failure on native Windows.
922         * lib/findprog-in.c (find_in_given_path): If the file basename has no
923         dot and the search with a suffix returned no result, do also a search
924         without a suffix, and set errno = ENOEXEC if we find a file in this way.
925         * tests/test-spawn-pipe-script.c (main): Update expected errno.
927 2020-12-23  Bruno Haible  <bruno@clisp.org>
929         posix_spawn, posix_spawnp: Fix execution of scripts.
930         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
931         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
932         or posix_spawnp allows unsecure execution of scripts.
933         * doc/posix-functions/posix_spawn.texi: Document the script execution
934         problem.
935         * doc/posix-functions/posix_spawnp.texi: Likewise.
937 2020-12-23  Bruno Haible  <bruno@clisp.org>
939         Add unit tests regarding execution of scripts.
940         * tests/executable-script: New file.
941         * tests/executable-shell-script: New file.
942         * tests/test-posix_spawn-script.c: New file.
943         * tests/test-posix_spawnp-script.c: New file.
944         * tests/test-execute-script.c: New file.
945         * tests/test-spawn-pipe-script.c: New file.
946         * modules/posix_spawn-tests (Files): Add
947         tests/test-posix_spawn-script.c, tests/executable-script,
948         tests/executable-shell-script.
949         (Makefile.am): Compile and run test-posix_spawn-script.
950         * modules/posix_spawnp-tests (Files): Add
951         tests/test-posix_spawnp-script.c, tests/executable-script,
952         tests/executable-shell-script.
953         (Makefile.am): Compile and run test-posix_spawnp-script.
954         * modules/execute-tests (Files): Add tests/test-execute-script.c,
955         tests/executable-script, tests/executable-shell-script.
956         (Makefile.am): Compile and run test-execute-script.
957         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
958         tests/executable-script, tests/executable-shell-script.
959         (Makefile.am): Compile and run test-spawn-pipe-script.
961 2020-12-23  Bruno Haible  <bruno@clisp.org>
963         Don't execute scripts without '#!' marker through /bin/sh.
964         This reflects the change done in glibc through
965         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
966         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
967         * lib/spawni.c (internal_function): Remove macro.
968         (script_execute): Remove function.
969         (__spawni): Don't invoke script_execute.
970         * lib/execute.c (execute): Disable the ENOEXEC handling.
971         * lib/spawn-pipe.c (create_pipe): Likewise.
972         * NEWS: Mention the change.
974 2020-12-23  Bruno Haible  <bruno@clisp.org>
976         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
977         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
978         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
979         * lib/spawni.c (__spawni): Update function parameters.
981 2020-12-23  Bruno Haible  <bruno@clisp.org>
983         posix_spawn tests: Add two more tests.
984         * tests/test-posix_spawn-inherit0.c: New file, based on
985         tests/test-posix_spawn-open2.c.
986         * tests/test-posix_spawn-inherit1.c: New file, based on
987         tests/test-posix_spawn-open2.c.
988         * modules/posix_spawn-tests (Files): Add them.
989         (Depends-on): Add fflush.
990         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
991         test-posix_spawn-inherit1.
993 2020-12-23  Bruno Haible  <bruno@clisp.org>
995         posix_spawn tests: Add another test.
996         * tests/test-posix_spawn-open2.c: New file, based on
997         tests/test-posix_spawn-open1.c.
998         * modules/posix_spawn-tests (Files): Add it.
999         (Makefile.am): Compile and run test-posix_spawn-open1.
1001 2020-12-20  Bruno Haible  <bruno@clisp.org>
1003         Remove support for broken <wchar.h> in AIX 3.
1004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
1006 2020-12-20  Bruno Haible  <bruno@clisp.org>
1008         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
1009         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
1010         * lib/mbchar.h: Likewise.
1011         * lib/mbiter.h: Likewise.
1012         * lib/mbuiter.h: Likewise.
1013         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
1014         * lib/mbfile.h: Don't include <time.h>.
1015         * lib/mbswidth.h: Update comment.
1016         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
1017         <wchar.h>.
1018         * lib/wctype.in.h: Likewise.
1019         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
1020         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
1021         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
1022         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
1023         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
1024         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
1025         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
1026         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
1027         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
1028         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
1029         AC_FUNC_MBRTOWC): Likewise.
1030         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
1031         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
1032         Likewise.
1033         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
1034         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
1035         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1036         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
1037         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
1038         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1039         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
1040         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
1041         Likewise.
1042         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
1043         gl_WCSRTOMBS_NULL): Likewise.
1044         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
1045         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1046         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1047         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1048         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1049         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
1050         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
1051         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
1052         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
1053         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
1055 2020-12-20  Bruno Haible  <bruno@clisp.org>
1057         isnanf: Fix autoconf test.
1058         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
1060 2020-12-20  Bruno Haible  <bruno@clisp.org>
1062         Remove some of the support for obsolete IRIX 4 and 5.
1063         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
1064         libsun.
1065         * tests/init.sh (setup_): Don't talk about IRIX 5.
1067 2020-12-20  Bruno Haible  <bruno@clisp.org>
1069         filemode: Remove Cray support.
1070         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
1071         (filemodestring): Don't produce an 'M' type.
1072         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
1073         * m4/st_dm_mode.m4: Remove file.
1074         * modules/filemode (Files): Remove it.
1076 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1078         free-posix: assume glibc 2.33 fixes this.
1079         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
1080         Use compile-time test rather than guessing for cross-builds.
1082 2020-12-20  Bruno Haible  <bruno@clisp.org>
1084         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
1085         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
1086         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
1087         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
1089 2020-12-20  Bruno Haible  <bruno@clisp.org>
1091         float: Fix compilation error when gnulib's float.h exists twice.
1092         Reported by Santiago Vila <sanvila@unex.es>.
1093         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
1095 2020-12-19  Bruno Haible  <bruno@clisp.org>
1097         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
1098         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
1099         Don't trust _POSIX_VERSION for this test.
1101 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1103         free-posix: port to GNU/Linux
1104         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
1105         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
1106         other GNU/Linux hosts.
1108 2020-12-19  Bruno Haible  <bruno@clisp.org>
1110         free-posix: Add tests.
1111         * tests/test-free.c: New file.
1112         * tests/macros.h (ASSERT_NO_STDIO,
1113         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
1114         WRITE_TO_STDERR): New macros.
1115         * modules/free-posix-tests: New file.
1117 2020-12-18  Bruno Haible  <bruno@clisp.org>
1119         free-posix: Add C++ declaration test.
1120         * tests/test-stdlib-c++.cc (free): New declaration.
1122 2020-12-18  Bruno Haible  <bruno@clisp.org>
1124         free-posix: New module, renamed from 'free'.
1125         * modules/free-posix: Renamed from modules/free.
1126         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
1127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
1128         not GNULIB_FREE.
1129         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
1130         GNULIB_FREE.
1131         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
1132         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
1133         what it does.
1134         * NEWS: Mention that module 'free' no longer exists.
1135         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
1136         * modules/canonicalize-lgpl (Depends-on): Likewise.
1138 2020-12-18  Bruno Haible  <bruno@clisp.org>
1140         free: Remove support for obsolete platforms.
1141         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
1142         CANNOT_FREE_NULL.
1143         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
1144         * modules/free (Description): Update.
1145         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
1147 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1149         intprops: port to ICC 2021.1 Beta 20201112
1150         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
1151         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
1152         Add a clause for other compilers that claim to support
1153         __builtin_mul_overflow_p, since we might as well find out about
1154         slackers other than Clang and ICC.
1155         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
1156         like older GCCs even when it claims to be a newer one.
1158 2020-12-18  Bruno Haible  <bruno@clisp.org>
1160         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
1161         Reported by Stefan Liebler <stli@linux.ibm.com> in
1162         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
1163         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
1164         GCC 5.x and 6.x.
1165         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
1166         GCC 5.x and 6.x.
1168 2020-12-17  Bruno Haible  <bruno@clisp.org>
1170         free: Fix warning.
1171         Reported by Pádraig Brady <P@draigBrady.com> in
1172         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
1173         * lib/stdlib.in.h (free): New declaration.
1174         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
1175         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
1176         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
1177         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
1178         'free' as a macro here.
1179         * modules/free (Depends-on): Add stdlib.
1180         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
1182 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1184         canonicalize-lgpl: fix AIX test failures
1185         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
1186         Problem reported by Bruno Haible in:
1187         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
1188         * lib/canonicalize-lgpl.c: Include sys/stat.h.
1189         (__realpath): When testing a file name ending in '/', use stat
1190         rather than readlink, so that it does the right thing on AIX.
1191         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
1193         canonicalize: omit second readlink when not needed
1194         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1195         Omit second readlink when (can_exist != CAN_MISSING
1196         && startlen != 0 && !logical).  Simplify.
1198         canonicalize: remove arbitrary 8192-byte limit
1199         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
1200         like GNU Hurd that do not define the PATH_MAX macro, and similarly
1201         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
1202         using scratch buffers.  Lessen the number of differences between
1203         the two source files, to simplify this and future maintenance.
1204         * lib/canonicalize-lgpl.c (__realpath):
1205         * lib/canonicalize.c (canonicalize_filename_mode_stk):
1206         Use scratch buffers instead of malloc and malloca.  This avoids
1207         the need for alloca, and avoids the need for malloc in most cases.
1208         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
1209         easier to compare, e.g., by sorting include files and by switching
1210         to the GNU convention of calling file names "file names", not
1211         "path names".  Include stdbool.h, scratch_buffer.h.
1212         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
1213         (malloca) [_LIBC]: Remove.
1214         [!_LIBC]: Do not include malloca.h.
1215         (get_path_max): New function, so that pathconf is called only in
1216         the rare and dubious case when when RESOLVED is not null and
1217         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
1218         file name, as we care about the longest file name starting from
1219         "/" (not from the input file name), and POSIX does not specify
1220         what pathconf does on a non-directory file anyway.  If PATH_MAX is
1221         not defined, do not worry about overriding a path_max of 0, and do
1222         not let path_max exceed IDX_MAX.
1223         (__realpath): Remove an assumption that file name components
1224         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
1225         the Hurd, presumably).
1226         When allocating the result, allocate it to just the right size;
1227         this costs nothing when the result is smaller than 1023 bytes,
1228         and for larger results it's probably worth the CPU to call realloc,
1229         as canonicalize.c already does.
1230         * lib/canonicalize.c: Include attribute.h.
1231         Do not include pathmax.h or xgetcwd.h.
1232         (PATH_MAX): Do not define, so file names longer than 8192 bytes
1233         work on platforms with no fixed limit.
1234         (canonicalize_filename_mode_stk): New function, with
1235         the content of the old canonicalize_filename_mode.
1236         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
1237         since the scratch buffers now do memory management for us.
1238         Use rawmemchr instead of adding strlen.
1239         Use mempcpy instead of mempcpy + size.
1240         Assume free preserves errno.
1241         (canonicalize_filename_mode): Use it.
1242         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
1243         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
1244         scratch_buffer, stdbool, xalloc-die.
1245         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
1246         malloca, realloc-posix.  Add scratch_buffer, stdbool.
1248         canonicalize-lgpl: simplify merge to glibc
1249         This patch lessens the differences between git glibc
1250         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
1251         The (perhaps wishful) goal is to make them identical.
1252         * lib/canonicalize-lgpl.c [!_LIBC]:
1253         Include <libc-config.h>, not config.h.
1254         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
1255         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
1256         Do not include alloca.h, since we use malloca now.
1257         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
1258         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
1259         freea so that the mainline code can be kept #ifdef free.
1260         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
1261         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
1262         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
1263         __eloop_threshold.  All uses of their definiens changed.
1264         (SIZE_MAX): Remove; no longer needed.
1265         (alloc_failed): Remove, and remove all instances.
1266         No need for alloc_failed now that free preserves errno.
1267         (__realpath): Default path_max to 1024 instead of 8192, as that’s
1268         the glibc tradition and is safer when the 2nd argument is null.
1269         Use __rawmemchr instead of strchr.
1270         Use __mempcpy where appropriate.
1271         Simplify test for overflow so that it does not need SIZE_MAX.
1272         Do not preserve errno around free or freea calls; no longer needed.
1273         Mark __realpath with libc_hidden_def.
1274         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
1275         malloc-posix, mempcpy, realloc-posix, rawmemchr.
1276         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
1278         free: preserve errno
1279         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
1280         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
1281         platforms that do not preserve errno.
1282         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
1283         Also, define CANNOT_FREE_NULL if free cannot free NULL.
1284         * modules/free (configure.ac): Also replace 'free' if
1285         it does not preserve errno.
1287         idx: simplify IDX_MAX, remove IDX_WIDTH
1288         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
1289         to UNSIGNED_IDX_T.
1290         (IDX_WIDTH): Remove, since it’s not used and its value
1291         arguably should be PTRDIFF_WIDTH anyway.
1293 2020-12-16  Bruno Haible  <bruno@clisp.org>
1295         posix_spawn_file_actions_addfchdir-tests: Rename test.
1296         * tests/test-posix_spawn-fchdir.c: Renamed from
1297         tests/test-posix_spawn5.c.
1298         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
1299         Update.
1301         posix_spawn_file_actions_addchdir-tests: Rename test.
1302         * tests/test-posix_spawn-chdir.c: Renamed from
1303         tests/test-posix_spawn4.c.
1304         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
1305         Update.
1307         posix_spawn-tests: Rename test.
1308         * tests/test-posix_spawn-open1.c: Renamed from
1309         tests/test-posix_spawn3.c.
1310         * modules/posix_spawn-tests (Files, Makefile.am): Update.
1312         posix_spawnp-tests: Rename test.
1313         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
1314         tests/test-posix_spawn2.c.
1315         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
1316         tests/test-posix_spawn2.in.sh.
1317         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1319         posix_spawnp-tests: Rename test.
1320         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
1321         tests/test-posix_spawn1.c.
1322         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
1323         tests/test-posix_spawn1.in.sh.
1324         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
1326 2020-12-14  Bruno Haible  <bruno@clisp.org>
1328         findprog-in: Allow overriding the current directory.
1329         * lib/findprog.h (find_in_given_path): Add directory argument.
1330         * lib/findprog-in.c (find_in_given_path): Likewise.
1331         * lib/execute.c (execute): Update caller.
1332         * lib/spawn-pipe.c (create_pipe): Likewise.
1333         * lib/windows-spawn.c (spawnpvech): Likewise.
1334         * NEWS: Mention the change.
1336 2020-12-14  Bruno Haible  <bruno@clisp.org>
1338         posix_spawn-internal: Make better use of 'const'.
1339         * lib/spawn_int.h (__spawni): Does not need write access to the elements
1340         of argv and envp.
1341         * lib/spawni.c (__spawni, script_execute): Likewise.
1342         * lib/spawn.c (posix_spawn): Update caller.
1343         * lib/spawnp.c (posix_spawnp): Likewise.
1345 2020-12-14  Bruno Haible  <bruno@clisp.org>
1347         spawn: Make it compile on native Windows.
1348         * modules/spawn (Depends-on): Add signal-h.
1350 2020-12-14  Bruno Haible  <bruno@clisp.org>
1352         windows-spawn: Avoid shadowing a variable.
1353         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
1355 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1357         string: port memchr macro to AIX 7.2 XLC
1358         Its <string.h> defines a memchr macro to help inlining.
1359         * lib/string.in.h (memchr): #undef before #defining.
1361         canonicalize: fix AIX test failures
1362         Problem reported by Bruno Haible in:
1363         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
1364         * lib/canonicalize.c (canonicalize_filename_mode):
1365         When testing a file name ending in '/', use stat rather than
1366         readlink, so that it does the right thing on AIX.
1367         * modules/canonicalize (Depends-on): Add readlink, to pull in the
1368         recent changes in the Gnulib readlink module.
1370         Assume readlink/readlinkat ERANGE fix
1371         * lib/areadlink-with-size.c (areadlink_with_size):
1372         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
1373         * lib/careadlinkat.c (readlink_stk):
1374         Do not worry about readlink or readlinkat failing with errno == ERANGE,
1375         since the Gnulib readlink and readlinkat modules now fix that.
1377         getcwd: port to AIX
1378         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
1379         in case our sys/stat.h #defined a function macro with the same name.
1381         readlink, readlinkat: add ERANGE portability
1382         Fix some portability issues with Gnulib's readlink and readlinkat,
1383         notably mostly working around the ERANGE problem in AIX and HP-UX.
1384         * doc/posix-functions/readlink.texi:
1385         * doc/posix-functions/readlinkat.texi:
1386         ERANGE problem is mostly fixed now.  Mention AIX problem with
1387         trailing / and EINVAL.  Lessen differences between these two files.
1388         * lib/readlink.c (rpl_readlink):
1389         * lib/readlinkat.c (rpl_readlinkat):
1390         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
1391         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
1392         Lessen spurious differences between the readlink and readlinkat code.
1393         * lib/readlinkat.c (rpl_readlinkat):
1394         Fix bug where stat was used where fstatat was intended.
1395         * m4/readlink.m4 (gl_FUNC_READLINK):
1396         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
1397         to identify readlink problems more precisely.  All uses changed.
1398         Guess no on AIX or HP-UX for this variable.
1399         Add check for whether readlink truncates results,
1400         and define new macro READLINK_TRUCATE_BUG accordingly.
1401         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
1402         Also check gl_cv_func_readlink_trailing_slash when deciding
1403         whether to replace readlinkat.
1404         * modules/readlinkat (Depends-on): Most dependencies are also
1405         needed if replacing readlinkat.  fstatat is different, as it
1406         is needed only if replacing an existing readlinkat.
1408 2020-12-13  Bruno Haible  <bruno@clisp.org>
1410         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
1411         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
1412         the stdin_handle and/or stdout_handle.
1414 2020-12-12  Bruno Haible  <bruno@clisp.org>
1416         Fix gnulib-tool error when some modules occur in tests/.
1417         * doc/gnulib.texi (Specification): Update statistics.
1418         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
1419         (Using AC_LIBOBJ): New section.
1420         * check-AC_LIBOBJ: New file.
1421         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
1422         * modules/fopen-gnu (Files): Add lib/fopen.c.
1423         * modules/memmem (Files): Add lib/memmem.c.
1424         * modules/renameat (Files): Add lib/at-func2.c.
1425         * modules/strcasestr (Files): Add lib/strcasestr.c.
1426         * modules/strstr (Files): Add lib/strstr.c.
1428 2020-12-11  Bruno Haible  <bruno@clisp.org>
1430         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
1431         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
1432         elements of argv.
1433         * lib/sh-quote.c (shell_quote_argv): Likewise.
1434         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
1435         the return type.
1436         * lib/windows-spawn.c (prepare_spawn): Likewise.
1437         * lib/os2-spawn.h (prepare_spawn): Likewise.
1438         * lib/os2-spawn.c (prepare_spawn): Likewise.
1439         * lib/execute.h (execute): Does not need write access to the elements of
1440         prog_argv.
1441         * lib/execute.c (execute): Likewise.
1442         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1443         Likewise.
1444         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
1445         create_pipe_out): Likewise.
1446         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
1447         Likewise.
1448         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
1449         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
1450         * lib/javaexec.h (execute_fn): Does not need write access to the
1451         elements of prog_argv.
1452         * lib/javaexec.c (execute_java_class): Update variable types and remove
1453         casts to 'char *'.
1454         * lib/csharpexec.h (execute_fn): Does not need write access to the
1455         elements of prog_argv.
1456         * lib/csharpexec.c (execute_csharp_using_mono,
1457         execute_csharp_using_sscli): Update variable types and remove casts to
1458         'char *'.
1459         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1460         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
1461         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
1462         is_jikes_present): Update variable types and remove casts to 'char *'.
1463         * lib/javaversion.c (execute_and_read_line): Does not need write access
1464         to the elements of prog_argv.
1465         * lib/csharpcomp.c (compile_csharp_using_mono,
1466         compile_csharp_using_sscli): Update variable types and remove casts to
1467         'char *'.
1468         * tests/test-sh-quote.c (main): Update variable types and remove casts
1469         to 'char *'.
1470         * tests/test-execute-main.c (main): Update variable types and remove
1471         casts to 'char *'.
1472         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
1473         remove casts to 'char *'.
1474         * NEWS: Mention the changes.
1476 2020-12-11  Bruno Haible  <bruno@clisp.org>
1478         execute-tests: Fix compilation error with MSVC.
1479         * tests/test-execute-child.c (is_device): With _fstat, use
1480         'struct _stat', not 'struct stat'.
1482 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1484         vararrays: just use 2.70
1485         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
1486         and later, since Autoconf 2.70 matches Gnulib now.
1488         sys_types: just use 2.70
1489         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
1490         Reindent to match Autoconf sources.
1491         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1493         stdint: port to Autoconf 2.70
1494         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
1495         instead of assuming that AC_INCLUDES_DEFAULT does it.
1496         The old code relied on AC_INCLUDES_DEFAULT being called
1497         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
1498         but this does not occur in Autoconf 2.70.
1500         pid_t.m4: just use 2.70
1501         * m4/pid_t.m4 (AC_TYPE_PID_T):
1502         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1504         largefile: just use 2.70
1505         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
1506         Use Autoconf 2.70 as a prerequisite, not 2.69c.
1508         AC_C_RESTRICT: update from Autoconf
1509         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
1510         as a prerequisite, not 2.69c, since 2.70 is now out.
1511         (AC_C_RESTRICT): Define only for 2.70 or earlier.
1512         Try __restrict__ before __restrict.
1514         extensions: update from Autoconf
1515         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
1516         Provide a default implementation for Autoconf 2.69 or earlier.
1517         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
1518         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
1520         alloca: update from Autoconf
1521         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
1522         Trivial update to match Autoconf 2.70.
1524 2020-12-11  Bruno Haible  <bruno@clisp.org>
1526         memchr: Work around memory overrun bug on AIX 7.2.
1527         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
1528         * doc/posix-functions/memchr.texi: Mention the AIX bug.
1530 2020-12-11  Bruno Haible  <bruno@clisp.org>
1532         execute-tests: Fix compilation error on AIX in 32-bit mode.
1533         * tests/test-execute-child.c: In order to get the original definition of
1534         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
1535         include the system's <sys/stat.h> and use it before including other
1536         header files.
1538 2020-12-10  Bruno Haible  <bruno@clisp.org>
1540         windows-spawn: Relicense under LGPLv2+.
1541         * modules/windows-spawn (License): Change to LGPLv2+.
1543 2020-12-10  Bruno Haible  <bruno@clisp.org>
1545         execute, spawn-pipe: Fix memory leak on native Windows.
1546         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
1547         * lib/windows-spawn.c: Don't include xalloc.h.
1548         (quoted_arg_length, quoted_arg_string): New functions, extracted from
1549         prepare_spawn.
1550         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
1551         elements of *new_argv together.
1552         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
1553         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
1554         * lib/os2-spawn.c: Don't include xalloc.h.
1555         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
1556         elements of *new_argv together.
1557         * lib/execute.c: Include xalloc.h.
1558         (execute): Check return value of prepare_spawn. Free the memory
1559         allocated by prepare_spawn.
1560         * modules/execute (Depends-on): Add xalloc-die.
1561         * lib/spawn-pipe.c: Include xalloc.h.
1562         (create_pipe): Check return value of prepare_spawn. Free the memory
1563         allocated by prepare_spawn.
1564         * modules/spawn-pipe (Depends-on): Add xalloc-die.
1566 2020-12-10  Bruno Haible  <bruno@clisp.org>
1568         findprog-in: Relicense under LGPLv2+.
1569         Paul Smith's approval is in
1570         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
1571         * modules/findprog-in (License): Change to LGPLv2+.
1573 2020-12-10  Bruno Haible  <bruno@clisp.org>
1575         findprog-in: Don't exit upon out-of-memory.
1576         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
1577         code.
1578         * lib/findprog-in.c: Don't include xalloc.h.
1579         (find_in_given_path): Call concatenated_filename, not
1580         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
1581         return NULL with errno set.
1582         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
1583         concat-filename, strdup-posix, malloc-posix.
1585 2020-12-09  Bruno Haible  <bruno@clisp.org>
1587         fmaf: Work around a bug on FreeBSD 12.2/arm.
1588         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
1589         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
1591 2020-12-09  Bruno Haible  <bruno@clisp.org>
1593         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
1594         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
1595         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
1596         * lib/glthread/threadlib.c: Include <errno.h>.
1597         (glthread_in_use): For FreeBSD, provide an alternative implementation
1598         that uses pthread_key_create.
1600 2020-12-09  Bruno Haible  <bruno@clisp.org>
1602         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
1603         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
1604         not 'isnan'.
1606 2020-12-08  Bruno Haible  <bruno@clisp.org>
1608         std-gnu11: Make compatible with Autoconf 2.70.
1609         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
1610         use.
1612 2020-12-08  Bruno Haible  <bruno@clisp.org>
1614         argp: Avoid undefined behaviour when invoking qsort().
1615         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
1616         Reported by Jeffrey Walton <noloader@gmail.com> in
1617         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
1618         * lib/argp-help.c (group_cmp): Remove third argument.
1619         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
1620         upon hol_cluster_cmp.
1621         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
1622         (hol_entry_cmp): Rewritten to implement a total order.
1624 2020-12-08  Bruno Haible  <bruno@clisp.org>
1626         argp: Improve comments.
1627         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
1628         null pointer.
1629         (struct hol_entry): Fix comment regarding sort order of group.
1630         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
1631         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
1632         (hol_cluster_is_child, argp_hol): Move functions.
1633         (HOL_ENTRY_PTRCMP): Remove unused macro.
1635 2020-12-08  Bruno Haible  <bruno@clisp.org>
1637         argp: Don't pass invalid arguments to isspace() and isalnum().
1638         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
1639         before passing it to isspace() or isalnum().
1641 2020-12-08  Bruno Haible  <bruno@clisp.org>
1643         argp: Don't rely on undefined behaviour of _tolower().
1644         Patch by Eric Blake
1645         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
1646         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
1647         not upper-case.  Pass correct range to tolower.
1649 2020-12-07  Bruno Haible  <bruno@clisp.org>
1651         unicodeio: Fix wrong result on FreeBSD.
1652         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
1653         characters on all platforms.
1655 2020-12-07  Bruno Haible  <bruno@clisp.org>
1657         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
1658         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
1659         FreeBSD systems.
1661 2020-12-07  Bruno Haible  <bruno@clisp.org>
1663         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
1664         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
1665         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
1666         trivially of sbrk is not available.
1667         * doc/glibc-functions/sbrk.texi: Mention that the function does not
1668         exist in FreeBSD 12.2/arm64.
1669         * doc/glibc-functions/brk.texi: Likewise.
1671 2020-12-07  Bruno Haible  <bruno@clisp.org>
1673         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
1674         Suggested by Zack Weinberg in
1675         <https://savannah.gnu.org/support/?110294>.
1676         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
1677         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
1679 2020-12-07  Bruno Haible  <bruno@clisp.org>
1681         Tweak the Windows oldnames workaround.
1682         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1683         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
1684         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
1685         always.
1686         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
1687         * lib/stdlib.in.h (putenv): Likewise.
1689 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1691         doc: fix flat address space discussion
1692         * doc/gnulib-readme.texi (Other portability assumptions):
1693         Move the all-bits-zero assumption outside the flat address space
1694         section, since the two issues are independent.
1696         doc: document -static-libubsan more
1697         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
1698         -static-libubsan a bit more.  Mostly cons.
1700 2020-12-06  Bruno Haible  <bruno@clisp.org>
1702         doc: Add more details regarding the undefined behaviour sanitizer.
1703         * doc/gnulib-readme.texi (High Quality): Describe
1704         -fsanitize-undefined-trap-on-error better.
1706 2020-12-06  Bruno Haible  <bruno@clisp.org>
1708         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
1709         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1710         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
1711         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
1712         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
1713         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
1714         a preprocessor #define.
1715         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1716         * lib/search.in.h (lfind, lsearch): Likewise.
1717         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1718         Likewise.
1719         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1720         * lib/string.in.h (memccpy, strdup): Likewise.
1721         * lib/sys_stat.in.h (chmod, umask): Likewise.
1722         * lib/time.in.h (tzset): Likewise.
1723         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1724         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1725         read, rmdir, swab, unlink, write): Likewise.
1726         * lib/utime.in.h (utime): Likewise.
1727         * lib/wchar.in.h (wcsdup): Likewise.
1728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
1729         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
1730         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
1731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
1732         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1733         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1734         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
1735         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
1737         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
1738         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
1739         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
1740         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
1741         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
1743 2020-12-06  Bruno Haible  <bruno@clisp.org>
1745         doc: Mention some missing function declarations.
1746         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
1747         AIX.
1748         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
1749         FreeBSD.
1750         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
1751         Cygwin.
1752         * doc/pastposix-functions/fcvt.texi: Likewise.
1753         * doc/pastposix-functions/gcvt.texi: Likewise.
1755 2020-12-06  Bruno Haible  <bruno@clisp.org>
1757         doc: Tweak example.
1758         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
1759         'print'.
1761 2020-12-06  Bruno Haible  <bruno@clisp.org>
1763         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
1764         * tests/test-filenamecat.c: Include idx.h.
1765         (main): Mark prefixlen as nonnegative.
1766         * modules/filenamecat-tests (Depends-on): Add idx.
1768 2020-12-06  Bruno Haible  <bruno@clisp.org>
1770         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
1771         * lib/time_rz.c: Include idx.h.
1772         (save_abbr): Mark zone_size as nonnegative.
1773         * modules/time_rz (Depends-on): Add idx.
1775 2020-12-06  Bruno Haible  <bruno@clisp.org>
1777         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
1778         * lib/parse-datetime.y: Include idx.h.
1779         (textint): Mark digits as nonnegative.
1780         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
1781         dsts_seen, times_seen, zones_seen as nonnegative.
1782         (lookup_word): Mark wordlen as nonnegative.
1783         (yylex): Mark count as nonnegative.
1784         (parse_datetime2): Mark tzsize as nonnegative.
1785         * modules/parse-datetime (Depends-on): Add idx.
1787 2020-12-06  Bruno Haible  <bruno@clisp.org>
1789         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
1790         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
1791         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
1792         nonnegative.
1793         * modules/fnmatch (Depends-on): Add idx.
1795 2020-12-06  Bruno Haible  <bruno@clisp.org>
1797         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
1798         * lib/c-stack.c: Include idx.h.
1799         (die): Mark buflen as nonnegative.
1800         * modules/c-stack (Depends-on): Add idx.
1802 2020-12-06  Bruno Haible  <bruno@clisp.org>
1804         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
1805         * lib/backupfile.c: Include idx.h.
1806         (numbered_backup): Mark base_offset as nonnegative.
1807         (backupfile_internal): Likewise.
1808         * modules/backup-rename (Depends-on): Add idx.
1809         * modules/backupfile (Depends-on): Likewise.
1811 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1813         doc: fix curved quotes issue
1814         * doc/gnulib.texi: Set txicodequoteundirected and
1815         txicodequotebacktick so that ` and ' in examples do not generate
1816         curved single quotes that do the wrong thing when cut and pasted.
1818         doc: mention static and dynamic checking
1819         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
1820         for static and dynamic checking.
1822         intprops: Add INT_ADD_OK etc.
1823         * doc/intprops.texi (Checking Integer Overflow): New section.
1824         * lib/intprops.h: From a suggestion by Bruno Haible in:
1825         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
1826         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
1828         doc: move exotic platfroms to Target Platforms
1829         * doc/gnulib-intro.texi (Supported Platforms)
1830         (Formerly Supported Platforms, Unsupported Platforms):
1831         New subsections, split off from Target Platforms.
1832         (Unsupported Platforms): Move the exotic-platform stuff here ...
1833         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
1834         section.
1836         doc: mention intptr_t etc. and IBM i
1837         * doc/gnulib-readme.texi (Other portability assumptions):
1838         Mention intptr_t and uintptr_t, and that arithmetic on them
1839         works in the usual way.
1840         (Exotic platforms): New section, containing material from
1841         the old 'Integer Portability' section.  Also mention IBM i.
1842         * doc/intprops.texi (Wraparound Arithmetic):
1843         Say that the macros work on unsigned integers too.
1844         (Integer Portability): Remove.
1846 2020-12-04  Bruno Haible  <bruno@clisp.org>
1848         utime: Fix a test failure on macOS 10.13.
1849         Reported by Martin Storsjö <martin@martin.st> in
1850         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1851         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
1852         slashes on files.
1853         * lib/utime.c (utime): Add alternative implementation for Unix
1854         platforms.
1855         * modules/utime (Depends-on): Add stat.
1856         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
1857         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
1858         trailing-slash bug.
1859         * doc/posix-functions/open.texi: Likewise.
1860         * doc/posix-functions/stat.texi: Likewise.
1861         * doc/posix-functions/symlink.texi: Likewise.
1863 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
1865         intprops: update doc and mention Unisys
1866         * doc/gnulib-readme.texi (Other portability assumptions):
1867         Also mention ptrdiff_t when talking about widths and overflow.
1868         * doc/intprops.texi (Integer Properties): Summarize new section.
1869         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
1870         evaluates its argument.
1871         (Integer Bounds): Fix typo.
1872         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
1873         Document that the _WRAPV macros now support pointers to unsigned
1874         integers.
1875         (Integer Range Overflow): Update SEI CERT citation.
1876         (Integer Portability): New subsection, which mentions
1877         the oddball Unisys platforms as non-Gnulib targets.
1879 2020-12-03  Bruno Haible  <bruno@clisp.org>
1881         idx: Clarify that idx_t always behaves like a signed type.
1882         Suggested by Paul Eggert in
1883         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
1884         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
1885         Don't test UNSIGNED_IDX_T.
1887 2020-12-03  Bruno Haible  <bruno@clisp.org>
1889         idx: New module.
1890         * lib/idx.h: New file.
1891         * modules/idx: New file.
1892         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
1893         ptrdiff_t.
1894         * lib/canonicalize.c: Likewise.
1895         * modules/canonicalize-lgpl (Depends-on): Add idx.
1896         * modules/canonicalize (Depends-on): Likewise.
1898 2020-12-03  Bruno Haible  <bruno@clisp.org>
1900         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
1901         Reported by Martin Storsjö <martin@martin.st> in
1902         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1903         * tests/test-fprintf-posix3.c: Skip the test on macOS.
1904         (main): Return a different exit code at each point. Allow 100 KB extra
1905         memory consumption.
1906         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
1907         doesn't work" diagnostic.
1909 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1911         canonicalize: refactor can_mode flag
1912         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
1913         (multiple_bits_set): ... this new static function.  Uses changed.
1914         (canonicalize_filename_mode): Refactor for clarity to avoid
1915         modifying the CAN_MODE argument.
1917         canonicalize: prefer signed integer types
1918         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
1919         (seen_triple, canonicalize_filename_mode): Prefer signed to
1920         unsigned types where either will do, as they avoid some glitches
1921         in comparisons and can trap on overflow when debugging.
1923         canonicalize: fix most of another EOVERFLOW issue
1924         * lib/canonicalize.c (canonicalize_filename_mode):
1925         Do not call stat if fewer than 20 symlinks have been traversed.
1926         This avoids EOVERFLOW failure in the common case where there
1927         are not that many symlinks, while continuing to catch loops
1928         (or fail due to EOVERFLOW) in the unusual case when there
1929         are many symlinks to traverse.
1931         canonicalize: do not assume symlinks have st_ino
1932         * lib/canonicalize.c (canonicalize_filename_mode):
1933         When checking for loops, use st_dev and st_ino from the parent
1934         directory not from the symlink, as pre-2017 POSIX says these
1935         members are not reliable for symlinks.  Couple this with START
1936         (the remaining file name to be resolved), not NAME (the whole file
1937         name with START as its suffix).
1938         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
1940         canonicalize: fix EOVERFLOW bug
1941         * lib/canonicalize.c (canonicalize_filename_mode):
1942         When testing whether a directory entry is a symbolic link, or a
1943         directory or other, do not use lstat or stat or
1944         areadlink_with_size.  Just use areadlink, as this suffices and it
1945         avoids the EOVERFLOW problem that lstat and stat have.
1946         * modules/canonicalize (Depends-on): Depend on areadlink instead
1947         of areadlink-with-size and stat.
1949         canonicalize-lgpl: fix EOVERFLOW bug
1950         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
1951         (__realpath): Do not use lstat.  Just use readlink, as this
1952         suffices and it avoids the EOVERFLOW problem that lstat has.
1953         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
1955 2020-12-02  Bruno Haible  <bruno@clisp.org>
1957         strsignal-tests: Fix test failure on macOS 10.13.
1958         Reported by Martin Storsjö <martin@martin.st> in
1959         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1960         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
1961         to be longer than the expected result.
1963 2020-12-02  Bruno Haible  <bruno@clisp.org>
1965         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
1966         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
1967         recursive self-include problem on FreeBSD 12.2 in C++ mode.
1969 2020-12-02  Bruno Haible  <bruno@clisp.org>
1971         spawn-pipe: Allow caller to specify directory for the subprocess.
1972         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1973         Add directory argument.
1974         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
1975         (create_pipe): Add directory argument. If specified, resolve the program
1976         file name and make it absolute, first. Pass the directory to spawnpvech
1977         and posix_spawn_file_actions_addchdir.
1978         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
1979         argument.
1980         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
1981         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
1982         * tests/test-spawn-pipe-main.c (test_pipe): Update.
1983         * NEWS: Mention the change.
1984         * lib/csharpcomp.c (compile_csharp_using_mono,
1985         compile_csharp_using_sscli): Update.
1986         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
1987         is_gcj_43): Update.
1988         * lib/javaversion.c (execute_and_read_line): Update.
1989         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
1990         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
1992 2020-12-02  Bruno Haible  <bruno@clisp.org>
1994         execute: Allow caller to specify directory for the subprocess.
1995         * lib/execute.h (execute): Add directory argument.
1996         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
1997         (execute): Add directory argument. If specified, resolve the program
1998         file name and make it absolute, first. Pass the directory to spawnpvech
1999         and posix_spawn_file_actions_addchdir.
2000         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
2001         posix_spawn, posix_spawn_file_actions_addchdir.
2002         * tests/test-execute-main.c: Add test for passing a directory.
2003         * tests/test-execute-child.c: Likewise.
2004         * tests/test-execute.sh: Update.
2005         * modules/execute-tests (Depends-on): Add mkdir.
2006         * NEWS: Mention the change.
2007         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
2008         * lib/csharpexec.c (execute_csharp_using_mono,
2009         execute_csharp_using_sscli): Update.
2010         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
2011         compile_using_javac, compile_using_jikes, is_javac_present,
2012         is_jikes_present): Update.
2013         * lib/javaexec.c (execute_java_class): Update.
2015 2020-12-01  Bruno Haible  <bruno@clisp.org>
2017         vma-iter: Add support for macOS11/arm64.
2018         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
2019         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
2020         and by Martin Storsjö <martin@martin.st> in
2021         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
2022         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
2024 2020-12-01  Bruno Haible  <bruno@clisp.org>
2026         spawn-pipe: Fix handling of OS/2 kLIBC.
2027         Reported by KO Myung-Hun <komh78@gmail.com> in
2028         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
2029         * modules/spawn-pipe (configure.ac): Use the common idiom for
2030         recognizing the OS/2 operating system.
2032 2020-11-30  Bruno Haible  <bruno@clisp.org>
2034         execute: Fix uninitialized use of errno.
2035         * lib/execute.c (execute): Preserve errno across several system calls.
2037 2020-11-30  Bruno Haible  <bruno@clisp.org>
2039         access tests: Fix test failure on native Windows.
2040         * tests/test-access.c (main): Change permissions of f2 file before
2041         attempting to remove it.
2043 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2045         faccessat: link with $(LIB_EACCESS)
2046         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
2047         module depends on euidaccess.
2049 2020-11-30  Bruno Haible  <bruno@clisp.org>
2051         execute, spawn-pipe: Make multithread-safe on native Windows.
2052         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
2053         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
2054         (spawnpvech): New declaration.
2055         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
2056         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
2057         (_): Remove macro.
2058         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
2059         undup_safer_noinherit): Remove functions.
2060         (spawnpvech): New function.
2061         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
2062         cloexec, dup2, error, gettext-h.
2063         * lib/execute.c: Include msvc-nothrow.h.
2064         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
2065         * lib/spawn-pipe.c: Include msvc-nothrow.h.
2066         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
2067         instead of _spawnvpe.
2068         * modules/execute (Depends-on): Add msvc-nothrow.
2069         * modules/spawn-pipe (Depends-on): Likewise.
2071 2020-11-30  Bruno Haible  <bruno@clisp.org>
2073         execute, spawn-pipe: Improve documentation.
2074         * lib/execute.h: Describe progname, prog_path, prog_argv.
2075         * lib/spawn-pipe.h: Likewise.
2077 2020-11-30  Bruno Haible  <bruno@clisp.org>
2079         execute tests: Add more tests.
2080         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
2081         inherited file descriptors >= 3.
2082         * tests/test-execute-child.c: Likewise.
2083         * tests/test-execute.sh: Update.
2085 2020-11-30  Bruno Haible  <bruno@clisp.org>
2087         havelib: Fix for non-ELF platforms (regression 2019-11-17).
2088         Reported by comex <comexk@gmail.com> in
2089         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
2090         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
2091         don't expect an ELF header.
2093 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2095         bitset: use integer_length in table implementation
2096         * lib/bitset/table.c (tbitset_list_reverse): Use
2097         BITSET_FOR_EACH_BIT_REVERSE.
2099 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2101         bitset: use integer_length in list implementation
2102         * lib/bitset/list.c (lbitset_list_reverse): Use
2103         BITSET_FOR_EACH_BIT_REVERSE.
2105 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2107         bitset: use integer_length in vector implementation
2108         * lib/bitset/array.c (vbitset_list_reverse): Use
2109         BITSET_FOR_EACH_BIT_REVERSE.
2111 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2113         bitset: use integer_length in array implementation
2114         * modules/bitset (Depends-on): Add integer_length_l.
2115         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
2116         * lib/bitset/array.c (abitset_list_reverse): Use it.
2118 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2120         bitset: style: use consistent names
2121         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
2122         and 'boffset' as 'bitoff', for consistency with the other
2123         implementations.
2124         * bitset/table.c (tbitset_list_reverse): Likewise.
2126 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2128         bitset: style: sort header
2129         * lib/bitset/base.h (bitset_ffs): Rename as...
2130         (bitset_ffs_): this.
2131         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
2133 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
2135         bitset: tests: check BITSET_FOR_EACH_REVERSE
2136         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
2137         Check BITSET_FOR_EACH_REVERSE.
2139 2020-11-29  Bruno Haible  <bruno@clisp.org>
2141         spawn-pipe tests: Fix test failure with MSVC.
2142         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
2143         (gl_msvc_invalid_parameter_handler): New function.
2144         (main): Set a global invalid-parameter handler.
2145         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
2147 2020-11-29  Bruno Haible  <bruno@clisp.org>
2149         execute: Add tests.
2150         * tests/test-execute.sh: New file.
2151         * tests/test-execute-main.c: New file.
2152         * tests/test-execute-child.c: New file.
2153         * modules/execute-tests: New file.
2155 2020-11-29  Bruno Haible  <bruno@clisp.org>
2157         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
2158         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
2159         works.
2160         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
2161         fallback implementation as on Haiku.
2162         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
2163         effective.
2164         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
2166 2020-11-29  Bruno Haible  <bruno@clisp.org>
2168         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
2169         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
2170         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
2171         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
2172         * lib/windows-spawn.c: Remove modifications for kLIBC.
2173         * modules/spawn-pipe (Files): Add the new files.
2174         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
2176 2020-11-28  Bruno Haible  <bruno@clisp.org>
2178         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
2179         Reported by Paul Eggert in
2180         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
2181         * m4/sparcv8+.m4: New file.
2182         * modules/sparcv8+: New file.
2183         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
2185 2020-11-28  Bruno Haible  <bruno@clisp.org>
2187         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
2188         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
2190 2020-11-28  Bruno Haible  <bruno@clisp.org>
2192         windows-spawn: New module.
2193         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
2194         implementations.
2195         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
2196         * modules/windows-spawn: New file.
2197         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
2198         * lib/spawn-pipe.c: Likewise.
2199         * modules/execute (Files): Remove lib/w32spawn.h.
2200         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2201         xalloc.
2202         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2203         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
2204         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
2205         xalloc.
2206         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
2208 2020-11-27  Bruno Haible  <bruno@clisp.org>
2210         ssfmalloc tests: Port to macOS 11.
2211         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
2213 2020-11-26  Bruno Haible  <bruno@clisp.org>
2215         Fix dependencies of modules that use '_exit' on native Windows.
2216         Reported by Jim Meyering in
2217         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
2218         * modules/_Exit (Depends-on): Add unistd.
2219         * modules/closein (Depends-on): Likewise.
2220         * modules/closeout (Depends-on): Likewise.
2221         * modules/forkpty (Depends-on): Likewise.
2222         * modules/posix_spawn-internal (Depends-on): Likewise.
2223         * modules/savewd (Depends-on): Likewise.
2224         * modules/stat-time-tests (Depends-on): Likewise.
2226 2020-11-26  Bruno Haible  <bruno@clisp.org>
2228         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
2229         * modules/raise-tests (Depends-on): Add unistd.
2230         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
2232 2020-11-25  Jim Meyering  <meyering@fb.com>
2234         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
2235         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
2236         non-NULL, since we don't bother handing strdup failure.
2238         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
2239         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
2240         * tests/test-raise.c: Include unistd.h.
2241         (handler): Use _exit, not exit.
2243 2020-11-23  Bruno Haible  <bruno@clisp.org>
2245         Use the correct printf format attribute for mingw.
2246         Reported by Reuben Thomas <rrt@sc3d.org> in
2247         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
2249         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
2250         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
2252         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
2253         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
2254         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2255         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
2256         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
2257         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
2259         * modules/vasnprintf (Depends-on): Add stdio.
2260         * lib/vasnprintf.h: Include <stdio.h>.
2261         (asnprintf, vasnprintf): Use the standard printf format attribute.
2263         * modules/xvasprintf (Depends-on): Add stdio.
2264         * lib/xvasprintf.h: Include <stdio.h>.
2265         (xasprintf, xvasprintf): Use the standard printf format attribute.
2267         * modules/xprintf (Depends-on): List stdio first.
2268         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
2269         depends on GNULIB_VPRINTF_POSIX.
2270         (xfprintf, xvfprintf): Use a printf format attribute that depends on
2271         GNULIB_VFPRINTF_POSIX.
2273         * modules/c-vasnprintf (Depends-on): Add stdio.
2274         * lib/c-vasnprintf.h: Include <stdio.h>.
2275         (c_vasnprintf): Use the standard printf format attribute.
2277         * modules/c-vasprintf (Depends-on): Add stdio.
2278         * lib/c-vasprintf.h: Include <stdio.h>.
2279         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
2281         * modules/c-vsnprintf (Depends-on): Add stdio.
2282         * lib/c-vsnprintf.h: Include <stdio.h>.
2283         (c_vsnprintf): Use the standard printf format attribute.
2285         * modules/c-snprintf (Depends-on): Add stdio.
2286         * lib/c-snprintf.h: Include <stdio.h>.
2287         (c_snprintf): Use the standard printf format attribute.
2289         * modules/c-xvasprintf (Depends-on): Add stdio.
2290         * lib/c-xvasprintf.h: Include <stdio.h>.
2291         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
2293         * modules/error (Depends-on): Depend on stdio always.
2294         * lib/error.h: Include <stdio.h>.
2295         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
2296         (error, error_at_line): Use a printf format attribute that depends on
2297         GNULIB_VFPRINTF_POSIX.
2298         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
2299         _GL_ATTRIBUTE_FORMAT_PRINTF.
2301         * modules/verror (Depends-on): Add stdio.
2302         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
2303         (verror, verror_at_line): Use the standard printf format attribute.
2304         * lib/verror.c: Include "error.h".
2306         * modules/argp (Depends-on): Add stdio.
2307         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
2308         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
2310         * modules/libtextstyle-optional (Depends-on): Add stdio.
2311         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
2312         printf format attribute.
2314         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
2315         format attribute.
2317 2020-11-23  Pádraig Brady  <P@draigBrady.com>
2319         selinux-at, selinux-h: use const correct declarations
2320         * lib/se-selinux.in.h: Use const for "set" functions,
2321         to match current selinux, and support cleaner user code.
2322         * lib/selinux-at.c: Likewise.
2323         * lib/selinux-at.h: Likewise.
2325 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2327         canonicalize-lgpl: fix memory leak
2328         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
2329         which could have occurred if BUF was so large that malloc was
2330         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
2331         this eliminates the need to free BUF separately.
2333 2020-11-22  Bruno Haible  <bruno@clisp.org>
2335         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
2336         * modules/xvasprintf (Depends-on): Add xalloc.
2337         * modules/pipe-filter-gi (Depends-on): Likewise.
2338         * modules/execute (Depends-on): Likewise, for w32spawn.h.
2339         * modules/spawn-pipe (Depends-on): Likewise.
2341 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
2343         bootstrap: add option hooks
2344         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
2345         (bootstrap_option_hook): Likewise.
2346         (usage): Call bootstrap_print_option_usage_hook.
2348 2020-11-22  Bruno Haible  <bruno@clisp.org>
2350         argp: Don't break getprogname on non-glibc systems.
2351         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
2352         program_invocation_name and program_invocation_short_name.
2354 2020-11-22  Bruno Haible  <bruno@clisp.org>
2356         doc: Document <link.h>.
2357         * doc/glibc-headers/link.texi: New file.
2358         * doc/gnulib.texi: Include it.
2360 2020-11-22  Bruno Haible  <bruno@clisp.org>
2362         doc: Add references to the LSB.
2363         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
2364         * doc/posix-functions/*.texi: Likewise.
2366 2020-11-22  Bruno Haible  <bruno@clisp.org>
2368         doc: Fix a makeinfo warning (regression 2020-11-03).
2369         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
2371 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
2373         parse-datetime: fix printf format typo
2374         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
2375         previous patch to this file.  Problem reported by Chris Elvidge in
2376         <https://bugs.gnu.org/44763#32>.
2378         setlocale-null-tests: work around GCC bug 44511
2379         * tests/test-setlocale_null-mt-all.c:
2380         * tests/test-setlocale_null-mt-one.c:
2381         Ignore -Wreturn-type, to work around GCC bug 44511.
2383         nl_langinfo-tests: work around GCC bug 44511
2384         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
2385         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
2386         Problem reported for GNU grep by Andreas Schwab
2387         <https://bugs.gnu.org/44535>.
2389         selinux-h: add stubs for selabel_open etc.
2390         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
2391         because matchpathcon is deprecated in favor of selabel_open etc.,
2392         so this patch adds stubs for these functions.
2393         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
2394         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
2395         as it is needed for selabel_open and selinux/selinux.h declares
2396         this type here.
2397         * modules/selinux-h (Files): Add the new files.
2398         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
2399         (lib_SOURCES): Add se-label.in.h, se-label.c.
2400         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
2401         (selinux/label.h): New rule, mimicking selinux/context.h.
2402         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
2403         (Include): Add selinux/label.h.
2405 2020-11-21  Bruno Haible  <bruno@clisp.org>
2407         Update after 'test-driver' in Automake changed.
2408         * build-aux/test-driver.diff: Rebase.
2410 2020-11-21  Daiki Ueno  <ueno@gnu.org>
2412         read-file: remove dead assignment
2413         * lib/read-file.c (fread_file): Remove dead assignment when
2414         RF_SENSITIVE is set, flagged by clang-analyzer.
2416 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2418         bitset: tests: exercise the stats too
2420         * tests/test-bitset.c: Display the stats at the end of the test.
2421         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
2422         last bin, display "256-..." rather that "256-511", since the last bin
2423         does count item greater than or equal to 256.
2425 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2427         bitset: tests: try harder to break it
2428         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
2429         BITSET_LIST_SIZE.
2430         (main): Likewise.
2431         While at it, also exercise super small bitsets.
2433 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2435         bitset: use ffs where possible in the vector implementation
2436         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
2438 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2440         bitset: use ffs where possible in the table implementation
2441         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
2443 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2445         bitset: check empty and full bitsets
2446         * tests/test-bitset.c (check_zero, check_ones): New.
2447         (check_attributes): Use them.
2449 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
2451         bitset: be sure to always return a value
2452         * lib/bitset/array.c (abitset_small_list): Always update *next and
2453         return a value.
2455 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2457         vcs-to-changelog: Expect spaces in file names
2458         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
2459         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
2460         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
2461         tabs to spaces.
2462         (list_changes): Use tabs to identify file names.
2464 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2466         bitset: strengthen tests
2467         * tests/test-bitset.c (compare): Also check count.
2468         Deal only with random values, move the one-bit tests to...
2469         (check_one_bit): this new function.
2470         (check_attributes): Call it.
2472 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2474         bitset: fix iteration over table bitsets
2475         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
2477 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2479         bitset: rename internal details for consistency
2480         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
2482 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2484         bitset: test: run deterministic tests on several bitset sizes
2485         * tests/test-bitset.c (check_attributes): Run it with small and large
2486         sizes.
2488 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2490         bitset: use ffs where possible in the list implementation
2491         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
2493 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
2495         bitset: use ffs where possible in array implementation
2496         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
2498 2020-11-17  Bruno Haible  <bruno@clisp.org>
2500         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
2501         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2502         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2503         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
2504         C++ mode.
2506 2020-11-17  Bruno Haible  <bruno@clisp.org>
2508         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
2509         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
2510         is always declared.
2511         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
2512         declared.
2514 2020-11-17  Bruno Haible  <bruno@clisp.org>
2516         Fix link errors on AIX.
2517         * modules/clean-temp (Link): Link with $(LIBTHREAD).
2518         * modules/getumask (Link): Link with $(LIBTHREAD).
2519         * modules/getumask-tests (Makefile.am): Link test-getumask with
2520         $(LIBTHREAD).
2521         * modules/supersede (Link): Link with $(LIBTHREAD).
2522         * modules/supersede-tests (Makefile.am): Link test-supersede with
2523         $(LIBTHREAD).
2524         * modules/fatal-signal (Link): New section.
2525         * modules/execute (Link): New section.
2526         * modules/csharpexec (Link): Link with $(LIBTHREAD).
2527         * modules/javaexec (Link): Link with $(LIBTHREAD).
2528         * modules/spawn-pipe (Link): New section.
2529         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
2530         $(LIBTHREAD).
2531         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
2532         * modules/javacomp (Link): Link with $(LIBTHREAD).
2533         * modules/javaversion (Link): Link with $(LIBTHREAD).
2534         * modules/pipe-filter-gi (Link): New section.
2535         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
2536         test-pipe-filter-gi2-main with $(LIBTHREAD).
2537         * modules/pipe-filter-ii (Link): New section.
2538         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
2539         test-pipe-filter-ii2-main with $(LIBTHREAD).
2540         * modules/term-style-control (Link): New section.
2541         * modules/term-style-control-tests (Makefile.am): Link
2542         test-term-style-control-hello, test-term-style-control-yes with
2543         $(LIBTHREAD).
2544         * modules/wait-process (Link): New section.
2545         * modules/nonblocking-pipe-tests (Makefile.am): Link
2546         test-nonblocking-pipe-main with $(LIBTHREAD).
2547         * modules/nonblocking-socket-tests (Makefile.am): Link
2548         test-nonblocking-socket-main with $(LIBTHREAD).
2550 2020-11-16  Bruno Haible  <bruno@clisp.org>
2552         Fix link errors on platforms with libunistring.
2553         * modules/c32isalnum (Link): New section.
2554         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
2555         $(LIBUNISTRING).
2556         * modules/c32isalpha (Link): New section.
2557         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
2558         $(LIBUNISTRING).
2559         * modules/c32isblank (Link): New section.
2560         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
2561         $(LIBUNISTRING).
2562         * modules/c32iscntrl (Link): New section.
2563         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
2564         $(LIBUNISTRING).
2565         * modules/c32isdigit (Link): New section.
2566         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
2567         $(LIBUNISTRING).
2568         * modules/c32isgraph (Link): New section.
2569         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
2570         $(LIBUNISTRING).
2571         * modules/c32islower (Link): New section.
2572         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
2573         $(LIBUNISTRING).
2574         * modules/c32isprint (Link): New section.
2575         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
2576         $(LIBUNISTRING).
2577         * modules/c32ispunct (Link): New section.
2578         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
2579         $(LIBUNISTRING).
2580         * modules/c32isspace (Link): New section.
2581         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
2582         $(LIBUNISTRING).
2583         * modules/c32isupper (Link): New section.
2584         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
2585         $(LIBUNISTRING).
2586         * modules/c32isxdigit (Link): New section.
2587         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
2588         $(LIBUNISTRING).
2589         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
2590         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2591         $(LIBUNISTRING).
2593 2020-11-16  Bruno Haible  <bruno@clisp.org>
2595         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
2596         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2597         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2598         * modules/getumask-tests (Makefile.am): Link test-getumask with
2599         $(LIBINTL).
2600         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
2601         * modules/supersede-tests (Makefile.am): Link test-supersede with
2602         $(LIBINTL).
2603         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2604         $(LIBINTL).
2606 2020-11-16  Bruno Haible  <bruno@clisp.org>
2608         getumask: Document link dependencies.
2609         * modules/getumask (Link): New section.
2611 2020-11-16  Bruno Haible  <bruno@clisp.org>
2613         Update link dependencies in modules after 2020-09-09 change.
2614         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
2615         * modules/mkdtemp (Link): Likewise.
2616         * modules/mkostemp (Link): Likewise.
2617         * modules/mkostemps (Link): Likewise.
2618         * modules/mkstemp (Link): Likewise.
2619         * modules/mkstemps (Link): Likewise.
2620         * modules/supersede (Link): Likewise.
2621         * modules/tmpfile (Link): Likewise.
2622         * modules/tmpfile-safer (Link): Likewise.
2624 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2626         getumask-tests: port to Solaris 10 etc.
2627         Problem reported by Tom Christensen in:
2628         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
2629         * modules/getumask-tests (test_getumask_LDADD):
2630         Add $(LIB_CLOCK_GETTIME).
2632 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2634         bitset: use ffsl to accelerate iterations over set bits
2635         Suggested by Bruno Haible.
2636         * modules/bitset: Depend upon ffsl.
2637         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
2638         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
2640 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2642         bitset: more tests
2643         * tests/test-bitset.c (compare): Make it clear that the random values
2644         should not be modified.
2645         Check bitset_first, bitset_last and BITSET_FOR_EACH.
2647 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2649         bitset: fix the copy from lbitset to other types
2650         * lib/bitset/list.c (lbitset_copy): Rename as...
2651         (lbitset_copy_): this.
2652         (lbitset_copy): New.
2653         Dispatch to heterogeneous/homogeneous copy.
2655 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2657         bitset: making debug traces more useful
2658         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
2660         bitset: comment changes
2661         * lib/bitset.c: Move some documenting comments to...
2662         * lib/bitset.h: here.
2663         * lib/bitset/array.c: Fix some comments.
2665 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2667         careadlinkat: warn better about GCC bug 93644
2668         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
2669         not in effect, use "#warning" to let builders know more clearly
2670         about GCC bug 93644, because the bug triggers even if no -W option
2671         is given to GCC.
2673 2020-11-13  Jim Meyering  <meyering@fb.com>
2675         hard-locale-tests: avoid a -Wstrict-prototypes warning
2676         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
2677         changing "main ()" to "main (void)". This was the only case that
2678         triggered a warning when building grep with --enable-gcc-warnings.
2680 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2682         time_rz: simplify CVE-2017-7476 fix
2683         * lib/time_rz.c: Do not include limits.h; I think it was included
2684         under the mistaken impression that limits.h defines SIZE_MAX.
2685         (SIZE_MAX): Remove.
2686         (save_abbr): Put string length into a ptrdiff_t variable,
2687         so that the size comparison works naturally.  This
2688         fixes CVE-2017-7476 in a cleaner way.
2690         parse-datetime: streamline overflow checking
2691         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
2692         did not work for unsigned destinations, and since time_t might
2693         be unsigned that meant it did not work for time_t destinations.
2694         This limitation of INT_ADD_WRAPV has been fixed, so we can
2695         now streamline parse-datetime.y a bit.
2696         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
2697         has not been used for a while.
2698         (yylex, parse_datetime2): Assume C99 declarations after statements.
2699         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
2700         to TYPE_MINIMUM.
2701         (parse_datetime2): No need for time_overflow now that
2702         INT_ADD_WRAPV works for unsigned results.
2704         parse-datetime-tests: port to Alpine Linux 3.12.1
2705         * tests/test-parse-datetime.c: Include errno.h for errno,
2706         and unistd.h for _SC_TZNAME_MAX and sysconf.
2707         (main): In the outlandishly-long time zone abbreviation test,
2708         do not exceed TZNAME_MAX as this has undefined behavior,
2709         and on Alpine Linux 3.12.1 it makes the test fail.
2711 2020-11-09  Pádraig Brady  <P@draigBrady.com>
2713         mgetgroups: avoid warning with clang
2714         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
2715         so disable -Wpointer-sign for all clang versions.
2717 2020-11-07  Bruno Haible  <bruno@clisp.org>
2719         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
2720         Reported by Simon Josefsson in
2721         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
2722         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
2723         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
2724         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
2726 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2728         tests: pacify Sun C 5.9
2729         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
2730         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
2731         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
2732         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
2733         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
2734         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
2735         Remove unreachable ‘return NULL;’s.
2737         tests: port better to XLC 12.01
2738         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
2739         even in code that is not executed, as IBM XLC 12.01 complains "The
2740         subscript -1 is less than zero."
2741         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
2742         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
2743         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
2744         arguments than are required by the macro definition."
2746 2020-11-03  Bruno Haible  <bruno@clisp.org>
2748         aligned-malloc: Use fixes from the new modules.
2749         * modules/aligned-malloc (Depends-on): Add posix_memalign,
2750         aligned_alloc, memalign.
2751         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
2753 2020-11-03  Bruno Haible  <bruno@clisp.org>
2755         aligned_alloc: Add tests.
2756         * tests/test-aligned_alloc.c: New file.
2757         * modules/aligned_alloc-tests: New file.
2759         aligned_alloc: New module.
2760         * lib/stdlib.in.h (aligned_alloc): New declaration.
2761         * lib/aligned_alloc.c: New file.
2762         * m4/aligned_alloc.m4: New file.
2763         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
2764         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
2765         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2766         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
2767         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2768         * modules/aligned_alloc: New file.
2769         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
2770         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
2771         AIX bug.
2773 2020-11-03  Bruno Haible  <bruno@clisp.org>
2775         posix_memalign: Add tests.
2776         * tests/test-posix_memalign.c: New file.
2777         * modules/posix_memalign-tests: New file.
2779         posix_memalign: New module.
2780         * lib/stdlib.in.h (posix_memalign): New declaration.
2781         * lib/posix_memalign.c: New file.
2782         * m4/posix_memalign.m4: New file.
2783         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
2784         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
2785         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2786         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
2787         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2788         * modules/posix_memalign: New file.
2789         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
2790         * doc/posix-functions/posix_memalign.texi: Mention the new module and
2791         the OpenBSD bug.
2793 2020-11-03  Bruno Haible  <bruno@clisp.org>
2795         memalign: Add tests.
2796         * tests/test-memalign.c: New file.
2797         * modules/memalign-tests: New file.
2799         memalign: New module.
2800         * modules/memalign: New file.
2801         * doc/glibc-functions/memalign.texi: Mention the new module.
2803 2020-11-03  Bruno Haible  <bruno@clisp.org>
2805         verify tests: Fix crash with GCC (regression 2020-11-02).
2806         * tests/test-verify.c (main): Fix initializer of s.
2808 2020-11-03  Pádraig Brady  <P@draigBrady.com>
2810         mountlist: recognize more file system types as remote
2812         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
2813         "remote" file systems from stat.c in coreutils.
2815 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
2817         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
2818         * tests/test-verify.c (main): Initialize state variable.
2819         Reported by Bruno Haible for GCC 5.4.0.
2821 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
2823         dfa.h: support inclusion from C++
2824         * lib/dfa.h: Allow multiple inclusion, and inclusion from
2825         C++ code.  The latter was suggested by Arnold Robbins.
2827 2020-11-01  Bruno Haible  <bruno@clisp.org>
2829         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
2830         * tests/test-ssfmalloc.c: Include <limits.h>.
2831         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
2833 2020-11-01  Bruno Haible  <bruno@clisp.org>
2835         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
2836         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
2838 2020-11-01  Jim Meyering  <meyering@fb.com>
2840         dfa-tests: test for today's invalid-merge fix
2841         * tests/test-dfa-invalid-merge.sh: New file.
2842         * modules/dfa-tests (Files): Add it.
2843         (TESTS): Add it.
2845 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2847         dfa: retain sequences of similar nodes in optimization
2848         DFA was merging similar nodes when it should not.  For example,
2849         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
2850         is not merged.  Problem reported by Gonzalo Padrino in
2851         https://bugs.gnu.org/44351
2852         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
2853         optimization.
2855 2020-11-01  Jim Meyering  <meyering@fb.com>
2857         test-dfa-match-aux.c: accept EREs, not BREs
2858         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
2859         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
2861 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
2863         verify tests: avoid -Wmissing-declarations warnings
2864         * tests/test-verify.c (test_assume_expressions): Add declaration.
2865         (test_assume_optimization): Likewise.
2866         (test_assume_noreturn): Likewise.
2867         (main): Move down after all other definitions.  While at it, also
2868         call test_assume_expressions and test_assume_optimization as a
2869         runtime check.
2871 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2873         sys_stat: update comments for S_IRWXUGO, S_IXUGO
2874         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
2875         Perhaps these macros should be removed, as they’re not in either
2876         POSIX or GNU.  They could be moved to stat-macros.h, which would
2877         be cleaner in some sense.
2879 2020-10-25  Bruno Haible  <bruno@clisp.org>
2881         ssfmalloc tests: Small tweaks.
2882         * tests/test-ssfmalloc.c: Add comments.
2883         (alloc_pages): Don't require PROT_EXEC bits.
2884         (block_sizes): Add more small sizes, for better coverage of
2885         ssfmalloc-bitmap.h.
2887         ssfmalloc tests: Portability to Minix.
2888         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
2889         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
2890         * m4/mmap-anon.m4: Update comment.
2892         ssfmalloc: Portability to AIX.
2893         * modules/ssfmalloc (Include): Add ssfmalloc.h.
2894         (Link): New section.
2895         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
2896         $(LIBTHREAD).
2898         ssfmalloc: Portability to Cygwin.
2899         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
2900         (pg_offset_t): Define depending on PAGESIZE_MAX.
2901         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
2902         (PAGESIZE_MAX): New macro.
2904         ssfmalloc: Fix buffer overrun in bitmap search.
2905         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
2906         word *words_end.
2908 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2910         doc: mention ‘restrict’ and C++
2911         * doc/gnulib-readme.texi (C99 features assumed): Document
2912         that ‘restrict’ should be avoided in C++ code.
2914 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
2916         selinux-at, selinux-h: port to SELinux 3.1
2917         The new release finally deprecated the typedef 'security_context_t',
2918         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
2919         Use the simpler 'char *' instead.
2920         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
2921         (lgetfilecon): Likewise.
2922         (fgetfilecon): Likewise.
2923         (map_to_failure): Likewise.
2924         (rpl_getfilecon): Likewise.
2925         (rpl_lgetfilecon): Likewise.
2926         (rpl_fgetfilecon): Likewise.
2927         * lib/se-selinux.in.h (security_context_t): Remove typedef.
2928         (getcon): Adjust type of context parameter.
2929         (freecon): Likewise.
2930         (getfscreatecon): Likewise.
2931         (setfscreatecon): Likewise.
2932         (matchpathcon): Likewise.
2933         (getfilecon): Likewise.
2934         (lgetfilecon): Likewise.
2935         (fgetfilecon): Likewise.
2936         (setfilecon): Likewise.
2937         (lsetfilecon): Likewise.
2938         (fsetfilecon): Likewise.
2939         (security_check_context): Likewise.
2940         (security_check_context_raw): Likewise.
2941         (setexeccon): Likewise.
2942         (security_compute_create): Likewise.
2943         * lib/selinux-at.c (getfileconat): Likewise.
2944         (lgetfileconat): Likewise.
2945         (setfileconat): Likewise.
2946         (lsetfileconat): Likewise.
2947         * lib/selinux-at.h: Likewise.
2949 2020-10-19  Bruno Haible  <bruno@clisp.org>
2951         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
2952         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
2953         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
2954         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
2955         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
2956         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
2957         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
2959 2020-10-18  Bruno Haible  <bruno@clisp.org>
2961         ssfmalloc: Add tests.
2962         * tests/test-ssfmalloc.c: New file.
2963         * modules/ssfmalloc-tests: New file.
2965         ssfmalloc: New module.
2966         * lib/ssfmalloc.h: New file.
2967         * lib/ssfmalloc-bitmap.h: New file.
2968         * modules/ssfmalloc: New file.
2970 2020-10-18  Bruno Haible  <bruno@clisp.org>
2972         wchar: Fix configure test result on some versions of AIX.
2973         Reported by Clément Chigot <clement.chigot@atos.net> in
2974         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
2975         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
2976         systems.
2978 2020-10-18  Bruno Haible  <bruno@clisp.org>
2980         time: Fix warning about asctime when asctime is not used.
2981         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
2982         invocation.
2984 2020-10-18  Bruno Haible  <bruno@clisp.org>
2986         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
2987         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
2988         '_GL_ATTRIBUTE_CONST'.
2989         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
2990         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
2991         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
2992         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
2993         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
2994         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
2995         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
2997 2020-10-18  Bruno Haible  <bruno@clisp.org>
2999         obstack: Fix a clang warning.
3000         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
3002 2020-10-16  Bruno Haible  <bruno@clisp.org>
3004         hash: Rename hash_delete to hash_remove.
3005         * lib/hash.h (hash_remove): Renamed from hash_delete.
3006         (hash_delete): New declaration.
3007         * lib/hash.c (hash_remove): Renamed from hash_delete.
3008         (hash_delete): New function.
3009         * tests/test-hash.c (main): Update.
3010         * lib/fts-cycle.c (leave_dir): Likewise.
3011         * NEWS: Mention the change.
3013 2020-10-16  Bruno Haible  <bruno@clisp.org>
3015         hash, xhash: Make usable from C++.
3016         * lib/hash.h: Add extern "C".
3018 2020-10-16  Bruno Haible  <bruno@clisp.org>
3020         hash, xhash: Move comments to the .h file.
3021         * lib/hash.c: Move comments meant for the user from here...
3022         * lib/xhash.c: ... and here...
3023         * lib/hash.h: ... to here.
3025 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
3027         Don't declare an intention to modify the return value of strerror.
3028         * tests/test-perror2.c (main): Assign the return value of strerror to a
3029         'const char *' variable.
3031 2020-10-11  Bruno Haible  <bruno@clisp.org>
3033         *printf: Avoid "expanded before it was required" warning.
3034         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
3035         AC_DEFUN_ONCE.
3037 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
3039         getprogname: Add support for OpenServer 6 and UnixWare 7.
3040         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
3041         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
3043 2020-10-11  Bruno Haible  <bruno@clisp.org>
3045         tests: Avoid a name clash on UnixWare.
3046         Reported by Tim Rice <tim@multitalents.net> in
3047         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
3048         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
3050 2020-10-11  Bruno Haible  <bruno@clisp.org>
3052         stdioext: Update comments regarding UnixWare.
3053         Reported by Tim Rice <tim@multitalents.net> in
3054         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3055         * lib/fbufmode.c: Update comments.
3056         * lib/fflush.c: Likewise.
3057         * lib/fpending.c: Likewise.
3058         * lib/fpurge.c: Likewise.
3059         * lib/freadable.h: Likewise.
3060         * lib/freadable.c: Likewise.
3061         * lib/freadahead.c: Likewise.
3062         * lib/freading.h: Likewise.
3063         * lib/freading.c: Likewise.
3064         * lib/freadptr.c: Likewise.
3065         * lib/freadseek.c: Likewise.
3066         * lib/fseeko.c: Likewise.
3067         * lib/fseterr.c: Likewise.
3068         * lib/fwritable.h: Likewise.
3069         * lib/fwritable.c: Likewise.
3070         * lib/fwriting.h: Likewise.
3071         * lib/fwriting.c: Likewise.
3073 2020-10-11  Bruno Haible  <bruno@clisp.org>
3075         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
3076         Reported by Tim Rice <tim@multitalents.net> in
3077         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
3078         Uses the info from
3079         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
3080         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
3082 2020-10-11  Bruno Haible  <bruno@clisp.org>
3084         stdioext: Avoid compilation errors on UnixWare 7.
3085         Reported by Tim Rice <tim@multitalents.net> in
3086         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
3087         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
3088         * lib/fpurge.c: Likewise.
3089         * lib/freadable.h: Likewise.
3090         * lib/freading.h: Likewise.
3091         * lib/fwritable.h: Likewise.
3092         * lib/fwriting.h: Likewise.
3093         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
3094         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3095         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
3096         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
3097         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
3098         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
3100 2020-10-11  Bruno Haible  <bruno@clisp.org>
3102         stdioext: Update comments regarding Cygwin.
3103         * lib/fpending.c: Update comments.
3104         * lib/fpurge.c: Likewise.
3105         * lib/freadable.h: Likewise.
3106         * lib/freadable.c: Likewise.
3107         * lib/freading.h: Likewise.
3108         * lib/freading.c: Likewise.
3109         * lib/fwritable.h: Likewise.
3110         * lib/fwritable.c: Likewise.
3111         * lib/fwriting.h: Likewise.
3112         * lib/fwriting.c: Likewise.
3114 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
3116         Fix "warning: implicit declaration of function 'pthread_sigmask'".
3117         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
3118         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
3120 2020-10-10  Bruno Haible  <bruno@clisp.org>
3122         *-list, *-oset, *-omap: Avoid possible compiler warnings.
3123         Reported by Marc Nieper-Wißkirchen in
3124         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
3125         * lib/gl_anylinked_list2.h (gl_linked_iterator,
3126         gl_linked_iterator_from_to): Mark as 'pure'.
3127         (gl_linked_iterator_free): Mark as 'const'.
3128         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
3129         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
3130         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
3131         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
3132         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
3133         (gl_tree_iterator_free): Mark as 'const'.
3134         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
3135         'pure'.
3136         (gl_tree_iterator_free): Mark as 'const'.
3137         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
3138         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
3139         (gl_tree_iterator_free): Mark as 'const'.
3140         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
3141         compare_position_threshold): Mark as 'pure'.
3142         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
3143         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
3144         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
3145         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
3146         'pure'.
3147         (gl_array_iterator_free): Mark as 'const'.
3148         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
3149         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
3150         (gl_array_iterator_free): Mark as 'const'.
3151         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
3152         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
3153         gl_array_iterator_atleast): Mark as 'pure'.
3154         (gl_array_iterator_free): Mark as 'const'.
3155         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
3156         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
3157         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
3158         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
3159         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
3160         gl_carray_sortedlist_search): Mark as 'pure'.
3161         (gl_carray_iterator_free): Mark as 'const'.
3163 2020-10-10  Bruno Haible  <bruno@clisp.org>
3165         rbtree-list: Avoid possible compiler warnings.
3166         This mirrors the change of avltree-list on 2014-09-16.
3167         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
3168         declaration. Add cast to void for ignored value of check_invariants.
3170 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
3172         stack: New module.
3173         * MODULES.html.sh: Add entry for the stack module.
3174         * modules/stack: New file.
3175         * modules/stack-tests: New file.
3176         * lib/stack.h: New file.
3177         * tests/test-stack.c: New file.
3179 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3181         attribute: improve const, pure doc
3182         Problem reported by Marc Nieper-Wißkirchen in:
3183         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
3184         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
3185         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
3187 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3189         thread: pacify GCC on Solaris 10
3190         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
3191         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
3192         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
3193         where pthread_t is unsigned int.
3195 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
3197         c-stack: avoid AS_IF
3198         Problem reported by Bruno Haible in:
3199         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
3200         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
3202         c-stack: pacify GCC 9.3.1 when using libsigsegv
3203         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
3205 2020-10-04  Bruno Haible  <bruno@clisp.org>
3207         localename: Fix a couple of "unused parameter" warnings.
3208         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
3209         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
3210         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
3211         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
3212         parameter list.
3214 2020-10-04  Bruno Haible  <bruno@clisp.org>
3216         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
3217         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
3218         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
3219         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
3220         HAVE_SNPRINTF_TRUNCATION_C99.
3221         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
3222         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
3224 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3226         c-stack: streamline Solaris configuration
3227         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
3228         the code is used only if a test for sigaltstack worked
3229         in some other way.
3230         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
3231         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
3232         heuristic does not work).
3233         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
3234         we no longer require the libsigsegv module.
3235         (Depends-on): Depend on havelib, not libsigsegv.
3237         c-stack: stop using SIGSTKSZ
3238         It’s been proposed to stop making SIGSTKSZ an integer constant:
3239         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
3240         Also, using SIGSTKSZ in #if did not conform to current POSIX.
3241         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
3242         * lib/c-stack.c (SIGSTKSZ): Remove.
3243         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
3244         All uses changed.
3246         c-stack: fix libsigsegv typo
3247         Problem reported by Bruno Haible in:
3248         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
3249         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
3250         to be used only on Solaris (exactly where it is not needed!).
3252 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
3254         MODULES.html.sh: Fix typo.
3255         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
3257 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
3259         version-etc: pacify Oracle Studio 12.6
3260         Without this patch, it complains: "version-etc.h", line 64:
3261         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
3262         pedantic mode.
3263         * lib/version-etc.h (version_etc): Port to C89 macro rules.
3265 2020-09-27  Bruno Haible  <bruno@clisp.org>
3267         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
3268         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3269         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3270         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
3271         ourselves; don't use AC_DECL_SYS_SIGLIST.
3273 2020-09-27  Bruno Haible  <bruno@clisp.org>
3275         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
3276         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3277         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3278         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
3279         instead of _AC_COMPUTE_INT.
3281 2020-09-27  Bruno Haible  <bruno@clisp.org>
3283         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
3284         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3285         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
3286         Based on a patch by Paul Eggert.
3287         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
3288         test STDC_HEADERS. Assume <stdlib.h> exists.
3289         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
3291 2020-09-27  Bruno Haible  <bruno@clisp.org>
3293         Enable testing of prereleases of Autoconf 2.70.
3294         Suggested by Paul Eggert in
3295         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
3296         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
3297         >= 2.70.
3298         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
3299         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
3300         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
3302 2020-09-27  Bruno Haible  <bruno@clisp.org>
3304         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
3305         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3306         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3307         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
3308         AC_PROG_CC, depending on the Autoconf version.
3310 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
3312         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
3313         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
3314         of AC_HELP_STRING.
3315         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
3317 2020-09-27  Bruno Haible  <bruno@clisp.org>
3319         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
3320         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
3321         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
3322         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
3324 2020-09-27  Bruno Haible  <bruno@clisp.org>
3326         extensions: Simplify last commit.
3327         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
3328         AC_GNU_SOURCE ever.
3330 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3332         extensions: require AC_GNU_SOURCE only for <=2.63
3333         Problem reported by Gavin Smith in:
3334         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
3335         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
3336         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
3337         shouldn’t be needed after that, and Autoconf 2.70 complains about
3338         it being obsolete.
3340 2020-09-26  Bruno Haible  <bruno@clisp.org>
3342         regex-tests: Make test more robust.
3343         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
3344         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
3346 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3348         regex-tests: fix possible Turkish false-alarm
3349         * modules/regex-tests (Depends-on): Add wctype-h.
3350         * tests/test-regex.c: Include wctype.h.
3351         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
3352         as the Turkish regex test assumes this.
3354         regex-tests: fix test and add debug output
3355         Perhaps this will fix the recent grep test failure reported at:
3356         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
3357         At least, the debug output should help narrow down the failure.
3358         * tests/test-regex.c: Include stdarg.h, stdio.h.
3359         (exit_status): New var.
3360         (report_error): New function.
3361         (main): Use it to report failures to stdout instead of merely
3362         exiting with some nonzero status.  The status info alone isn’t
3363         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
3364         regex before calling re_compile_pattern, fixing a portability bug.
3366         regex: no longer match glibc
3367         * config/srclist.txt: Comment out regex_internal.c for now.
3369 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3371         regex: fix ignore-case Turkish bug
3372         * lib/regex_internal.c (build_wcs_upper_buffer):
3373         Do not assume that converting single-byte character to upper
3374         yields a single-byte character.  This is not true for Turkish,
3375         where towupper (L'i') yields L'İ', which is not single-byte.
3376         * tests/test-regex.c (main): Test for this bug.
3378         regex: port to weird isascii platforms
3379         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
3381 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3383         dfa: make dfasupported a global function
3384         * lib/dfa.c (dfasupported): Rename, and make it global.
3385         Update caller.
3386         * lib/dfa.h (dfasupported): Add prototype.
3388 2020-09-20  Bruno Haible  <bruno@clisp.org>
3390         canonicalize: Add support for UNC file names on native Windows.
3391         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
3392         <https://savannah.gnu.org/bugs/?59079>.
3393         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
3394         extend the prefix to include the server.
3396 2020-09-20  Bruno Haible  <bruno@clisp.org>
3398         supersede: Fix test failures on native Windows.
3399         * lib/supersede.c (open_supersede): Handle non-regular files on native
3400         Windows like on Solaris.
3401         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
3403 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3405         test-stdalign: test Oracle Studio better
3406         * doc/posix-headers/stdalign.texi (stdalign.h):
3407         * tests/test-stdalign.c (main):
3408         Sun Studio Bug #2125432 seems to be fixed.
3410         c-stack: output diagnostic in single 'write'
3411         * lib/c-stack.c (die): In the typical case, use just one 'write'
3412         syscall to output the diagnostic, as this lessens interleaving.
3413         (die, c_stack_action): Assume C99.
3414         * modules/c-stack (Depends-on): Add c99, mempcpy.
3416         c-stack: improve checking if !libsigsegv
3417         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
3418         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
3419         unlikely pointer overflow.  Also, fix some obsolete code and typos.
3420         I found these problems while looking into this bug report:
3421         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
3422         * lib/c-stack.c: Include c-stack.h first, to test interface.
3423         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
3424         max_align_t, intprops.h for INT_ADD_WRAPV.
3425         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
3426         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
3427         for libsigsegv 2.8 and earlier since the bug should be fixed
3428         after that.
3429         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
3430         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
3431         Assume sprintf returns byte count; this assumption is safe now.
3432         (page_size): New static volatile variable, since sysconf isn’t
3433         documented to be async-signal-safe on Solaris.  This variable is
3434         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
3435         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
3436         SIGINFO_WORKS).
3437         (segv_handler): Use it if present.  Never report null pointer
3438         dereference as a stack overflow.  Check for (unlikely) unsigned
3439         and/or pointer overflow.
3440         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
3441         Rename cache variables to gl_cv_sys_stack_overflow_works
3442         and gl_cv_sys_xsi_stack_overflow_heuristic.
3443         All uses changed.
3444         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
3445         c-stack no longer uses STACK_DIRECTION.
3446         Do not check for unistd.h, since we depend on unistd.
3447         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
3448         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
3449         stdbool, stddef.
3451 2020-09-20  Bruno Haible  <bruno@clisp.org>
3453         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
3454         * m4/musl.m4: Revert 2020-09-19 patch.
3455         * m4/setlocale_null.m4: Likewise.
3456         * modules/setlocale-null: Likewise.
3458 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
3459             Bruno Haible  <bruno@clisp.org>
3461         relocatable-prog: Fix for multiple relocatable library directories.
3462         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
3463         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
3464         being attached to a single one.
3466 2020-09-19  Jim Meyering  <meyering@fb.com>
3468         test-verify.c: avoid -Wshadow warnings
3469         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
3470         (enum): Capitalize member names. Adjust uses.
3472 2020-09-19  Bruno Haible  <bruno@clisp.org>
3474         havelib: Avoid linking with libc.a on GNU systems.
3475         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
3476         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
3477         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
3478         dependency_libs value of a .la file, ignore '-lc' options on GNU
3479         systems.
3481 2020-09-19  Bruno Haible  <bruno@clisp.org>
3483         Fix recognition of musl libc on Alpine Linux 3.10.
3484         Reported by Jeffrey Walton <noloader@gmail.com> in
3485         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
3486         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
3487         (gl_MUSL_LIBC): Require it.
3488         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
3489         * modules/setlocale-null (Files): Add m4/musl.m4.
3491 2020-09-19  Bruno Haible  <bruno@clisp.org>
3493         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
3494         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
3495         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
3496         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
3497         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
3498         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
3499         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
3500         or <threads.h>.
3501         (ITEMS, MAX_RESULT_LEN): New macros.
3502         (nl_langinfo_unlocked): New function.
3503         (gl_get_nl_langinfo_lock): New declaration.
3504         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
3505         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
3506         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
3507         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
3508         REPLACE_NL_LANGINFO.
3509         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
3510         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
3511         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
3512         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
3513         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
3515 2020-09-18  Bruno Haible  <bruno@clisp.org>
3517         fsusage, getaddrinfo: Produce more regular configure output.
3518         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
3519         corresponding AC_MSG_RESULT.
3520         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
3522 2020-09-18  Bruno Haible  <bruno@clisp.org>
3524         Add back gl_SILENT.
3525         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
3527 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3529         c-stack-tests: fix -fsanitize=undefined false alarm
3530         * tests/test-c-stack2.sh: Skip the test-harness self-test
3531         if ‘gcc -fsanitize=undefined’ is in use.
3533 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
3535         signalblocking: simplify and remove gl_SILENT
3536         gl_SILENT was problematic because if a trap was sprung, stderr
3537         generated during the trap was lost.  Avoid the problem by
3538         removing the need for gl_SILENT.
3539         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
3540         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
3541         Simplify, avoiding the need for gl_SILENT while preserving the
3542         ability of the user to override the value of the cache variable,
3543         now ac_cv_func_sigprocmask.
3545 2020-09-17  Bruno Haible  <bruno@clisp.org>
3547         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
3548         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
3549         (gl_SILENT): Use 'exec', not a compound statement, to redirect
3550         AS_MESSAGE_FD.
3552 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
3554         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
3555         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
3556         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
3557         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
3558         Define to 0.
3559         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
3560         Do not use __builtin_mul_overflow_p.
3562         libc-config: port __THROW to Ubuntu 4
3563         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
3564         for GCC 3.3.  Problem reported by Jeffrey Walton in:
3565         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
3566         The GCC 3.3.4 documentation says the attribute should work, but
3567         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
3568         little point or desire to research this circa-2004 platform further,
3569         so just avoid the attribute there.
3571 2020-09-17  Jim Meyering  <meyering@fb.com>
3573         test-dfa-match.sh: port timeout work-around to newer Busybox
3574         * tests/test-dfa-match.sh: Update timeout -t portability test to
3575         accommodate Busybox 1.30.0 and newer.
3577 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3579         fnmatch: adjust to match glibc fix
3580         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
3581         This does not affect Gnulib; it merely keeps Gnulib and glibc
3582         closer together, to help with any eventual merge, by incorporating
3583         a recent glibc patch.  The patch and the following commentary is
3584         by Andreas Schwab.
3585         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
3586         contains the index into the extra array, whereas wextra points
3587         into the extra array at this index, containing the length of the
3588         following collating sequence in the wide character representation.
3590 2020-09-16  Bruno Haible  <bruno@clisp.org>
3592         stat, fstat: Fix compilation error with old mingw headers.
3593         Reported by Eli Zaretskii <eliz@gnu.org> in
3594         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3595         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
3596         define it.
3598 2020-09-16  Bruno Haible  <bruno@clisp.org>
3600         stat, fstat: Fix when compiling for versions older than Windows Vista.
3601         Reported by Eli Zaretskii <eliz@gnu.org> in
3602         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3603         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
3604         that was originally set before we redefined it.
3605         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
3606         (gl_PREREQ_STAT): Require it.
3607         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
3609 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3611         dfa: remove dfa-heap-overrun workaround
3612         * lib/dfa.c (reorder_tokens): Go back to a single pass that
3613         both sets map[*] and does other things.  This reverts
3614         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
3615         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
3616         fixed the underlying problem.
3618 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3620         dfa: avoid use of uninitialized constraint
3621         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
3622         to zero here.
3623         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
3624         use of an uninitialized constraint by later code when ! (flags[i]
3625         & OPT_QUEUED) means merge_nfa_state was not called to initialize
3626         the constraint.  Problem found by running 'valgrind src/grep -E
3627         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
3629         dfa: assume C99 in reorder_tokens
3630         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
3632         dfa: fix dfa-heap-overrun failure
3633         * lib/dfa.c (reorder_tokens): When setting
3634         map[d->follows[i].elems[j].index], instead of incorrectly assuming
3635         that (i < d->follows[i].elems[j].index), use two loops, one to set
3636         the map array and the other to use it.  The incorrect assumption
3637         caused some elements to be missed, and this in turn caused grep's
3638         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
3639         with GCC.  I found this bug while investigating
3640         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
3641         and I think the bug also occurs on GNU/Linux but with more-subtle
3642         symptoms.  The bug predates the recent dfa.c changes; perhaps the
3643         recent changes make the bug more likely.
3645 2020-09-13  Bruno Haible  <bruno@clisp.org>
3647         parse-datetime: Make the build rule work with parallel 'make'.
3648         Reported by Daiki Ueno <ueno@gnu.org> in
3649         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
3650         * modules/parse-datetime (Makefile.am): Use a phony target and the
3651         general idiom for rules that produce multiple files.
3653 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
3655         getpass: Check for nonnull prompt argument while avoiding warnings.
3656         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
3657         (getpass) [!_WIN32]: Print prompt only if nonnull.
3659 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3661         dfa: epsilon-closure tweaks (Bug#40634)
3662         Rename BACKWORD to BACKWARD consistently.
3663         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
3664         (addtok_mb): Redo slightly to make it act more like a state machine.
3665         Check depth only when it increases.
3666         (epsclosure): Let the switch test the tokens.
3667         (dfaanalyze): Cache tindex.  Simplify position loops.
3668         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
3669         only if it is not null, since we're testing that anyway.
3670         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
3672 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3674         dfa: use backward set in removal of epsilon closure
3675         When removing in epsilon closure, the code searched all nodes
3676         sequentially, and this was slow for some cases.  Build a backward
3677         set before search, and only check previous position with the set.
3678         Problem reported in <https://bugs.gnu.org/40634>.
3679         * lib/dfa.c (struct dfa): New member 'epsilon'.
3680         (addtok_mb): Check whether a pattern has epsilon node or not.
3681         (epsclosure): New arg BACKWORD; caller changed.  When removing
3682         epsilon node and reconnecting, check only previous positions.
3683         Treat BEG as if it were character.
3684         (dfaanalyze): Build backward set.
3686 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3688         canonicalize: fix pointer indexing bugs
3689         Problem reported by Florian Weimer in:
3690         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
3691         * lib/canonicalize-lgpl.c (__realpath):
3692         * lib/canonicalize.c (canonicalize_filename_mode):
3693         Do not generate a pointer past the end of the array.
3694         * lib/canonicalize.c (canonicalize_filename_mode):
3695         Do not use a pointer after passing it to realloc.
3697 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3699         tempname: help merge with glibc
3700         Inspired by draft patches by Adhemerval Zanella in:
3701         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
3702         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
3703         * lib/tempname.c: Include stdalign.h, time.h.
3704         If _LIBC, do not include random-bits.h.
3705         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
3706         (RANDOM_BITS): Remove, replacing with ...
3707         (random_bits): ... this new static function.  All uses changed.
3708         Add entropy each time if getrandom is not supported.
3709         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
3710         Assume 64-bit support a la C99.
3711         (try_tempname_len): Take advantage of ASLR when initializing
3712         random value.
3713         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
3715         getcwd: merge recent glibc changes
3716         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
3717         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
3719 2020-09-06  Bruno Haible  <bruno@clisp.org>
3721         attribute: Clarify which file to include.
3722         * modules/attribute (Include): Add "attribute.h".
3724 2020-09-06  Bruno Haible  <bruno@clisp.org>
3726         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
3727         * lib/pipe-filter-ii.c: Include <process.h>.
3728         * lib/pipe-filter-gi.c: Likewise.
3730 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3732         verify: avoid __builtin_assume
3733         Our latest attempt to use Clang’s __builtin_assume caused a crash
3734         in GNU Emacs that we spent quite some time tracking down as being
3735         caused by the switch to __builtin_assume.  It’s not known whether
3736         the crash is due is a Clang bug or a portability bug in GNU Emacs.
3737         For now, play it safe and avoid __builtin_assume.
3738         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
3739         (assume): Simplify by not trying to use Clang’s __builtin_assume.
3741 2020-09-05  Bruno Haible  <bruno@clisp.org>
3743         Fix several "warning: no previous prototype for function".
3744         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
3745         in front of the declaration of the lookup function in
3746         unicase/locale-languages.h.
3747         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
3748         unictype/bidi_byname.h.
3749         * modules/unictype/category-byname (Makefile.am): Likewise in
3750         unictype/categ_byname.h.
3751         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
3752         unictype/combiningclass_byname.h.
3753         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
3754         unictype/joininggroup_byname.h.
3755         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
3756         unictype/joiningtype_byname.h.
3757         * modules/unictype/property-byname (Makefile.am): Likewise in
3758         unictype/pr_byname.h.
3759         * modules/unictype/scripts (Makefile.am): Likewise in
3760         unictype/scripts_byname.h.
3761         * modules/uninorm/composition (Makefile.am): Likewise in
3762         uninorm/composition-table.h.
3764 2020-09-05  Bruno Haible  <bruno@clisp.org>
3766         select: Fix "warning: no previous prototype for function".
3767         * lib/select.c: Include <sys/select.h>.
3769 2020-09-05  Bruno Haible  <bruno@clisp.org>
3771         Use module 'c99' when needed for variadic macros with '...' syntax.
3772         * modules/crypto/sm3 (Depends-on): Add c99.
3774 2020-09-05  Bruno Haible  <bruno@clisp.org>
3776         Use module 'c99' when needed for subobject initializer syntax.
3777         * modules/tempname (Depends-on): Add c99.
3778         * modules/nstrftime-tests (Depends-on): Likewise.
3780 2020-09-05  Bruno Haible  <bruno@clisp.org>
3782         Use module 'c99' when needed for declaration-after-statement syntax.
3783         * modules/backup-rename (Depends-on): Add c99.
3784         * modules/backupfile (Depends-on): Likewise.
3785         * modules/bitset-tests (Depends-on): Likewise.
3786         * modules/bitsetv (Depends-on): Likewise.
3787         * modules/c-strtod (Depends-on): Likewise.
3788         * modules/c-strtold (Depends-on): Likewise.
3789         * modules/clean-temp (Depends-on): Likewise.
3790         * modules/copy-file (Depends-on): Likewise.
3791         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
3792         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
3793         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
3794         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
3795         * modules/crypto/md5-buffer (Depends-on): Likewise.
3796         * modules/crypto/md5-tests (Depends-on): Likewise.
3797         * modules/crypto/sha1-buffer (Depends-on): Likewise.
3798         * modules/crypto/sha1-tests (Depends-on): Likewise.
3799         * modules/crypto/sha256-buffer (Depends-on): Likewise.
3800         * modules/crypto/sha256-tests (Depends-on): Likewise.
3801         * modules/crypto/sha512-buffer (Depends-on): Likewise.
3802         * modules/crypto/sha512-tests (Depends-on): Likewise.
3803         * modules/diffseq (Depends-on): Likewise.
3804         * modules/fatal-signal (Depends-on): Likewise.
3805         * modules/fchmodat (Depends-on): Likewise.
3806         * modules/fstrcmp (Depends-on): Likewise.
3807         * modules/fsusage (Depends-on): Likewise.
3808         * modules/fts (Depends-on): Likewise.
3809         * modules/fts-tests (Depends-on): Likewise.
3810         * modules/getumask (Depends-on): Likewise.
3811         * modules/git-merge-changelog (Depends-on): Likewise.
3812         * modules/hash-map (Depends-on): Likewise.
3813         * modules/hash-set (Depends-on): Likewise.
3814         * modules/lchmod (Depends-on): Likewise.
3815         * modules/libgmp-tests (Depends-on): Likewise.
3816         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
3817         * modules/linkedhash-map (Depends-on): Likewise.
3818         * modules/linkedhash-set (Depends-on): Likewise.
3819         * modules/long-options (Depends-on): Likewise.
3820         * modules/mbrtoc32 (Depends-on): Likewise.
3821         * modules/memchr2-tests (Depends-on): Likewise.
3822         * modules/memmem-tests (Depends-on): Likewise.
3823         * modules/memrchr-tests (Depends-on): Likewise.
3824         * modules/mktime-internal (Depends-on): Likewise.
3825         * modules/nstrftime (Depends-on): Likewise.
3826         * modules/opendirat (Depends-on): Likewise.
3827         * modules/parse-datetime (Depends-on): Likewise.
3828         * modules/quotearg-simple-tests (Depends-on): Likewise.
3829         * modules/same (Depends-on): Likewise.
3830         * modules/supersede (Depends-on): Likewise.
3831         * modules/supersede-tests (Depends-on): Likewise.
3832         * modules/time_rz (Depends-on): Likewise.
3833         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
3834         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
3835         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
3836         * modules/xalloc (Depends-on): Likewise.
3837         * modules/xnanosleep (Depends-on): Likewise.
3839 2020-09-05  Bruno Haible  <bruno@clisp.org>
3841         Fix "warning: array initialized from parenthesized string constant".
3842         * tests/test-memmem.c (main): Remove parentheses around string constant.
3843         * tests/test-c-strcasestr.c (main): Likewise.
3844         * tests/test-strcasestr.c (main): Likewise.
3846 2020-09-05  Bruno Haible  <bruno@clisp.org>
3848         argmatch tests: Fix ISO C compliance warning.
3849         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
3850         invocation.
3852 2020-09-05  Bruno Haible  <bruno@clisp.org>
3854         uniname/uniname: Fix -Wshadow warning.
3855         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
3856         * modules/uniname/uniname (Depends-on): Add c99.
3858 2020-09-05  Bruno Haible  <bruno@clisp.org>
3860         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
3861         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
3862         argument to size_t.
3863         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
3864         n to size_t.
3866 2020-09-05  Bruno Haible  <bruno@clisp.org>
3868         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
3869         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
3870         u32_uctomb): Change type of last argument to ptrdiff_t.
3871         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
3872         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
3873         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
3874         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
3875         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
3877 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3879         manywarnings: remove -Wchkp and -Wabi from C++ too
3880         Suggested by Reuben Thomas in:
3881         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
3882         At some point somebody should merge the many other manywarnings-c.m4
3883         changes into manywarnings-c++.m4 too, e.g.,
3884         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
3885         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
3886         Remove -Wchkp, -Wabi.
3888 2020-08-30  Bruno Haible  <bruno@clisp.org>
3890         strerrorname_np: Add tests.
3891         * tests/test-strerrorname_np.c: New file.
3892         * modules/strerrorname_np-tests: New file.
3894         strerrorname_np: New module.
3895         * lib/string.in.h (strerrorname_np): New declaration.
3896         * lib/strerrorname_np.c: New file.
3897         * m4/strerrorname_np.m4: New file.
3898         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
3899         is declared.
3900         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
3901         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3902         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
3903         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3904         * modules/strerrorname_np: New file.
3905         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
3906         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
3907         the glibc 2.32 bug.
3909 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3911         perror, strerror_r: remove unportable tests
3912         Problem reported by Florian Weimer in:
3913         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
3914         * tests/test-perror2.c (main):
3915         * tests/test-strerror_r.c (main): Omit unportable tests.
3917 2020-08-26  Bruno Haible  <bruno@clisp.org>
3919         stdint, wchar, wctype-h: Change configure message.
3920         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
3921         enough..." instead of "checking whether wint_t is too small...".
3923 2020-08-26  Bruno Haible  <bruno@clisp.org>
3925         time_rz: Change configure message.
3926         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
3927         near extrema..." instead of "checking whether localtime loops forever
3928         near extrema...".
3930 2020-08-26  Bruno Haible  <bruno@clisp.org>
3932         stdint: Change configure message.
3933         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
3934         without ISO C predefines..." instead of "checking whether stdint.h
3935         predates C++11...".
3937 2020-08-26  Bruno Haible  <bruno@clisp.org>
3939         socketlib: Change configure message.
3940         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
3941         instead of "checking if we need to call WSAStartup in winsock2.h and
3942         -lws2_32...".
3944 2020-08-26  Bruno Haible  <bruno@clisp.org>
3946         include_next: Change configure message.
3947         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
3948         code line length is unlimited..." instead of "checking whether system
3949         header files limit the line length...".
3951 2020-08-26  Bruno Haible  <bruno@clisp.org>
3953         getcwd: Change configure message.
3954         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
3955         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
3956         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
3958 2020-08-26  Bruno Haible  <bruno@clisp.org>
3960         chdir-long: Change configure message.
3961         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
3962         system supports file names of any length..." instead of "checking
3963         whether this system has an arbitrary file name length limit...".
3964         Set gl_cv_have_unlimited_file_name_length instead of
3965         gl_cv_have_arbitrary_file_name_length_limit.
3966         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
3968 2020-08-26  Bruno Haible  <bruno@clisp.org>
3970         ceill: Change configure message.
3971         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
3972         instead of "checking whether ceill() breaks with small values...".
3974 2020-08-26  Bruno Haible  <bruno@clisp.org>
3976         iconv: Change configure message.
3977         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
3978         with its POSIX signature..." instead of "checking for iconv
3979         declaration...". Remove K&R C support.
3981 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3983         getcwd: help the merge back into glibc
3984         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
3985         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
3986         The idea is to make it easier for Gnulib lib/getcwd.c to match
3987         glibc io/getcwd-generic.c.
3988         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
3989         Include not-cancel.h.
3990         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
3991         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
3992         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
3993         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
3994         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
3995         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
3996         (__getcwd_generic): Rename from __getcwd.
3997         Use the abovementioned macros for consistency with glibc.
3998         (weak_alias): Remove.
4000 2020-08-25  Bruno Haible  <bruno@clisp.org>
4002         verify: Avoid warnings when assume(0) is used.
4003         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
4004         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
4005         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
4006         the constant 0.
4007         * tests/test-verify.c (f): New function.
4008         (state): New type.
4009         (test_assume_expressions, test_assume_optimization,
4010         test_assume_noreturn): New functions.
4012 2020-08-25  Bruno Haible  <bruno@clisp.org>
4014         fstrcmp: Clarification regarding NOTE_ORDERED.
4015         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
4017 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4019         diffseq: new option NOTE_ORDERED
4020         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
4021         * NEWS: Mention this.
4022         * lib/diffseq.h (NOTE_ORDERED): New macro.
4023         (IF_LINT2): Remove; no longer needed.
4024         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
4025         subproblem and iterate to do the larger.
4027 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4029         sys_types: let Autoconf 2.70 do pid_t
4030         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
4031         only for Autoconf versions 2.69 and earlier, since 2.70
4032         will be fixed.
4034 2020-08-23  Bruno Haible  <bruno@clisp.org>
4036         tests: Don't assume that pid_t fits in an 'int'.
4037         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
4038         of 'int'.
4039         * tests/test-nonblocking-socket-main.c (main): Likewise.
4041         sys_types: Fix definition of pid_t on 64-bit MSVC.
4042         * m4/pid_t.m4: New file.
4043         * modules/sys_types (Files): Add it.
4044         * modules/dirent (Files): Likewise.
4045         * modules/fcntl-h (Files): Likewise.
4046         * modules/sched (Files): Likewise.
4047         * modules/signal-h (Files): Likewise.
4048         * modules/spawn (Files): Likewise.
4049         * modules/sys_stat (Files): Likewise.
4050         * modules/sys_wait (Files): Likewise.
4051         * modules/termios (Files): Likewise.
4052         * modules/unistd (Files): Likewise.
4054 2020-08-23  Bruno Haible  <bruno@clisp.org>
4056         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
4057         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
4058         program.
4060 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4062         intprops: be consistent about +X vs X+0
4063         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
4065         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
4066         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
4067         is a bit-field, on older GCC or non-GCC compilers where we do
4068         things ourselves instead of using __builtin_mul_overflow.
4069         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
4070         to applying sizeof to a bit-field.
4071         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
4072         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
4074 2020-08-23  Bruno Haible  <bruno@clisp.org>
4076         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
4077         Reported by Jörg Sonnenberger <joerg@netbsd.org>
4078         via Thomas Klausner <tk@giga.or.at> in
4079         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
4080         * lib/supersede.c (open_supersede): When opening an existing non-regular
4081         file on Solaris, use O_CREAT although it should not be necessary.
4083 2020-08-23  Bruno Haible  <bruno@clisp.org>
4085         verify: Make assume work on bit field expressions (regr. 2020-08-22).
4086         Reported by Benno Schulenberg <bensberg@telfort.nl> in
4087         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
4088         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
4089         variable.
4091 2020-08-23  Bruno Haible  <bruno@clisp.org>
4093         libc-config: Improve comments.
4094         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
4095         cannot use clang's __diagnose_if__ here.
4097 2020-08-22  Bruno Haible  <bruno@clisp.org>
4099         verify: Do use __builtin_assume on clang.
4100         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
4101         variable in a statement expression.
4103 2020-08-22  Bruno Haible  <bruno@clisp.org>
4105         sig2str: Add more signals.
4106         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
4108 2020-08-22  Bruno Haible  <bruno@clisp.org>
4110         doc: Update for OpenBSD 6.0, 6.7.
4111         * doc/*/*.texi: Update.
4112         * m4/printf.m4: Update comments and cross-compilation guesses.
4113         * m4/ceill.m4: Update comments.
4114         * m4/getcwd-abort-bug.m4: Likewise.
4115         * m4/ilogb.m4: Likewise.
4116         * m4/ilogbf.m4: Likewise.
4117         * m4/langinfo_h.m4: Likewise.
4118         * m4/modf.m4: Likewise.
4119         * m4/modff.m4: Likewise.
4121 2020-08-22  Bruno Haible  <bruno@clisp.org>
4123         doc: Mention sig2str module.
4124         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
4126 2020-08-21  Bruno Haible  <bruno@clisp.org>
4128         sigdescr_np: Add tests.
4129         * tests/test-sigdescr_np.c: New file.
4130         * modules/sigdescr_np-tests: New file.
4132         sigdescr_np: New module.
4133         * lib/string.in.h (sigdescr_np): New declaration.
4134         * lib/sigdescr_np.c: New file.
4135         * m4/sigdescr_np.m4: New file.
4136         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
4137         declared.
4138         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
4139         HAVE_SIGDESCR_NP.
4140         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
4141         HAVE_SIGDESCR_NP.
4142         * modules/sigdescr_np: New file.
4143         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
4144         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
4146 2020-08-20  Bruno Haible  <bruno@clisp.org>
4148         sigabbrev_np: Add tests.
4149         * tests/test-sigabbrev_np.c: New file.
4150         * modules/sigabbrev_np-tests: New file.
4152         sigabbrev_np: New module.
4153         * lib/string.in.h (sigabbrev_np): New declaration.
4154         * lib/sigabbrev_np.c: New file.
4155         * m4/sigabbrev_np.m4: New file.
4156         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
4157         declared.
4158         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
4159         HAVE_SIGABBREV_NP.
4160         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
4161         HAVE_SIGABBREV_NP.
4162         * modules/sigabbrev_np: New file.
4163         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
4164         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
4166 2020-08-20  Bruno Haible  <bruno@clisp.org>
4168         stdalign tests: Skip test with AIX xlclang.
4169         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
4171 2020-08-20  Bruno Haible  <bruno@clisp.org>
4173         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
4174         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
4175         workaround as for GCC versions < 4.9.
4177 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4179         Sync up ProjectQuirks comments and documentation
4180         Transform the ProjectQuirks comments into a docstring so that it can
4181         be accessed from python as ProjectQuirks.__doc__ and harmonize
4182         descriptions with the documentation.
4183         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
4184         Transform comments into a docstring.
4185         * doc/vcs-to-changelog.texi: Sync up description with comments.
4187         Split ProjectQuirks out into its own file
4188         ProjectQuirks is used by external quirks files and importing it from
4189         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
4190         is cleaner to put it in its own file anyway.
4191         * build-aux/vcstocl/projectquirks.py: A new file...
4192         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
4193         we move ProjectQuirks and import the file.
4195 2020-08-19  Bruno Haible  <bruno@clisp.org>
4197         uchar: Fix compilation errors in C++ mode on macOS.
4198         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
4199         system header file before attempting to use 'char16_t' and 'char32_t'.
4201 2020-08-19  Bruno Haible  <bruno@clisp.org>
4203         ansi-c++-opt: Work around an autoconf macro reordering problem.
4204         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
4205         section.
4207 2020-08-19  Bruno Haible  <bruno@clisp.org>
4209         math C++ tests: Fix compilation error in with GCC 10.
4210         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
4211         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
4212         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
4214 2020-08-19  Bruno Haible  <bruno@clisp.org>
4216         uchar: Fix compilation errors in C++ mode on OpenBSD.
4217         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
4218         CXX_HAS_UCHAR_TYPES is 1.
4219         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
4220         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
4221         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
4223 2020-08-19  Bruno Haible  <bruno@clisp.org>
4225         Fix compilation errors in C++ mode on OpenBSD.
4226         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
4227         OpenBSD with clang, use the approach without C preprocessor macro.
4229 2020-08-18  Bruno Haible  <bruno@clisp.org>
4231         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
4232         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
4233         AC_LANG_POP.
4235 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
4237         verify: avoid __built_assume on Clang
4238         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
4239         Clang 9 incorrectly diagnoses arguments as having side effects
4240         even when they do not.  I guess Clang 9 considers any function
4241         call as if it had a side effect here.
4243         libc-config: avoid Clang’s __diagnose_if__
4244         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
4245         For now, do not use __diagnose_if__ here, as this fails
4246         on Fedora 31 with Clang 9.0.1, with diagnostic
4247         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
4248         size than length of destination buffer
4249         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
4250         for functions that are not called?
4252         careadlinkat: speedup for GCC 10 with GCC_LINT
4253         Inspired by a suggestion by Bruno Haible in:
4254         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
4255         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
4256         (readlink_stk): New function, with most of the old careadlinkat
4257         contents and with a new STACK_BUF arg.  Inline it in GCC 10
4258         if GCC_LINT.
4259         (careadlinkat): Use the new function for everything but the
4260         stack buffer.
4262         * build-aux/gcc-warning.spec: Update comments.
4264 2020-08-17  Bruno Haible  <bruno@clisp.org>
4266         Assume autoconf >= 2.64.
4267         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
4269 2020-08-17  Bruno Haible  <bruno@clisp.org>
4271         Revert autoupdate's revert.
4272         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
4274 2020-08-17  Bruno Haible  <bruno@clisp.org>
4276         uchar C++ tests: Fix build error on FreeBSD 12.
4277         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
4278         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
4279         <cuchar> does not exist.
4281 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
4283         time_rz: remove unused functions
4284         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
4286         time_rz: fix issues with mktime_z failures
4287         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
4288         Use a cheaper tm_yday test for failed mktime.
4290 2020-08-16  Bruno Haible  <bruno@clisp.org>
4292         intprops test: Strengthen on clang.
4293         * tests/test-intprops.c (VERIFY): Use verify_stmt.
4295 2020-08-16  Bruno Haible  <bruno@clisp.org>
4297         nstrftime: Guide inlining also on clang.
4298         * lib/nstrftime.c (iso_week_days): Inline also on clang.
4300 2020-08-16  Bruno Haible  <bruno@clisp.org>
4302         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
4303         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
4305 2020-08-16  Bruno Haible  <bruno@clisp.org>
4307         log2l: Disable MSVC workaround on clang.
4308         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
4310 2020-08-16  Bruno Haible  <bruno@clisp.org>
4312         argp: Emit a warning also with clang.
4313         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
4314         clang.
4316 2020-08-16  Bruno Haible  <bruno@clisp.org>
4318         libc-config: Enable __REDIRECT macro also on clang.
4319         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
4320         __ASMNAME2): Define on clang like on GCC.
4322 2020-08-16  Bruno Haible  <bruno@clisp.org>
4324         regex: Use initializer shorthand syntax also with clang.
4325         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
4326         with clang.
4328 2020-08-16  Bruno Haible  <bruno@clisp.org>
4330         regex: Use space optimization also with clang.
4331         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
4332         with clang.
4334 2020-08-16  Bruno Haible  <bruno@clisp.org>
4336         Use _Static_assert and static_assert primitives when present on clang.
4337         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
4338         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
4339         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
4341 2020-08-16  Bruno Haible  <bruno@clisp.org>
4343         Use 'throw ()' for optimization in C++ mode also on clang.
4344         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
4345         * lib/getopt-cdefs.in.h (__THROW): Likewise.
4346         * lib/md5.h (__THROW): Likewise.
4348 2020-08-16  Bruno Haible  <bruno@clisp.org>
4350         absolute-header: Add support for clang.
4351         * modules/absolute-header (Makefile.am): Include '__clang__' in the
4352         HAVE_INCLUDE_NEXT expression.
4354 2020-08-16  Bruno Haible  <bruno@clisp.org>
4356         Fix "warning: implicitly declaring library function 'strcasecmp'".
4357         * lib/argp-help.c: Include <strings.h>.
4359 2020-08-16  Bruno Haible  <bruno@clisp.org>
4361         stdio: Don't break attribute 'scanf' on clang.
4362         * lib/stdio.in.h (scanf): Treat clang like GCC.
4364 2020-08-16  Bruno Haible  <bruno@clisp.org>
4366         Use __restrict also on clang.
4367         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
4368         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
4369         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
4371 2020-08-16  Bruno Haible  <bruno@clisp.org>
4373         pthread-spin: Use GCC built-ins also on clang.
4374         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
4375         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
4376         also on clang.
4378 2020-08-16  Bruno Haible  <bruno@clisp.org>
4380         asyncsafe-spin tests: Update.
4381         * tests/test-asyncsafe-spin2.c: Update to match the change in
4382         lib/asyncsafe-spin.c from 2020-08-11.
4384 2020-08-16  Bruno Haible  <bruno@clisp.org>
4386         setenv: Use tree code also with clang.
4387         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
4389 2020-08-16  Bruno Haible  <bruno@clisp.org>
4391         math: Optimize signbit also on clang.
4392         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
4393         on clang.
4395 2020-08-16  Bruno Haible  <bruno@clisp.org>
4397         avltreehash-list, rbtreehash-list: Optimize also on clang.
4398         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
4399         __builtin_expect also on clang.
4401 2020-08-16  Bruno Haible  <bruno@clisp.org>
4403         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
4404         * lib/socket.c: Use WSASocketW, not WSASocketA.
4406         Fix "warning: format specifies type 'unsigned long'".
4407         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
4408         argument to match the format directive.
4410         Fix "warning: no case matching constant switch condition '0'".
4411         * tests/test-fcntl.c (check_flags): Add a 'default' case.
4413         Fix "warning: integer overflow in expression".
4414         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
4415         remove a 'long' overflow.
4417         Fix "warning: "getpagesize" redefined".
4418         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
4419         macro.
4421         Fix "warning: implicitly declaring library function 'strncasecmp'".
4422         * lib/strptime.c: Include <strings.h>.
4424         Fix "warning: 'snprintf' macro redefined".
4425         * lib/strerror_r.c (snprintf): Undefine before redefining.
4427         Fix "warning: address of array 'locale' will always evaluate to 'true'".
4428         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
4430         Fix "warning: '__stat64' macro redefined".
4431         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
4433         Fix "warning: 'format' attribute argument not supported: rpl_printf".
4434         * lib/stdio.in.h (printf): Treat clang like GCC.
4436         Fix "warning: attribute declaration must precede definition" with clang.
4437         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
4438         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
4439         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
4440         on non-glibc systems.
4441         * lib/netdb.in.h (gai_strerror): Likewise.
4442         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
4443         * lib/sys_stat.in.h (fstat): Likewise.
4444         * lib/utime.in.h (utime): Likewise.
4446         Fix undesired warnings.
4447         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
4448         clang.
4450 2020-08-16  Bruno Haible  <bruno@clisp.org>
4452         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
4453         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
4454         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
4455         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
4456         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
4458 2020-08-16  Bruno Haible  <bruno@clisp.org>
4460         Don't use Autoconf quadrigraphs.
4461         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
4462         Autoconf quadrigraph.
4463         * m4/free.m4 (gl_FUNC_FREE): Likewise.
4464         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
4465         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
4466         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
4467         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4468         * m4/math_h.m4 (gl_MATH_H): Likewise.
4469         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4471 2020-08-16  Bruno Haible  <bruno@clisp.org>
4473         Fix quoting of AC_LANG_PROGRAM arguments.
4474         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
4475         arguments through [[...]].
4476         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
4477         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
4478         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
4479         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
4480         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
4481         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4482         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
4483         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4484         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
4485         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4486         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4487         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
4488         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4490 2020-08-16  Bruno Haible  <bruno@clisp.org>
4492         Assume autoconf >= 2.64.
4493         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
4494         * DEPENDENCIES: Require Autoconf 2.64 or newer.
4495         * NEWS: Mention the changed requirement.
4496         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
4497         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
4498         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
4499         variables.
4500         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4501         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
4502         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
4503         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
4504         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
4505         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
4506         Likewise.
4507         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
4508         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
4509         * m4/configmake.m4: Update comment.
4511 2020-08-16  Bruno Haible  <bruno@clisp.org>
4513         sys_ioctl: Simplify.
4514         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
4515         AC_INCLUDES_DEFAULT.
4517 2020-08-16  Bruno Haible  <bruno@clisp.org>
4519         Fix quoting of AC_LANG_SOURCE arguments.
4520         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
4521         GL_NOCRASH expansion.
4522         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
4523         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4524         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4525         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4526         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4528 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4530         nstrftime: be more predictable about errno
4531         This aligns nstrftime better with draft POSIX 202x strftime.
4532         * lib/nstrftime.c: Include errno.h.
4533         (width_add, __strftime_internal): Set errno on failure,
4534         and preserve it on success.  Check for mktime_z failure.
4535         * modules/nstrftime (Depends-on): Add errno.
4536         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
4537         * tests/test-nstrftime.c: Include intprops.h, limits.h.
4538         (errno_test): New test function.
4539         (main): Call it.
4541 2020-08-15  Bruno Haible  <bruno@clisp.org>
4543         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
4544         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
4545         from dependency analysis first.
4547 2020-08-15  Bruno Haible  <bruno@clisp.org>
4549         Determine asm output option and filename suffix for MSVC/clang.
4550         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
4551         clang-cl.
4553 2020-08-15  Bruno Haible  <bruno@clisp.org>
4555         doc: Update for MSVC/clang.
4556         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
4557         that MSVC 14 does not have.
4559 2020-08-15  Bruno Haible  <bruno@clisp.org>
4561         Revert autoupdate's revert.
4562         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
4564 2020-08-15  Bruno Haible  <bruno@clisp.org>
4566         frexpl: Fix configuration test result on MSVC.
4567         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
4568         zero.
4570 2020-08-15  Bruno Haible  <bruno@clisp.org>
4572         Support compiling without -loldnames on native Windows.
4573         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
4574         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
4575         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
4576         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
4577         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
4578         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
4579         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
4580         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
4581         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
4582         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
4583         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
4584         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
4585         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
4586         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
4587         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
4588         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
4589         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4590         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4591         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
4592         Likewise.
4593         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
4594         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4595         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
4596         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
4597         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
4598         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
4599         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
4600         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
4601         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
4602         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
4603         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
4604         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
4605         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
4606         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4607         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
4608         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
4609         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4610         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4611         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
4612         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4613         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
4614         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
4615         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4616         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4617         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4618         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4619         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
4620         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
4621         test for getcwd.
4622         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
4623         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
4624         with GL_MDA_DEFINES.
4625         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
4626         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
4627         prefixed symbol.
4628         * lib/search.in.h (lfind, lsearch): Likewise.
4629         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
4630         Likewise.
4631         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
4632         * lib/string.in.h (memccpy, strdup): Likewise.
4633         * lib/sys_stat.in.h (chmod, umask): Likewise.
4634         * lib/time.in.h (tzset): Likewise.
4635         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
4636         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
4637         read, rmdir, swab, unlink, write): Likewise.
4638         * lib/utime.in.h (utime): Likewise.
4639         * lib/wchar.in.h (wcsdup): Likewise.
4640         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
4641         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
4642         rpl_-prefixed macro.
4643         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
4644         * lib/close.c (close_nothrow): On native Windows, use _close.
4645         * lib/creat.c (orig_creat): On native Windows, use _creat.
4646         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
4647         * lib/dup2.c (dup2_nothrow): Use _dup2.
4648         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
4649         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
4650         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
4651         * lib/open.c (orig_open): On native Windows, use _open.
4652         * lib/read.c (read_nothrow): Use _read.
4653         * lib/rmdir.c: On native Windows, use _rmdir.
4654         * lib/unlink.c: On native Windows, use _unlink.
4655         * lib/write.c (write_nothrow): Use _write.
4656         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
4657         undefined symbol.
4658         * lib/sys_socket.in.h (close): Likewise.
4659         * lib/sys_time.in.h (close): Likewise.
4660         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
4662 2020-08-15  Bruno Haible  <bruno@clisp.org>
4664         Fix "unknown pragma ignored" warnings with clang on native Windows.
4665         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
4666         * lib/cbrtf.c: Likewise.
4667         * lib/ceil.c: Likewise.
4668         * lib/floor.c: Likewise.
4669         * lib/fma.c: Likewise.
4670         * lib/fmod.c: Likewise.
4671         * lib/rint.c: Likewise.
4672         * lib/round.c: Likewise.
4673         * lib/trunc.c: Likewise.
4674         * tests/test-ceil2.c: Likewise.
4675         * tests/test-ceilf2.c: Likewise.
4676         * tests/test-floor2.c: Likewise.
4677         * tests/test-floorf2.c: Likewise.
4678         * tests/test-trunc2.c: Likewise.
4679         * tests/test-truncf2.c: Likewise.
4680         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4681         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4683 2020-08-15  Bruno Haible  <bruno@clisp.org>
4685         Fix compilation errors in C++ mode with clang on native Windows.
4686         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
4687         non-glibc systems.
4688         * lib/sched.in.h (sched_yield): Likewise.
4690 2020-08-14  Bruno Haible  <bruno@clisp.org>
4692         stdnoreturn: Work around problem with MSVC/clang.
4693         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
4694         system header after <stdnoreturn.h>.
4695         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
4697 2020-08-14  Bruno Haible  <bruno@clisp.org>
4699         utime-h: Generate an utime.h file always.
4700         * modules/utime-h (Makefile.am): Generate utime.h always.
4701         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
4702         GL_GENERATE_UTIME_H.
4704 2020-08-14  Bruno Haible  <bruno@clisp.org>
4706         mktime, mktime-internal: Remove obsolete code.
4707         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
4709 2020-08-14  Bruno Haible  <bruno@clisp.org>
4711         getcwd: Remove obsolete code.
4712         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
4713         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4715 2020-08-14  Bruno Haible  <bruno@clisp.org>
4717         tzset: Assume the function exists.
4718         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
4719         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
4720         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
4721         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
4722         HAVE_TZSET.
4723         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
4724         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
4726         nstrftime: Assume tzset exists.
4727         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
4728         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
4729         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
4731         mktime, mktime-internal: Assume tzset exists.
4732         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
4733         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
4735 2020-08-14  Bruno Haible  <bruno@clisp.org>
4737         strdup: Assume the function exists.
4738         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
4739         whether strdup exists.
4740         * modules/strdup (Files): Remove lib/strdup.c.
4741         (configure.ac): Don't compile strdup.c.
4742         * modules/strdup-posix (Depends-on, configure.ac): Don't test
4743         ac_cv_func_strdup.
4744         * doc/posix-functions/strdup.texi: Update.
4745         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
4746         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
4747         (Depends-on): Remove unistr/u8-strlen.
4749 2020-08-13  Bruno Haible  <bruno@clisp.org>
4751         sys_random: Work around an uClibc bug.
4752         Reported by akater <nuclearspace@gmail.com>
4753         via Stefan Kangas <stefan@marxist.se>
4754         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
4755         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
4756         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
4757         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
4758         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
4760 2020-08-12  Bruno Haible  <bruno@clisp.org>
4762         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
4763         Reported by Florian Weimer in
4764         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
4765         * lib/gen-uni-tables.c (output_predicate): Change the element type of
4766         the level3 array to 'unsigned int'.
4767         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
4768         * lib/unictype/categ_*.h: Regenerated.
4769         * lib/unictype/ctype_*.h: Regenerated.
4770         * lib/unictype/pr_*.h: Regenerated.
4771         * lib/unictype/sy_*.h: Regenerated.
4772         * lib/unicase/cased.h: Regenerated.
4773         * lib/unicase/ignorable.h: Regenerated.
4775 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4777         stdint: port intptr_t to more-recent MinGW
4778         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
4779         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
4780         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
4781         Apparently those two macros were removed in mingwrt-3.22
4782         dated 2016-07-14.
4784 2020-08-12  Bruno Haible  <bruno@clisp.org>
4786         thread-optim: Export function-like macros only.
4787         Suggested by Paul Eggert.
4788         * lib/thread-optim.h (gl_multithreaded): New macro.
4789         (IF_MT_DECL, IF_MT): Remove macros.
4790         * doc/multithread.texi (Multithreading Optimizations): Add a small
4791         example.
4792         * lib/fatal-signal.c: Update all uses.
4793         * lib/clean-temp.c: Likewise.
4794         * lib/localename.c: Likewise.
4795         * modules/localename (Depends-on): Add stdbool.
4797 2020-08-12  Bruno Haible  <bruno@clisp.org>
4799         Revert autoupdate's revert.
4800         * config/srclist.txt: Mark regex.h as needing sync with glibc.
4802 2020-08-11  Bruno Haible  <bruno@clisp.org>
4804         thread-optim: Fix a compiler warning.
4805         * lib/thread-optim.h (IF_MT_DECL): Define differently.
4807 2020-08-11  Bruno Haible  <bruno@clisp.org>
4809         Use __restrict also on clang.
4810         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
4811         (__restrict_arr): On clang, define like on GCC.
4812         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
4813         (_Restrict_arr_): Use _Restrict_ also on clang.
4814         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
4815         (_Restrict_arr_): Use _Restrict_ also on clang.
4817 2020-08-11  Bruno Haible  <bruno@clisp.org>
4819         Use flexible array syntax also on clang.
4820         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
4821         define like for GCC 3.
4823 2020-08-11  Bruno Haible  <bruno@clisp.org>
4825         fcntl: On native Windows, use _setmode, not setmode.
4826         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
4827         * lib/binary-io.h: Update comment.
4828         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
4829         * tests/test-dup2.c: Likewise.
4830         * tests/test-dup-safer.c: Likewise.
4831         * tests/test-fcntl.c: Likewise.
4833 2020-08-11  Bruno Haible  <bruno@clisp.org>
4835         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
4836         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
4837         * lib/spawn-pipe.c (create_pipe): Likewise.
4838         * tests/test-nonblocking-pipe-main.c (main): Likewise.
4839         * tests/test-nonblocking-socket-main.c (main): Likewise.
4840         * lib/wait-process.c: Update comment.
4841         * doc/posix-functions/fork.texi: Update.
4843 2020-08-11  Bruno Haible  <bruno@clisp.org>
4845         asyncsafe-spin: Use GCC built-ins also on clang.
4846         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
4847         the newer GCC built-ins also on clang.
4849 2020-08-11  Bruno Haible  <bruno@clisp.org>
4851         Use expression statements also on clang.
4852         * lib/cdefs.h (__extension__): Don't define to empty on clang.
4853         * lib/obstack.h (__extension__): Likewise.
4854         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
4855         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
4856         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
4857         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
4858         obstack_finish, obstack_free): Enable as optimized macros also on clang.
4859         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
4861 2020-08-10  Bruno Haible  <bruno@clisp.org>
4863         Use many __attribute__s with clang.
4864         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
4865         on clang.
4866         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
4867         New macros.
4868         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
4869         on clang.
4870         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
4871         also on older clang versions.
4872         (__attribute__): Don't define to empty on clang.
4873         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
4874         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
4875         (__attribute_const__): Use __attribute__ __const__ also on clang.
4876         (__attribute_used__): Use __attribute__ __used__ also on clang.
4877         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
4878         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
4879         clang.
4880         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
4881         clang.
4882         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
4883         also on clang.
4884         (__nonnull): Use __attribute__ __nonnull__ also on clang.
4885         (__attribute_warn_unused_result__): Use __attribute__
4886         __warn_unused_result__ also on clang.
4887         (__always_inline): Use __attribute__ __always_inline__ also on clang.
4888         (__attribute_artificial__): Use __attribute__ __artificial__ also on
4889         clang >= 7.
4890         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
4891         clang versions.
4892         (_Noreturn): Don't redefine on clang >= 3.5.
4893         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
4894         also on clang.
4895         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
4896         on clang.
4897         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4898         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4899         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4900         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
4901         also on clang.
4902         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
4903         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
4904         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
4905         also on clang.
4906         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
4907         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
4908         __attribute__ __noreturn__ also on clang.
4909         * lib/obstack.h (__attribute_noreturn__): Likewise.
4910         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
4911         clang.
4912         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
4913         always_inline also on clang.
4914         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
4915         clang.
4917 2020-08-10  Bruno Haible  <bruno@clisp.org>
4919         c-ldtoastr tests: Fix test failure.
4920         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
4921         is longer than 'double'.
4923 2020-08-10  Bruno Haible  <bruno@clisp.org>
4925         Revert autoupdate's revert.
4926         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
4928 2020-08-09  Bruno Haible  <bruno@clisp.org>
4930         string: Fix build error in C++ mode with clang (regression from today).
4931         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
4932         parameters, one for GCC, one for clang.
4933         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
4934         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
4935         as return type.
4937 2020-08-09  Bruno Haible  <bruno@clisp.org>
4939         ftruncate: Use _chsize, not chsize.
4940         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
4941         * lib/ftruncate.c: Test HAVE__CHSIZE.
4942         (chsize_nothrow): Use _chsize, not chsize.
4944 2020-08-09  Bruno Haible  <bruno@clisp.org>
4946         Silence warnings from clang 10 with -Wimplicit-fallthrough.
4947         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
4948         clang >= 10.
4949         * lib/fnmatch.c (FALLTHROUGH): Likewise.
4950         * lib/fts.c (FALLTHROUGH): Likewise.
4951         * tests/macros.h (FALLTHROUGH): Likewise.
4952         * lib/regex_internal.h (FALLTHROUGH): Likewise.
4953         * config/srclist.txt: Mark it as needing sync with glibc.
4955 2020-08-09  Bruno Haible  <bruno@clisp.org>
4957         stdbool tests: Enable the stricter tests also on clang.
4958         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
4959         (e): Enable the address-to-bool conversion test also on clang.
4961 2020-08-09  Bruno Haible  <bruno@clisp.org>
4963         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
4964         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
4966 2020-08-09  Bruno Haible  <bruno@clisp.org>
4968         Use attribute __aligned__ with clang.
4969         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
4970         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
4972 2020-08-09  Bruno Haible  <bruno@clisp.org>
4974         Use __alignof__ with clang.
4975         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
4976         on clang.
4977         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
4978         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
4979         clang.
4980         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
4981         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
4982         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
4983         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
4985 2020-08-09  Bruno Haible  <bruno@clisp.org>
4987         ignore-value: Simplify on clang.
4988         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
4989         workaround.
4991 2020-08-09  Bruno Haible  <bruno@clisp.org>
4993         Use __typeof__ with clang.
4994         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
4995         "clang -std=gnu99".
4996         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
4997         * tests/test-stdint.c (verify_same_types): Enable the check also on
4998         clang.
5000 2020-08-09  Bruno Haible  <bruno@clisp.org>
5002         Add ability to emit user-defined warnings and errors with clang.
5003         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
5004         _GL_ATTRIBUTE_WARNING using an attribute for clang.
5005         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
5006         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
5007         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
5008         attribute for clang.
5010 2020-08-09  Bruno Haible  <bruno@clisp.org>
5012         intprops: Fix typo in comment.
5013         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
5015 2020-08-09  Bruno Haible  <bruno@clisp.org>
5017         Use __builtin_signbit* with clang.
5018         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
5019         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
5020         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5021         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
5022         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
5023         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
5024         not REPLACE_SIGNBIT_USING_GCC.
5026 2020-08-09  Bruno Haible  <bruno@clisp.org>
5028         Use __builtin_isnan with clang.
5029         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5030         not __builtin_isnanf. Also on clang.
5031         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
5032         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
5033         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
5034         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
5035         built-in.
5036         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
5037         not __builtin_isnanl. Also on clang.
5038         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
5039         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
5040         * lib/math.in.h (__has_builtin): Remove macro.
5041         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
5042         __builtin_isnanf. Also on clang.
5043         (isnand, gl_isnan_d): With clang, use the GCC built-in.
5044         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
5045         __builtin_isnanl. Also on clang.
5046         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
5047         on clang.
5049 2020-08-09  Bruno Haible  <bruno@clisp.org>
5051         thread-optim: Fix logic error.
5052         Reported by Paul Eggert.
5053         * lib/thread-optim.h (IF_MT): Fix logic error.
5055 2020-08-08  Bruno Haible  <bruno@clisp.org>
5057         localename: Use module 'thread-optim'.
5058         * lib/localename.c: Include thread-optim.h.
5059         (struniq): Use IF_MT macro.
5060         * modules/localename (Depends-on): Add thread-optim.
5062         clean-temp: Use module 'thread-optim'.
5063         * lib/clean-temp.c: Include thread-optim.h.
5064         (register_temporary_file, unregister_temporary_file, create_temp_dir,
5065         register_temp_file, unregister_temp_file, register_temp_subdir,
5066         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
5067         close_temp, fclose_variant_temp): Use IF_MT macro.
5068         * modules/clean-temp (Depends-on): Add thread-optim.
5070         fatal-signal: Use module 'thread-optim'.
5071         * lib/fatal-signal.c: Include thread-optim.h.
5072         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
5073         macro.
5074         * modules/fatal-signal (Depends-on): Add thread-optim.
5076 2020-08-08  Bruno Haible  <bruno@clisp.org>
5078         New module 'thread-optim'.
5079         * lib/thread-optim.h: New file.
5080         * modules/thread-optim: New file.
5081         * doc/multithread.texi (Multithreading Optimizations): New section.
5083 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
5085         doc: more updates for glibc 2.32
5086         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
5087         * doc/posix-functions/fchmodat.texi: Update.
5089 2020-08-07  Bruno Haible  <bruno@clisp.org>
5091         doc: Update for glibc 2.32.
5092         * doc/glibc-functions/__libc_single_threaded.texi: New file.
5093         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
5094         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
5095         * doc/glibc-functions/sigabbrev_np.texi: New file.
5096         * doc/glibc-functions/sigdescr_np.texi: New file.
5097         * doc/glibc-functions/strerrordesc_np.texi: New file.
5098         * doc/glibc-functions/strerrorname_np.texi: New file.
5099         * doc/gnulib.texi: Include them.
5100         (Glibc sys/single_threaded.h): New section.
5101         * doc/pastposix-functions/h_errno.texi: Update.
5102         * doc/posix-functions/*.texi: Likewise.
5103         * doc/glibc-functions/*.texi: Likewise.
5105 2020-08-07  Bruno Haible  <bruno@clisp.org>
5107         alloca: No need to compile alloca.c with clang.
5108         * lib/alloca.c: Skip all code with clang.
5110         Use __builtin_alloca with clang.
5111         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
5113 2020-08-06  Bruno Haible  <bruno@clisp.org>
5115         Use __builtin_assume with clang.
5116         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
5117         (assume): Use __builtin_assume when available.
5119 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5121         libgmp: add <gmp/gmp.h> support
5122         * m4/libgmp.m4 (gl_LIBGMP):
5123         * modules/libgmp (configure.ac, Makefile.am):
5124         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
5125         ‘#include <gmp.h>’.
5127 2020-08-06  Bruno Haible  <bruno@clisp.org>
5129         Consider that clang defines __OPTIMIZE__ like GCC does.
5130         * lib/streq.h: Define the inline functions also on clang.
5131         * lib/c-strcaseeq.h: Likewise.
5132         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
5133         the GCC workaround to clang.
5135 2020-08-06  Bruno Haible  <bruno@clisp.org>
5137         safe-alloc: Remove unused code.
5138         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
5140 2020-08-06  Bruno Haible  <bruno@clisp.org>
5142         Use __builtin_expect with clang everywhere.
5143         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
5144         also on clang.
5146 2020-08-05  Bruno Haible  <bruno@clisp.org>
5148         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
5149         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
5150         built-in also on clang.
5151         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
5152         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
5154 2020-08-05  Bruno Haible  <bruno@clisp.org>
5156         Use __builtin_clz{,l,ll} with clang, also on Windows.
5157         * lib/integer_length.c: With clang, use the GCC built-in, not
5158         <intrin.h>.
5159         * lib/integer_length_l.c: Likewise.
5160         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
5161         also on clang.
5162         * lib/vasnprintf.c (divide): Likewise.
5164 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5166         Update srclist.txt as per recent glibc changes
5167         * config/srclist.txt: Uncomment lines to reflect recent merges
5168         from Gnulib to glibc.
5170 2020-08-03  Bruno Haible  <bruno@clisp.org>
5172         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5173         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
5175 2020-08-03  Bruno Haible  <bruno@clisp.org>
5177         integer_length_ll: Optimize for MSVC in 64-bit mode.
5178         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5179         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5181 2020-08-03  Bruno Haible  <bruno@clisp.org>
5183         integer_length_ll: Optimize for MSVC in 32-bit mode.
5184         * lib/integer_length_l.c: Include <intrin.h>.
5185         (integer_length): Define as inline function, like in
5186         lib/integer_length.c.
5188 2020-08-03  Bruno Haible  <bruno@clisp.org>
5190         integer_length: Optimize for MSVC.
5191         * lib/integer_length.c: Include <intrin.h>.
5192         (integer_length): With MSVC, use the _BitScanReverse built-in.
5194 2020-08-03  Bruno Haible  <bruno@clisp.org>
5196         ffsll: Optimize for MSVC in 64-bit mode.
5197         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
5198         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
5199         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
5201 2020-08-03  Bruno Haible  <bruno@clisp.org>
5203         ffsll: Optimize for MSVC in 32-bit mode.
5204         * lib/ffsl.h: Include <intrin.h>.
5205         (ffs): Define as inline function, like in lib/ffs.c.
5207 2020-08-03  Bruno Haible  <bruno@clisp.org>
5209         ffs: Optimize for MSVC.
5210         * lib/ffs.c: Include <intrin.h>.
5211         (ffs): With MSVC, use the _BitScanForward built-in.
5213 2020-08-03  Bruno Haible  <bruno@clisp.org>
5215         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
5216         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
5217         variable.
5219 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
5221         fopen: Avoid undesired interactions with glibc headers.
5222         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
5223         __need_FILE, as the latter does not work with glibc.
5225 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5227         fcntl: document some F_SETLK errno variations
5228         * doc/posix-functions/fcntl.texi (fcntl): Document
5229         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
5231 2020-08-02  Bruno Haible  <bruno@clisp.org>
5233         oset: Add an 'iterator_atleast' operation.
5234         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
5235         extracted from gl_array_search_atleast.
5236         (gl_array_search_atleast): Use it.
5237         (gl_array_iterator_atleast): New function.
5238         (gl_array_oset_implementation): Use it.
5239         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
5240         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
5241         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
5242         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
5243         member.
5244         (gl_oset_iterator_atleast): New function.
5245         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
5246         (gl_OSet::iterator): Add another auxiliary constructor.
5247         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
5248         New functions.
5249         (main): Test also gl_oset_iterator_atleast.
5250         * tests/test-avltree_oset.c (is_at_least): New function.
5251         (main): Test also gl_oset_iterator_atleast.
5252         * tests/test-rbtree_oset.c (is_at_least): New function.
5253         (main): Test also gl_oset_iterator_atleast.
5254         * tests/test-oset-c++.cc (is_at_most): New function.
5255         (main): Test also gl_OSet::begin_atleast.
5257 2020-08-02  Bruno Haible  <bruno@clisp.org>
5259         oset-c++, omap-c++: Remove restriction for search_atleast method.
5260         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
5261         a different type than the element.
5262         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
5263         a different type than the key.
5265 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5267         gnumakefile: say ‘$(MAKE)’ not ‘make’
5268         * top/GNUmakefile (abort-due-to-no-makefile):
5269         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
5270         This change is backported from Autoconf.
5272 2020-08-01  Bruno Haible  <bruno@clisp.org>
5274         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
5275         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
5276         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5277         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
5278         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
5279         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
5281 2020-08-01  Bruno Haible  <bruno@clisp.org>
5283         libtextstyle-optional: Update tests.
5284         * modules/libtextstyle-optional-tests (configure.ac): Invoke
5285         gl_LIBTEXTSTYLE_OPTIONAL.
5287 2020-08-01  Bruno Haible  <bruno@clisp.org>
5289         parse-datetime: Fix wrong #line statements.
5290         * modules/parse-datetime (Makefile.am): Correct #line statements also in
5291         parse-datetime-gen.h.
5293 2020-08-01  Bruno Haible  <bruno@clisp.org>
5295         libtextstyle[-optional]: Allow requesting a minimum version.
5296         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
5297         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
5298         gl_LIBTEXTSTYLE_SEARCH): New macros.
5299         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
5300         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
5301         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
5302         * modules/libtextstyle-optional (configure.ac): Don't invoke
5303         gl_LIBTEXTSTYLE_OPTIONAL.
5304         * NEWS: Mention the changes.
5306 2020-07-31  Bruno Haible  <bruno@clisp.org>
5308         _GL_CMP: Improve documentation.
5309         Reported by Paul Eggert in
5310         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
5311         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
5312         passed.
5314 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5316         largefile: sync with Autoconf master
5317         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
5318         Avoid undefined behavior on platforms where off_t is 32 bits.
5319         See: https://bugs.debian.org/742780
5321         alloca: sync with Autoconf master
5322         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5323         Do not define if Autoconf 2.70 or later, since Autoconf master
5324         now matches us.
5326 2020-07-30  Bruno Haible  <bruno@clisp.org>
5328         unicodeio: Add comment.
5329         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
5330         different iconv behaviours.
5332 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5334         Work around some Oracle Studio attribute bugs
5335         These were discovered when building bleeding-edge Emacs with
5336         Oracle Studio.
5337         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
5338         Port to Oracle Studio 12.6, which mishandles __attribute__
5339         ((__cold__)) and __attribute__ ((__may_alias__)) even though
5340         __has_attribute says they work.
5342 2020-07-29  Bruno Haible  <bruno@clisp.org>
5344         unicodeio: Fix wrong result on musl libc.
5345         Reported by A. Wilcox <awilfox@adelielinux.org> in
5346         <https://www.openwall.com/lists/musl/2020/07/29/2>.
5347         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
5348         on musl libc.
5349         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
5350         * modules/unicodeio (Files): Add m4/musl.m4.
5352 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
5354         fsusage, regex, stat-size: remove Cray support
5355         As near as I can make out this is actually support for UNICOS/mp,
5356         last released 2005, and Cray hasn’t supported that for years.
5357         * config/srclist.txt: Comment out regex.h for now.
5358         * lib/fsusage.c (get_fs_usage):
5359         * lib/regex.h (re_comp, re_exec):
5360         * lib/stat-size.h (ST_NBLOCKSIZE):
5361         Don’t worry about _CRAY.
5363 2020-07-29  Bruno Haible  <bruno@clisp.org>
5365         parse-datetime: Fix compilation error with bison 3.7.
5366         * modules/parse-datetime (Makefile.am): Create a generated header file
5367         parse-datetime-gen.h in the source directory. Correct #include and
5368         #line statements during preprocessing.
5370 2020-07-28  Bruno Haible  <bruno@clisp.org>
5372         fopen-gnu: Create files correctly (regression from 2020-05-24).
5373         * lib/fopen.c (rpl_open): Pass a third argument to open().
5375 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5377         xalloc-die: don’t depend on xalloc
5378         This removes a circular dependency, as xalloc depends on xalloc-die.
5379         * modules/xalloc-die (Files): Add lib/xalloc.h.
5380         (Depends-on): Remove xalloc.
5381         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
5383         dfa-tests: port to MSVC
5384         Problem reported by Gisle Vanem in:
5385         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
5386         Also, remove an unnecessary dependency on getprogname.
5387         * modules/dfa-tests (Depends-on): Remove getprogname.
5388         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
5389         (exit_status): New static var.
5390         (dfawarn): Set it instead of exiting.
5391         Do not declare as _Noreturn, to pacify MSVC.
5392         (main): Return exit_status.
5394 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5396         argz: pacify MSVC
5397         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
5398         Problem reported by Gisle Vanem.
5400         libgmp: remove dependency on havelib
5401         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
5402         use the more-traditional AC_SEARCH_LIBS approach.
5403         This should work better with GNU Emacs configuration,
5404         which uses pkg-config instead of a havelib-style approach.
5405         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
5406         * modules/libgmp (Depends-on): Remove havelib.
5408         libgmp: remove HAVE_GMP, LIB_GMP
5409         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
5410         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
5412 2020-07-26  Bruno Haible  <bruno@clisp.org>
5414         inttypes: Remove support for AIX 4.
5415         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
5416         * m4/inttypes-pri.m4: Remove file.
5417         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
5418         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
5419         * modules/inttypes-incomplete (Makefile.am): Don't substitute
5420         PRI_MACROS_BROKEN.
5421         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
5423 2020-07-26  Bruno Haible  <bruno@clisp.org>
5425         gettimeofday: Remove workaround for Mac OS X 10.0.
5426         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
5427         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
5428         * lib/gettimeofday.c: Don't include localtime-buffer.h.
5429         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5430         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
5431         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
5432         * modules/localtime-buffer: Remove file.
5433         * lib/localtime-buffer.h: Remove file.
5434         * lib/localtime-buffer.c: Remove file.
5435         * m4/localtime-buffer.m4: Remove file.
5436         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
5438 2020-07-26  Bruno Haible  <bruno@clisp.org>
5440         tzset: Remove workaround for Solaris 2.6.
5441         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
5442         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
5443         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
5444         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
5445         * lib/localtime-buffer.c: Likewise.
5446         * lib/localtime.c: Likewise.
5447         * lib/tzset.c: Don't include localtime-buffer.h.
5448         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
5449         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
5450         is 1.
5451         * modules/tzset (Depends-on): Remove localtime-buffer.
5453 2020-07-26  Bruno Haible  <bruno@clisp.org>
5455         expl: Simplify autoconf test.
5456         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
5457         with small values..." test into the "checking whether expl works..."
5458         test.
5460 2020-07-26  Bruno Haible  <bruno@clisp.org>
5462         alloca: Remove Cray-2 and Cray Y-MP support.
5463         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
5464         Enable also on Autoconf >= 2.69.
5465         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
5466         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
5467         i00afunc): Remove.
5469 2020-07-25  Bruno Haible  <bruno@clisp.org>
5471         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
5472         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
5474 2020-07-25  Bruno Haible  <bruno@clisp.org>
5476         sigprocmask: Small autoconf macro improvement.
5477         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
5478         user to override the value of gl_cv_func_sigprocmask.
5479         * m4/gnulib-common.m4 (gl_SILENT): New macro.
5481 2020-07-25  Bruno Haible  <bruno@clisp.org>
5483         Small autoconf macro improvements.
5484         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
5485         override the value of gl_cv_func_working_mktime.
5486         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
5487         compiler produces multi-arch binaries..." in the configure output.
5488         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
5489         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
5491 2020-07-25  Bruno Haible  <bruno@clisp.org>
5493         doc: Update for NetBSD 7.1, 8.0, 9.0.
5494         * doc/*/*.texi: Update.
5495         * m4/exp2l.m4: Update comments.
5496         * m4/expl.m4: Likewise.
5497         * m4/ilogb.m4: Likewise.
5498         * m4/ilogbf.m4: Likewise.
5499         * m4/log10l.m4: Likewise.
5500         * m4/logl.m4: Likewise.
5501         * m4/printf.m4: Likewise.
5502         * m4/rintl.m4: Likewise.
5503         * m4/wcwidth.m4: Likewise.
5505 2020-07-24  Bruno Haible  <bruno@clisp.org>
5507         doc: Update for Mac OS X 10.13.
5508         * doc/*/*.texi: Update.
5509         * m4/expm1l.m4: Update comments.
5510         * m4/getgroups.m4: Likewise.
5511         * m4/getlogin_r.m4: Likewise.
5512         * m4/linkat.m4: Likewise.
5513         * m4/printf.m4: Likewise.
5515 2020-07-24  Bruno Haible  <bruno@clisp.org>
5517         doc: Update for Cygwin 2.9.0.
5518         * doc/*/*.texi: Update.
5520 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5522         parse-datetime: modernize doc
5523         * doc/parse-datetime.texi: Use more-current examples.
5524         Don’t lead with 32-bit time_t, as it’s on its way out.
5525         Capitalize “Epoch” to be consistent with POSIX.
5527         timespec: remove dependence on ‘verify’
5528         * lib/timespec.h: Do not include verify.h; no longer needed.
5529         * modules/timespec (Depends-on): Remove ‘verify’.
5531         Optimize a few more three-valued comparisons
5532         * lib/timespec.h (timespec_cmp, timespec_sign):
5533         * lib/utimecmp.c (utimecmpat):
5534         Avoid conditional branches by using _GL_CMP.
5536         Fix _GL_CMP parenthesization typo
5537         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
5539 2020-07-24  Bruno Haible  <bruno@clisp.org>
5541         dfa: Revert breaking gawk.
5542         Reported by Arnold Robbins <arnold@skeeve.com>.
5543         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
5545 2020-07-23  Bruno Haible  <bruno@clisp.org>
5547         Optimize three-valued comparison between integers.
5548         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
5549         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
5550         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
5551         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
5552         * lib/dfa.c (compare): Likewise.
5553         * lib/fts.c (fts_compare_ino): Likewise.
5554         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
5555         * lib/mbscasecmp.c (mbscasecmp): Likewise.
5556         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
5557         * lib/memcasecmp.c (memcasecmp): Likewise.
5558         * lib/memcmp2.c (memcmp2): Likewise.
5559         * lib/savedir.c (direntry_cmp_inode): Likewise.
5560         * lib/strcasecmp.c (strcasecmp): Likewise.
5561         * lib/strncasecmp.c (strncasecmp): Likewise.
5562         * lib/unistr/u-cmp2.h (FUNC): Likewise.
5564 2020-07-23  Bruno Haible  <bruno@clisp.org>
5566         lchmod: Use /proc on Cygwin.
5567         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
5569 2020-07-23  Ken Brown  <kbrown@cornell.edu>
5571         fchmodat: Use /proc on Cygwin
5572         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
5574 2020-07-21  Bruno Haible  <bruno@clisp.org>
5576         aligned-malloc: Optionally use aligned_alloc.
5577         * lib/aligned-malloc.h: Verify the alignment.
5578         (aligned_malloc): Use aligned_alloc as an alternative.
5579         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
5580         * doc/posix-functions/aligned_alloc.texi: Mention the modules
5581         'aligned-malloc' and 'pagealign_alloc'.
5583 2020-07-21  Bruno Haible  <bruno@clisp.org>
5585         aligned-malloc: Add tests.
5586         * tests/test-aligned-malloc.c: New file.
5587         * modules/aligned-malloc-tests: New file.
5589         aligned-malloc: New module.
5590         * lib/aligned-malloc.h: New file.
5591         * m4/malloc-align.m4: New file.
5592         * modules/aligned-malloc: New file.
5593         * doc/posix-functions/posix_memalign.texi: Mention the new module.
5594         * doc/glibc-functions/memalign.texi: Likewise.
5596 2020-07-21  Bruno Haible  <bruno@clisp.org>
5598         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
5599         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
5600         sure PRIPTR_PREFIX is defined to "ll", not "l".
5602 2020-07-21  Bruno Haible  <bruno@clisp.org>
5604         printf-posix: Make an autoconf test more future-proof.
5605         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
5606         using uintptr_t.
5608 2020-07-20  Bruno Haible  <bruno@clisp.org>
5610         list, oset, omap: Relicense some of the container modules under LGPLv2+.
5611         * modules/list (License): Change to LGPLv2+.
5612         * modules/array-list (License): Likewise.
5613         * modules/carray-list (License): Likewise.
5614         * modules/linked-list (License): Likewise.
5615         * modules/avltree-list (License): Likewise.
5616         * modules/rbtree-list (License): Likewise.
5617         * modules/oset (License): Likewise.
5618         * modules/array-oset (License): Likewise.
5619         * modules/avltree-oset (License): Likewise.
5620         * modules/rbtree-oset (License): Likewise.
5621         * modules/omap (License): Likewise.
5622         * modules/array-omap (License): Likewise.
5623         * modules/avltree-omap (License): Likewise.
5624         * modules/rbtree-omap (License): Likewise.
5626 2020-07-20  Bruno Haible  <bruno@clisp.org>
5628         oset: Add an 'update' operation.
5629         * lib/gl_array_oset.c (gl_array_update): New function.
5630         (gl_array_oset_implementation): Use it.
5631         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5632         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5633         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
5634         extracted from gl_tree_nx_add_before.
5635         (gl_tree_nx_add_before): Invoke it.
5636         (gl_tree_add_node_after): New function, extracted from
5637         gl_tree_nx_add_after.
5638         (gl_tree_nx_add_after): Invoke it.
5639         (gl_tree_remove_node_no_free): New function, extracted from
5640         gl_tree_remove_node.
5641         (gl_tree_remove_node): Invoke it.
5642         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
5643         extracted from gl_tree_nx_add_before.
5644         (gl_tree_nx_add_before): Invoke it.
5645         (gl_tree_add_node_after): New function, extracted from
5646         gl_tree_nx_add_after.
5647         (gl_tree_nx_add_after): Invoke it.
5648         (gl_tree_remove_node_no_free): New function, extracted from
5649         gl_tree_remove_node.
5650         (gl_tree_remove_node): Invoke it.
5651         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
5652         from gl_tree_iterator_next.
5653         (gl_tree_iterator_next): Invoke it.
5654         (gl_tree_prev_node, gl_tree_update): New functions.
5655         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5656         (gl_avltree_oset_implementation): Use gl_tree_update.
5657         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5658         (gl_rbtree_oset_implementation): Use gl_tree_update.
5659         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
5660         (gl_oset_update): New function.
5661         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
5662         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
5663         * modules/rbtree-oset (configure.ac): Likewise.
5664         * tests/test-oset-update.h: New file.
5665         * tests/test-array_oset.c: Include test-oset-update.h.
5666         (main): Invoke test_update.
5667         * tests/test-avltree_oset.c: Likewise.
5668         * tests/test-rbtree_oset.c: Likewise.
5669         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
5670         * modules/avltree-oset-tests (Files): Likewise.
5671         * modules/rbtree-oset-tests (Files): Likewise.
5672         * tests/test-oset-c++.cc (action): New function.
5673         (main): Test the 'update' member function.
5675 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5677         md5, sha1, sha256, sha512: pacify Autoconf 2.70
5678         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
5679         shell if, so that the argument to AC_CHECK_HEADERS is
5680         a simple string that does not require shell evaluation.
5681         This fixes a warning generated by Autoconf 2.69b.
5683 2020-07-12  Bruno Haible  <bruno@clisp.org>
5685         libgmp: Avoid warning when --without-libgmp is used.
5686         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
5687         GCC >= 8, not for GCC >= 4.6.
5689 2020-07-12  Bruno Haible  <bruno@clisp.org>
5691         libgmp: Link to the correct shared library.
5692         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
5693         * modules/libgmp (Depends-on): Add havelib.
5694         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
5695         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
5697 2020-07-12  Bruno Haible  <bruno@clisp.org>
5699         libgmp tests: Add some safety checks.
5700         * modules/libgmp-tests (Depends-on): Add verify.
5701         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
5702         (main): Verify that gmp.h and libgmp versions match.
5704 2020-07-10  Bruno Haible  <bruno@clisp.org>
5706         unicodeio: Fix wrong result on NetBSD.
5707         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5708         characters also on NetBSD.
5710 2020-07-09  Bruno Haible  <bruno@clisp.org>
5712         unicodeio: Fix wrong result on Solaris 11.
5713         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
5714         via Akim Demaille <akim.demaille@gmail.com> in
5715         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
5716         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5717         characters on Solaris.
5718         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
5719         UTF-8 output or the specified fallback.
5721 2020-07-08  Bruno Haible  <bruno@clisp.org>
5723         unicodeio: Add tests.
5724         * tests/test-unicodeio.c: New file.
5725         * tests/test-unicodeio1.sh: New file.
5726         * tests/test-unicodeio2.sh: New file.
5727         * tests/test-unicodeio3.sh: New file.
5728         * modules/unicodeio-tests: New file.
5730 2020-07-08  Bruno Haible  <bruno@clisp.org>
5732         unicodeio: Document link requirements.
5733         * modules/unicodeio (Link): New section.
5735 2020-07-07  Bruno Haible  <bruno@clisp.org>
5737         doc: Remove support for some very old platforms.
5738         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
5739         * doc/posix-functions/memcpy.texi: Likewise.
5740         * doc/posix-functions/memmove.texi: Likewise.
5741         * doc/posix-functions/memset.texi: Likewise.
5742         * doc/posix-functions/getcwd.texi: Likewise.
5744         memchr: Remove support for some very old platforms.
5745         * m4/memchr-obsolete.m4: Remove file.
5746         * modules/memchr-obsolete: Remove file.
5747         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
5748         absent. Don't define HAVE_MEMCHR.
5749         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
5750         * modules/memchr (Depends-on): Remove memchr-obsolete.
5751         (configure.ac): Assume HAVE_MEMCHR is 1.
5752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5753         HAVE_MEMCHR.
5754         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
5755         * doc/posix-functions/memchr.texi: Don't mention module
5756         'memchr-obsolete'.
5757         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5758         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5759         * modules/strnlen (Depends-on): Remove memchr-obsolete.
5761         dup2: Remove support for some very old platforms.
5762         * m4/dup2-obsolete.m4: Remove file.
5763         * modules/dup2-obsolete: Remove file.
5764         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
5765         Don't define HAVE_DUP2.
5766         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
5767         * lib/dup2.c: Likewise.
5768         * modules/dup2 (Depends-on, configure.ac): Likewise.
5769         (Depends-on): Remove dup2-obsolete.
5770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
5771         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
5772         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
5774 2020-07-07  Bruno Haible  <bruno@clisp.org>
5776         canonicalize: Trim module dependencies.
5777         * lib/hash-triple.h: Group declarations.
5778         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
5779         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
5780         (STREQ): Remove macro.
5781         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
5782         * modules/hash-triple-simple: New file, based on modules/hash-triple.
5783         * modules/hash-triple (Files): Remove lib/hash-triple.h.
5784         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
5785         * modules/canonicalize (Depends-on): Remove hash-triple. Add
5786         hash-triple-simple.
5787         * modules/file-set (Depends-on): Likewise.
5789 2020-07-07  Bruno Haible  <bruno@clisp.org>
5791         Clarify dependencies to double-slash-root.
5792         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
5793         (Depends-on): Add double-slash-root.
5794         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
5795         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
5797 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5799         libgmp: new module
5800         The idea is to let programs simply include <gmp.h>, and
5801         so long as they live within the mini-gmp subset they need
5802         not worry about whether the GMP libraries are installed.
5803         * MODULES.html.sh: Mention it.
5804         * config/srclist.txt: Mention files copied from GMP source.
5805         * config/srclistvars.sh (GMP): New var.
5806         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
5807         * modules/libgmp-tests, tests/test-libgmp.c: New files.
5808         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
5810 2020-07-05  Bruno Haible  <bruno@clisp.org>
5812         mkancesdirs: Trim module dependencies.
5813         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
5814         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
5816 2020-07-05  Bruno Haible  <bruno@clisp.org>
5818         getprogname: Trim module dependencies.
5819         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
5820         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
5821         basename-lgpl.
5823 2020-07-05  Bruno Haible  <bruno@clisp.org>
5825         filenamecat-lgpl: Trim module dependencies.
5826         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
5827         dirname.h.
5828         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
5829         basename-lgpl, filename.
5831 2020-07-05  Bruno Haible  <bruno@clisp.org>
5833         backupfile, backup-rename: Trim module dependencies.
5834         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
5835         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
5836         basename-lgpl.
5837         * modules/backup-rename (Depends-on): Likewise.
5839 2020-07-05  Bruno Haible  <bruno@clisp.org>
5841         argp: Trim module dependencies.
5842         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
5843         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
5845 2020-07-05  Bruno Haible  <bruno@clisp.org>
5847         basename-lgpl: New module.
5848         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
5849         lib/basename-lgpl.c.
5850         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
5851         <stdbool.h>, filename.h.
5852         (last_component): Rename a local variable.
5853         * lib/dirname.h: Include basename-lgpl.h.
5854         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
5855         (last_component, base_len): Remove declarations.
5856         * modules/basename-lgpl: New file.
5857         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
5858         (Depends-on): Add basename-lgpl. Remove double-slash-root.
5859         (Makefile.am): Don't compile basename-lgpl.c.
5860         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
5861         not 'dirname'.
5863 2020-07-05  Bruno Haible  <bruno@clisp.org>
5865         dirname, dirname-lgpl: Simplify.
5866         * m4/dirname.m4: Remove file.
5867         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
5868         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
5869         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
5871 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
5873         tests: avoid shadowing warning
5874         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
5876 2020-07-05  Bruno Haible  <bruno@clisp.org>
5878         supersede: Add tests.
5879         * tests/test-supersede.c: New file.
5880         * tests/test-supersede-open.h: New file.
5881         * tests/test-supersede-fopen.h: New file.
5882         * modules/supersede-tests: New file.
5884         supersede: New module.
5885         * lib/supersede.h: New file.
5886         * lib/supersede.c: New file.
5887         * m4/supersede.m4: New file.
5888         * modules/supersede: New file.
5890 2020-07-05  Bruno Haible  <bruno@clisp.org>
5892         Add some copyright headers.
5893         * lib/dev-ino.h: Add copyright header.
5894         * lib/di-set.h: Likewise.
5895         * lib/fchown-stub.c: Likewise.
5896         * lib/file-set.h: Likewise.
5897         * lib/hash-triple.h: Likewise.
5898         * lib/idcache.h: Likewise.
5899         * lib/ino-map.h: Likewise.
5900         * lib/mkancesdirs.h: Likewise.
5901         * lib/scratch_buffer.h: Likewise.
5902         * lib/se-context.in.h: Likewise.
5903         * lib/stdopen.h: Likewise.
5904         * lib/userspec.h: Likewise.
5906 2020-07-04  Bruno Haible  <bruno@clisp.org>
5908         getrandom: Relicense under LGPLv2+.
5909         Paul Eggert's approval is in
5910         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
5911         * modules/getrandom (License): Change to LGPLv2+.
5913 2020-07-04  Bruno Haible  <bruno@clisp.org>
5915         getumask: Add tests.
5916         * tests/test-getumask.c: New file.
5917         * modules/getumask-tests: New file.
5919         getumask: New module.
5920         * lib/sys_stat.in.h (getumask): New declaration.
5921         * lib/getumask.c: New file.
5922         * m4/getumask.m4: New file.
5923         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
5924         declared.
5925         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
5926         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
5927         HAVE_GETUMASK.
5928         * modules/getumask: New file.
5929         * tests/test-sys_stat-c++.cc (getumask): Check signature.
5930         * doc/glibc-functions/getumask.texi: New file.
5931         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
5933 2020-07-04  Bruno Haible  <bruno@clisp.org>
5935         clean-temp: Add support for temporary files with given mode.
5936         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
5937         * lib/clean-temp.c (struct try_create_file_params): New type.
5938         (try_create_file): New function.
5939         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
5940         gen_tempname.
5942 2020-07-04  Bruno Haible  <bruno@clisp.org>
5944         clean-temp: Document limitations.
5945         * lib/clean-temp.h: Document limitations.
5947 2020-07-04  Bruno Haible  <bruno@clisp.org>
5949         clean-temp: Add support for temporary files with unpredictable names.
5950         * lib/clean-temp.h (gen_register_open_temp): New declaration.
5951         * lib/clean-temp.c: Include tempname.h.
5952         (gen_register_open_temp): New function.
5953         * modules/tempname (configure.ac): Define a module indicator.
5955 2020-07-04  Bruno Haible  <bruno@clisp.org>
5957         clean-temp: Add support for temporary files anywhere in the file system.
5958         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
5959         cleanup_temporary_file): New declarations.
5960         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
5961         variables.
5962         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
5963         (dir_cleanup_list): Renamed from cleanup_list.
5964         (cleanup_action): Process the file_cleanup_list as well.
5965         (do_init_clean_temp): New function.
5966         (clean_temp_once): New variable.
5967         (init_clean_temp): New function.
5968         (create_temp_dir): Invoke it.
5969         (register_temporary_file, unregister_temporary_file,
5970         cleanup_temporary_file): New functions.
5971         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
5972         argument.
5974 2020-07-04  Bruno Haible  <bruno@clisp.org>
5976         clean-temp: Improve comments.
5977         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5978         fwriteerror_temp, close_stream_temp): Clarify intended use.
5979         * lib/clean-temp.c: Likewise.
5981 2020-07-04  Bruno Haible  <bruno@clisp.org>
5983         clean-temp: Make multithread-safe, part 2.
5984         * lib/fatal-signal.h: Include <signal.h>.
5985         (get_fatal_signal_set): New declaration.
5986         * lib/fatal-signal.c (get_fatal_signal_set): New function.
5987         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
5988         (struct closeable_fd): New type.
5989         (fatal_signal_set): New variable.
5990         (init_fatal_signal_set): New function.
5991         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
5992         (cleanup_action): Invoke asyncsafe_close instead of close.
5993         (create_temp_dir): Invoke init_fatal_signal_set.
5994         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
5995         element.
5996         (unregister_fd): Remove function.
5997         (close_temp): Cleanup descriptors list on the fly. Invoke
5998         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
5999         (fclose_variant_temp): New function.
6000         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
6001         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
6003 2020-07-04  Bruno Haible  <bruno@clisp.org>
6005         clean-temp: Make multithread-safe, part 1.
6006         * lib/clean-temp.c: Include glthread/lock.h.
6007         (cleanup_list_lock): New variable.
6008         (register_temp_file, unregister_temp_file, register_temp_subdir,
6009         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
6010         (create_temp_dir): Likewise. Don't free the old array.
6011         (descriptors_lock): New variable.
6012         (register_fd, unregister_fd): Use it.
6013         * modules/clean-temp (Depends-on): Add lock.
6015 2020-07-04  Bruno Haible  <bruno@clisp.org>
6017         fatal-signal: Make multithread-safe.
6018         * lib/fatal-signal.c (init_fatal_signals): Add comment.
6019         (do_init_fatal_signal_set): New function, extracted from
6020         init_fatal_signal_set.
6021         (fatal_signal_set_once): New variable.
6022         (init_fatal_signal_set): Use gl_once.
6024 2020-07-03  Bruno Haible  <bruno@clisp.org>
6026         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
6027         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
6028         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
6029         <bcrypt.h>.
6031 2020-07-03  Bruno Haible  <bruno@clisp.org>
6033         dfa tests: Follow common file naming conventions.
6034         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
6035         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
6036         * tests/test-dfa-invalid-char-class.sh: Renamed from
6037         tests/dfa-invalid-char-class.sh. Update.
6038         * modules/dfa-tests (Files, Makefile.am): Update.
6040 2020-07-03  Bruno Haible  <bruno@clisp.org>
6042         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
6043         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
6044         the GCC extended asm syntax also for the Sun Studio 12 compilers.
6046 2020-07-03  Bruno Haible  <bruno@clisp.org>
6048         asyncsafe-spin: Reduce code duplication.
6049         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
6050         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
6051         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
6053 2020-07-03  Bruno Haible  <bruno@clisp.org>
6055         lchmod: Simplify after 2020-02-22 change.
6056         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
6058 2020-07-03  Bruno Haible  <bruno@clisp.org>
6060         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
6061         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
6063 2020-07-03  Bruno Haible  <bruno@clisp.org>
6065         dfa: Make sure the compiler does not barf on 'inline'.
6066         * modules/dfa (configure.ac): Require AC_C_INLINE.
6068 2020-07-03  Bruno Haible  <bruno@clisp.org>
6070         bitset: Make sure the compiler does not barf on 'inline'.
6071         * modules/bitset (configure.ac): New section.
6073 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6075         manywarnings: improve port to GCC 10.1
6076         * build-aux/gcc-warning.spec: Also list warnings that are default
6077         or are enabled by already-given flags.  This lets us speed up
6078         checking for attributes, and makes the generated compilation
6079         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
6080         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
6081         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
6082         to shell variables that may have long values.
6083         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
6084         consequences of other flags, to speed up checking and
6085         shorten commands.
6087         tests: pacify gcc -fanalyzer on zerosize_ptr
6088         * tests/test-memcasecmp.c (main):
6089         * tests/test-memchr.c (main):
6090         * tests/test-memchr2.c (main):
6091         * tests/test-memcmp.c (main):
6092         * tests/test-memmem.c (main):
6093         * tests/test-memrchr.c (main):
6094         * tests/unistr/test-chr.h (main):
6095         * tests/unistr/test-cmp.h (test_cmp):
6096         Check whether zerosize_ptr returns NULL before using it.
6097         This pacifies GCC 10.1’s new fanalyzer option, and matches
6098         other uses of zerosize_ptr.
6100 2020-07-01  Bruno Haible  <bruno@clisp.org>
6102         asyncsafe-spin: Add tests.
6103         * tests/test-asyncsafe-spin1.c: New file.
6104         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
6105         tests/test-pthread-spin.c.
6106         * modules/asyncsafe-spin-tests: New file.
6108 2020-07-01  Bruno Haible  <bruno@clisp.org>
6110         asyncsafe-spin: New module.
6111         * lib/asyncsafe-spin.h: New file.
6112         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
6113         * modules/asyncsafe-spin: New file.
6115 2020-07-01  Bruno Haible  <bruno@clisp.org>
6117         windows-spin: Fix race condition on multiprocessor systems.
6118         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
6120 2020-07-01  Bruno Haible  <bruno@clisp.org>
6122         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
6123         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6124         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
6125         an implementation based on other GCC built-ins.
6127 2020-07-01  Bruno Haible  <bruno@clisp.org>
6129         pthread-spin: Optimize fallback for GCC versions >= 4.7.
6130         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
6131         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
6132         lock byte.
6134 2020-07-01  Bruno Haible  <bruno@clisp.org>
6136         pthread-spin: Add error checking.
6137         * lib/pthread-spin.c: Include <stdbool.h>.
6138         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
6139         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
6140         the unlocks.
6141         * modules/pthread-spin (Depends-on): Add stdbool.
6143 2020-07-01  Bruno Haible  <bruno@clisp.org>
6145         pthread-spin: Add tests.
6146         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
6147         * modules/pthread-spin-tests: New file.
6149 2020-07-01  Bruno Haible  <bruno@clisp.org>
6151         tests: Reduce code duplication.
6152         * tests/atomic-int-posix.h: New file, extracted from
6153         tests/test-pthread-mutex.c.
6154         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
6155         * tests/test-pthread-rwlock.c: Likewise.
6156         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
6157         * modules/pthread-rwlock-tests (Files): Likewise.
6159 2020-07-01  Bruno Haible  <bruno@clisp.org>
6161         tests: Refactor.
6162         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
6163         * tests/test-mtx.c: Include it. Remove the corresponding code.
6164         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
6166 2020-07-01  Bruno Haible  <bruno@clisp.org>
6168         tests: Refactor.
6169         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
6170         * tests/test-lock.c: Include it. Remove the corresponding code.
6171         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
6173 2020-06-29  Bruno Haible  <bruno@clisp.org>
6175         sys_socket: Don't define socklen_t if it is already defined on mingw.
6176         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
6177         <https://savannah.gnu.org/bugs/?57725>,
6178         by Rahul Das <bokul_4u@yahoo.com> in
6179         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
6180         and by Eli Zaretskii <eliz@gnu.org> in
6181         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
6182         * lib/sys_socket.in.h (socklen_t): Remove definition.
6184 2020-06-29  Bruno Haible  <bruno@clisp.org>
6186         alloca-opt: Fix warning on mingw.
6187         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
6188         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
6189         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
6190         whether alloca is defined.
6192 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
6194         getrandom: do not depend on ‘open’ on mingw
6195         Similarly for at-internal, getloadavg.  These modules do not call
6196         the ‘open’ function when they are compiled on mingw.  On mingw,
6197         this avoids having to compile open.c when building Emacs, which
6198         does its own thing with ‘open’.
6199         * modules/at-internal, modules/getloadavg, modules/getrandom:
6200         (Depends-on): Don’t depend on ‘open’ on mingw.
6201         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
6202         * modules/getloadavg (Depends-on):
6203         Depend on intprops, open, stdbool, stdlib only if compiling
6204         getloadavg.c.
6206 2020-06-28  Bruno Haible  <bruno@clisp.org>
6208         doc: Add a note about sigprocmask vs. pthread_sigmask.
6209         * doc/posix-functions/sigprocmask.texi: Add note.
6211 2020-06-28  Bruno Haible  <bruno@clisp.org>
6213         getrandom: Fix compilation errors on older versions of mingw.
6214         Reported by Eli Zaretskii <eliz@gnu.org> in
6215         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
6216         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
6217         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
6218         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
6219         BCryptGenRandom ourselves.
6221 2020-06-28  Bruno Haible  <bruno@clisp.org>
6223         clean-temp: Fix wrong errno in error message.
6224         * lib/clean-temp.c (create_temp_dir): Save errno around
6225         unblock_fatal_signals call.
6227 2020-06-27  Bruno Haible  <bruno@clisp.org>
6229         fatal-signal: Make multithread-safe.
6230         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
6232 2020-06-27  Bruno Haible  <bruno@clisp.org>
6234         clean-temp: Don't force deletion of temporary files on native Windows.
6235         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
6236         argument.
6237         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
6238         * NEWS: Mention the change.
6239         * lib/javacomp.c (write_temp_file): Update.
6241 2020-06-27  Bruno Haible  <bruno@clisp.org>
6243         fatal-signal: Make multithread-safe.
6244         * lib/fatal-signal.c: Include glthread/lock.h.
6245         (at_fatal_signal_lock): New variable.
6246         (at_fatal_signal): Use it.
6247         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
6248         (block_fatal_signals, unblock_fatal_signals): Use them.
6249         * modules/fatal-signal (Depends-on): Add lock.
6251 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
6253         getloadavg: don’t depend on fopen-gnu
6254         This is for Emacs, which does not need fopen-gnu for anything else,
6255         and which would need it only on a NetBSD platform where getloadavg
6256         does not work (does that even happen?).
6257         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
6258         * modules/getloadavg (Depends-on): Remove fopen-gnu.
6260         * tests/test-getloadavg.c (main): Fix typo.
6262 2020-06-27  Bruno Haible  <bruno@clisp.org>
6264         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
6265         * modules/tempname (Link): New section.
6266         * modules/mkdtemp (Link): Likewise.
6267         * modules/clean-temp (Link): Likewise.
6268         * modules/mkstemp (Link): Likewise.
6269         * modules/stdlib-safer (Link): Likewise.
6270         * modules/mkstemps (Link): Likewise.
6271         * modules/mkostemp (Link): Likewise.
6272         * modules/mkostemps (Link): Likewise.
6273         * modules/tmpfile (Link): Likewise.
6274         * modules/tmpfile-safer (Link): Likewise.
6275         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
6276         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
6277         $(LIB_GETRANDOM).
6278         * NEWS: Mention the changes.
6280 2020-06-27  Bruno Haible  <bruno@clisp.org>
6282         fopen-gnu: Simplify code.
6283         * lib/fopen.c: Include <stdbool.h>.
6284         (rpl_fopen): Use a single variable open_flags instead of
6285         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
6286         * modules/fopen (Depends-on): Add stdbool.
6288 2020-06-26  Bruno Haible  <bruno@clisp.org>
6290         canonicalize: Improve documentation.
6291         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
6292         return convention.
6294 2020-06-26  Bruno Haible  <bruno@clisp.org>
6296         xgetcwd: Improve documentation.
6297         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
6299 2020-06-26  Bruno Haible  <bruno@clisp.org>
6301         getcwd: Improve documentation.
6302         * lib/getcwd.c (__getcwd): Document the failure return convention.
6304 2020-06-26  Bruno Haible  <bruno@clisp.org>
6306         fchdir: Improve documentation.
6307         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
6308         convention.
6310 2020-06-26  Bruno Haible  <bruno@clisp.org>
6312         filenamecat-lgpl: Set errno upon failure.
6313         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
6314         return convention.
6315         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
6317 2020-06-26  Bruno Haible  <bruno@clisp.org>
6319         areadlink-with-size: Set errno upon failure.
6320         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
6321         fails.
6322         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
6324 2020-06-26  Bruno Haible  <bruno@clisp.org>
6326         copy-file: Shrink dependencies.
6327         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
6328         qcopy-acl.
6330 2020-06-26  Bruno Haible  <bruno@clisp.org>
6332         doc: Mention declaration fixes implemented by some modules.
6333         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
6334         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
6335         declaration appear in <unistd.h>.
6336         * doc/posix-functions/dup.texi: Likewise.
6337         * doc/posix-functions/dup2.texi: Likewise.
6338         * doc/posix-functions/gethostname.texi: Likewise.
6339         * doc/posix-functions/isatty.texi: Likewise.
6340         * doc/posix-functions/lseek.texi: Likewise.
6341         * doc/posix-functions/unlink.texi: Likewise.
6342         * doc/posix-functions/read.texi: Mention the module 'read'.
6343         * doc/posix-functions/write.texi: Mention the effects of the module
6344         'write'.
6346 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6348         c-dtoastr, c-ldtoastr: new modules
6349         These modules provide the same functionality as the modules
6350         dtoastr and ldtoastr except for the formatting taking place in the
6351         C locale.
6352         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
6353         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
6354         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
6355         defined.  Use c_snprintf and c_strtod/c_strtold instead of
6356         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
6357         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
6358         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
6359         modules/c-ldtoastr-tests: New files.
6360         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
6361         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
6363 2020-06-21  Bruno Haible  <bruno@clisp.org>
6365         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
6366         * lib/tzset.c: Include <stdlib.h>, <string.h>.
6368 2020-06-16  Bruno Haible  <bruno@clisp.org>
6370         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
6371         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
6373 2020-06-16  Bruno Haible  <bruno@clisp.org>
6375         thread, thrd: Avoid a compiler warning.
6376         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
6378 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
6380         windows-thread: Avoid a compiler warning.
6381         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
6382         void.
6383         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
6385 2020-06-15  Bruno Haible  <bruno@clisp.org>
6387         unictype/joininggroup-name: Fix warning on 64-bit mingw.
6388         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
6389         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
6390         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
6391         first.
6393 2020-06-06  Bruno Haible  <bruno@clisp.org>
6395         calloc-gnu tests: Avoid a test failure with clang.
6396         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
6397         'volatile', to defeat compiler optimizations.
6399 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6401         getloadavg: fix double-increment bug
6402         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
6403         Linux without glibc, Android, Cygwin.  This fixes a bug I
6404         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
6405         Problem and fix reported by Semen Verchenko in:
6406         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
6408         tempname: use getrandom, not getentropy
6409         This removes a dependency, as getentropy depends on getrandom.
6410         * lib/tempname.c: Include sys/random.h instead of unistd.h.
6411         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
6412         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
6414 2020-06-01  Bruno Haible  <bruno@clisp.org>
6416         doc: New chapter 'Multithreading'.
6417         * doc/multithread.texi: New file.
6418         * doc/gnulib.texi: Include it.
6420 2020-06-01  Bruno Haible  <bruno@clisp.org>
6422         doc: Move 'Running self-tests under valgrind' section.
6423         * doc/gnulib.texi (Build Infrastructure Modules): Include
6424         valgrind-tests.texi here...
6425         (Miscellaneous Notes): ... not here.
6427 2020-06-01  Bruno Haible  <bruno@clisp.org>
6429         doc: Move 'Visual Studio Compatibility' section.
6430         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
6431         here...
6432         (Build Infrastructure Modules): ... not here.
6434 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6436         doc: improve randomness discussion
6437         Inspired by comments from Jeffrey Walton in:
6438         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
6439         * doc/glibc-functions/getentropy.texi (getentropy):
6440         * doc/glibc-functions/getrandom.texi (getrandom):
6441         Improve discussion of problems with "random" data,
6442         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
6444 2020-06-01  Bruno Haible  <bruno@clisp.org>
6446         doc: Fix Texinfo syntax error.
6447         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
6449 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
6451         doc: Change '.' to '@.' where appropriate.
6452         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
6453         * doc/glibc-functions/fstatfs.texi: Likewise.
6454         * doc/glibc-functions/fts_children.texi: Likewise.
6455         * doc/glibc-functions/fts_read.texi: Likewise.
6456         * doc/glibc-functions/getdirentries.texi: Likewise.
6457         * doc/glibc-functions/mkostemp.texi: Likewise.
6458         * doc/glibc-functions/mkostemps.texi: Likewise.
6459         * doc/glibc-functions/mkstemps.texi: Likewise.
6460         * doc/glibc-functions/preadv.texi: Likewise.
6461         * doc/glibc-functions/pwritev.texi: Likewise.
6462         * doc/glibc-functions/sendfile.texi: Likewise.
6463         * doc/glibc-functions/statfs.texi: Likewise.
6464         * doc/gnulib-intro.texi: Likewise.
6465         * doc/gnulib-tool.texi: Likewise.
6466         * doc/intprops.texi: Likewise.
6467         * doc/lib-symbol-visibility.texi: Likewise.
6468         * doc/licenses-texi.texi: Likewise.
6469         * doc/pastposix-functions/bcmp.texi: Likewise.
6470         * doc/pastposix-functions/bcopy.texi: Likewise.
6471         * doc/pastposix-functions/bzero.texi: Likewise.
6472         * doc/pastposix-functions/ecvt.texi: Likewise.
6473         * doc/pastposix-functions/fcvt.texi: Likewise.
6474         * doc/pastposix-functions/ftime.texi: Likewise.
6475         * doc/pastposix-functions/gcvt.texi: Likewise.
6476         * doc/pastposix-functions/getwd.texi: Likewise.
6477         * doc/pastposix-functions/index.texi: Likewise.
6478         * doc/pastposix-functions/mktemp.texi: Likewise.
6479         * doc/pastposix-functions/rindex.texi: Likewise.
6480         * doc/pastposix-functions/wcswcs.texi: Likewise.
6481         * doc/posix-functions/aio_cancel.texi: Likewise.
6482         * doc/posix-functions/aio_error.texi: Likewise.
6483         * doc/posix-functions/aio_fsync.texi: Likewise.
6484         * doc/posix-functions/aio_read.texi: Likewise.
6485         * doc/posix-functions/aio_return.texi: Likewise.
6486         * doc/posix-functions/aio_suspend.texi: Likewise.
6487         * doc/posix-functions/aio_write.texi: Likewise.
6488         * doc/posix-functions/creat.texi: Likewise.
6489         * doc/posix-functions/ctime.texi: Likewise.
6490         * doc/posix-functions/daylight.texi: Likewise.
6491         * doc/posix-functions/fgetpos.texi: Likewise.
6492         * doc/posix-functions/fopen.texi: Likewise.
6493         * doc/posix-functions/freopen.texi: Likewise.
6494         * doc/posix-functions/fseeko.texi: Likewise.
6495         * doc/posix-functions/fsetpos.texi: Likewise.
6496         * doc/posix-functions/fstatat.texi: Likewise.
6497         * doc/posix-functions/fstatvfs.texi: Likewise.
6498         * doc/posix-functions/ftello.texi: Likewise.
6499         * doc/posix-functions/ftruncate.texi: Likewise.
6500         * doc/posix-functions/getrlimit.texi: Likewise.
6501         * doc/posix-functions/lio_listio.texi: Likewise.
6502         * doc/posix-functions/localtime.texi: Likewise.
6503         * doc/posix-functions/lseek.texi: Likewise.
6504         * doc/posix-functions/mkstemp.texi: Likewise.
6505         * doc/posix-functions/mktime.texi: Likewise.
6506         * doc/posix-functions/open.texi: Likewise.
6507         * doc/posix-functions/openat.texi: Likewise.
6508         * doc/posix-functions/opendir.texi: Likewise.
6509         * doc/posix-functions/pread.texi: Likewise.
6510         * doc/posix-functions/pwrite.texi: Likewise.
6511         * doc/posix-functions/readdir.texi: Likewise.
6512         * doc/posix-functions/readdir_r.texi: Likewise.
6513         * doc/posix-functions/scandir.texi: Likewise.
6514         * doc/posix-functions/seekdir.texi: Likewise.
6515         * doc/posix-functions/setrlimit.texi: Likewise.
6516         * doc/posix-functions/statvfs.texi: Likewise.
6517         * doc/posix-functions/strftime.texi: Likewise.
6518         * doc/posix-functions/telldir.texi: Likewise.
6519         * doc/posix-functions/timezone.texi: Likewise.
6520         * doc/posix-functions/tmpfile.texi: Likewise.
6521         * doc/posix-functions/truncate.texi: Likewise.
6522         * doc/posix-functions/tzname.texi: Likewise.
6523         * doc/posix-functions/wcsftime.texi: Likewise.
6524         * doc/windows-sockets.texi: Likewise.
6526 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6528         getrandom-tests: do not assume GRND_RANDOM yields short read
6529         * tests/test-getrandom.c (main): Omit assertion that
6530         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
6531         when b’s size is 100000.  This assertion fails with Linux kernel
6532         5.6.13, as that kernel ignores the GRND_RANDOM flag.
6533         The separate blocking pool is going away in the Linux kernel, and
6534         they’ve added a flag GRND_INSECURE instead; see:
6535         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
6536         The assertion was iffy anyway; what’s to prevent a kernel from
6537         lazily filling a large buffer with random bytes?
6539         read-file-test: pacify --enable-gcc-warnings
6540         * tests/test-read-file.c (test_read_file): Now static.
6542         tempname: merge from glibc and coreutils
6543         Also, merge in Gnulib’s more-recent methods of making it easier
6544         to share between Gnulib and glibc, and fix a few randomness
6545         glitches.
6546         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
6547         (__set_errno): Remove; libc-config.h does that for us.
6548         Do not include <sys/time.h>.
6549         (__secure_getenv) [_LIBC]: New macro.
6550         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
6551         (RANDOM_BITS): Rewrite.
6552         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
6553         (random_value): New typedef.
6554         (try_file, try_dir, try_nocreate): Move up.
6555         (gen_tempname_len, try_tempname_len): New functions.
6556         (gen_tempname_len): Use a constant array rather than a switch.
6557         (try_tempname_len): Don’t assume string length fits in int.
6558         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
6559         has enough entropy (it’s a bit short).
6560         (__gen_tempname): Rewrite in terms of gen_tempname_len.
6561         (__try_tempname): Rewrite in terms of try_tempname_len.
6562         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
6563         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
6564         Add getentropy, libc-config.
6566 2020-05-31  Bruno Haible  <bruno@clisp.org>
6568         getrandom, getentropy: Mention the crypto/gc-random module.
6569         Suggested by Simon Josefsson in
6570         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
6571         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
6572         crypto/gc-random module.
6573         * doc/glibc-functions/getentropy.texi: Likewise.
6575 2020-05-31  Bruno Haible  <bruno@clisp.org>
6577         getentropy: Enhance tests.
6578         * tests/test-getentropy.c (main): Add one more test.
6579         * tests/test-unistd-c++.cc: Check the signature of getentropy.
6581 2020-05-31  Bruno Haible  <bruno@clisp.org>
6583         getentropy: Work around a macOS and Solaris problem.
6584         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
6585         'getentropy' module.
6586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6587         UNISTD_H_HAVE_SYS_RANDOM_H.
6588         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
6589         UNISTD_H_HAVE_SYS_RANDOM_H.
6590         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
6591         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
6592         problem. List more platforms.
6594 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6596         fnmatch: merge from glibc
6597         Also, merge in Gnulib’s more-recent methods of making it easier
6598         to share between Gnulib and glibc.
6599         * lib/fnmatch.c: Reorder includes to match glibc better.
6600         Include libc-config.h instead of config.h.
6601         Include alloca.h only if _LIBC || HAVE_ALLOCA.
6602         Do not include "../locale/elem-hash.h" if _LIBC.
6603         Define macros for btowc, etc. if _LIBC.  All uses simplified.
6604         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
6605         Include intprops.h, since glibc has it now.
6606         (SIZE_MAX): Remove; use (size_t) -1 instead.
6607         Omit the "Comment out all this code" ifdef, since Gnulib
6608         has never really needed it.
6609         (STREQ): Remove; no longer used.
6610         (__libc_use_alloca, alloca, alloca_account): Define as
6611         needed if !_LIBC.
6612         (ISWCTYPE): Remove; all uses replaced by iswctype.
6613         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
6614         (internal_function): Remove.  All uses removed.
6615         (STRUCT): New macro.
6616         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
6617         (WMEMCMP): New macro.
6618         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
6619         and <locale/weightwc.h>.
6620         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
6621         __builtin_expect.  Check for integer overflow more
6622         systematically.  Account for alloca storage better when
6623         recursive.  Use strnlen instead of strlen for efficiency.
6624         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
6625         (struct STRUCT): New type.
6626         (FCT, EXT): New ENDS and ALLOCA_USED args.
6627         All callers changed.
6628         (FCT): Prefer __glibc_unlikely to __builtin_expect.
6629         Simplify by assuming WIDE_CHAR_SUPPORT.
6630         Copy _LIBC code from glibc without worrying Gnulib compatibility.
6631         Cast cold to UCHAR to avoid signedness warning.
6632         (END): Check for invalid pattern.
6633         (EXT): Improve alloca/malloc checking (taken from glibc),
6634         and improve it some more by using intprops.h and checking
6635         for integer overflow and using bool for booleans.
6636         * lib/libc-config.h (compat_symbol): New macro.
6637         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
6638         acceptable to non-GCC when a trailing semicolon is added.
6639         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
6640         libc-config, strnlen.  Remove alloca.
6642 2020-05-31  Bruno Haible  <bruno@clisp.org>
6644         getrandom: Doc and test tweaks.
6645         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
6646         it sets errno when failing.
6647         * tests/test-getrandom.c (main): Disable the high-quality check on those
6648         platforms on which it fails.
6649         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
6650         Cygwin to the list of platforms that don't have the function. Add a note
6651         about the quality of the result.
6652         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
6653         declaration; this is fixed by module 'getrandom'.
6655 2020-05-31  Bruno Haible  <bruno@clisp.org>
6657         getrandom: Add support for native Windows.
6658         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
6659         <wincrypt.h>.
6660         (CRYPT_VERIFY_CONTEXT): New macro.
6661         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
6662         'A'.
6663         (GetProcAddress): New macro.
6664         (BCryptGenRandomFuncType): New type.
6665         (BCryptGenRandomFunc, initialized): New variables.
6666         (initialize): New function.
6667         (getrandom): On native Windows, use <bcrypt.h> API when available, and
6668         <wincrypt.h> API as fallback.
6669         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
6670         * modules/getrandom (Link): New section.
6671         * modules/getentropy (Link): Likewise.
6672         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
6673         $(LIB_GETRANDOM).
6674         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
6675         $(LIB_GETRANDOM).
6676         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
6677         against $(LIB_GETRANDOM).
6678         * doc/glibc-functions/getrandom.texi: Mention the native Windows
6679         support.
6681 2020-05-31  Bruno Haible  <bruno@clisp.org>
6683         getrandom: Simplify the determination of the random number devices.
6684         Suggested by Paul Eggert in
6685         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
6686         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
6687         macros.
6688         * modules/getrandom (Depends-on): Remove crypto/gc-random.
6690 2020-05-31  Bruno Haible  <bruno@clisp.org>
6692         crypto/gc-random: Fix list of crypto devices for Solaris.
6693         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
6695 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
6697         list: fix GCC warnings
6698         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
6699         (gl_tree_next_node, gl_tree_node_nx_set_value)
6700         (gl_tree_previous_node, gl_tree_next_node):
6701         Mark unused arguments.
6702         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
6703         * lib/gl_anylinked_list2.h (gl_linked_node_value)
6704         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
6706         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
6707         the same variable name in nested scopes.
6709 2020-05-31  Bruno Haible  <bruno@clisp.org>
6711         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
6712         Reported by Akim Demaille in
6713         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
6714         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
6715         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
6716         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
6717         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
6718         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
6720 2020-05-30  Bruno Haible  <bruno@clisp.org>
6722         wmemchr: Relicense under LGPLv2+.
6723         * modules/wmemchr (License): Set to LGPLv2+.
6725 2020-05-30  Bruno Haible  <bruno@clisp.org>
6727         wmempcpy: New module.
6728         Reported by Paul Eggert in
6729         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
6730         * lib/wchar.in.h (wmempcpy): New declaration.
6731         * lib/wmempcpy.c: New file.
6732         * m4/wmempcpy.m4: New file.
6733         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
6734         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
6735         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
6736         HAVE_WMEMPCPY.
6737         * modules/wmempcpy: New file.
6738         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
6739         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
6740         * modules/mempcpy (Description): Fix typo.
6742 2020-05-30  Bruno Haible  <bruno@clisp.org>
6744         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
6745         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
6747 2020-05-30  Bruno Haible  <bruno@clisp.org>
6749         sys_random: Work around macOS bug.
6750         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
6751         <stdlib.h> before <sys/random.h>.
6752         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
6753         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
6754         first.
6755         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
6757 2020-05-30  Bruno Haible  <bruno@clisp.org>
6759         getrandom: Override incompatible system function on Solaris 11.
6760         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
6761         * lib/getrandom.c (getrandom): When the system has getrandom, just
6762         invoke it.
6763         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
6764         system's getrandom function's prototype is not the expected one.
6765         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
6766         REPLACE_GETRANDOM.
6767         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
6768         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
6769         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
6770         EAGAIN.
6771         * doc/glibc-functions/getrandom.texi: Mention the new module and the
6772         Solaris problem.
6774 2020-05-30  Bruno Haible  <bruno@clisp.org>
6776         sys_random: Add C++ tests.
6777         * tests/test-sys_random-c++.cc: New file.
6778         * modules/sys_random-c++-tests: New file.
6779         * modules/sys_random-tests (Depends-on): Depend on it.
6781         sys_random: Add tests.
6782         * tests/test-sys_random.c: New file.
6783         * modules/sys_random-tests: New file.
6785         sys_random: New module.
6786         * lib/sys_random.in.h: Use the common idioms for overridable header
6787         files.
6788         * m4/sys_random_h.m4: New file.
6789         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
6790         * modules/sys_random: New file.
6791         * modules/getrandom (Files): Remove lib/sys_random.in.h.
6792         (Depends-on): Add sys_random.
6793         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
6794         gl_UNISTD_MODULE_INDICATOR.
6795         (Makefile.am): Don't generate sys/random.h here.
6796         * doc/glibc-headers/sys_random.texi: New file.
6797         * doc/gnulib.texi: Include it.
6799 2020-05-30  Bruno Haible  <bruno@clisp.org>
6801         unistd: Remove conflicting declaration of getrandom().
6802         * lib/unistd.in.h (getrandom): Remove declaration.
6803         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
6804         declared.
6805         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
6806         HAVE_GETRANDOM.
6807         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
6808         HAVE_GETRANDOM.
6810 2020-05-30  Bruno Haible  <bruno@clisp.org>
6812         getrandom: Add tests.
6813         * tests/test-getrandom.c: New file.
6814         * modules/getrandom-tests: New file.
6816 2020-05-30  Bruno Haible  <bruno@clisp.org>
6818         crypto/gc-random: Fix link error on MSVC.
6819         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
6820         * modules/crypto/gc-random (Link): New section.
6821         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
6822         $(LIB_GC_RANDOM).
6824 2020-05-30  Bruno Haible  <bruno@clisp.org>
6826         Don't assume that UNICODE is not defined.
6827         Many Windows API functions are defined differently (redirecting to a
6828         function with suffix 'W') if the application defines the macro UNICODE
6829         than by default (redirecting to a function with suffix 'A').
6830         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
6831         variant with suffix 'A'.
6832         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
6833         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
6834         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
6835         * lib/getlogin.c (GetUserName): Likewise.
6836         * lib/getlogin_r.c (GetUserName): Likewise.
6837         * lib/gettimeofday.c (LoadLibrary): Likewise.
6838         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
6839         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
6840         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
6841         * lib/mountlist.c (GetDriveType): Likewise.
6842         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
6843         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
6844         Likewise.
6845         * lib/physmem.c (GetModuleHandle): Likewise.
6846         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6847         PeekMessage, DispatchMessage): Likewise.
6848         * lib/progreloc.c (GetModuleFileName): Likewise.
6849         * lib/putenv.c (SetEnvironmentVariable): Likewise.
6850         * lib/read.c (GetNamedPipeHandleState): Likewise.
6851         * lib/readdir.c (FindNextFile): Likewise.
6852         * lib/relocatable.c (GetModuleFileName): Likewise.
6853         * lib/rename.c (MoveFileEx): Likewise.
6854         * lib/rewinddir.c (FindFirstFile): Likewise.
6855         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6856         PeekMessage, DispatchMessage): Likewise.
6857         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
6858         * lib/socket.c (WSASocket): Likewise.
6859         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
6860         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
6861         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
6862         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
6863         * lib/tmpdir.c (GetTempPath): Likewise.
6864         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
6865         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
6866         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
6867         * lib/windows-cond.c (CreateEvent): Likewise.
6868         * lib/windows-rwlock.c (CreateEvent): Likewise.
6869         * lib/windows-timedmutex.c (CreateEvent): Likewise.
6870         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
6871         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
6872         * lib/write.c (GetNamedPipeHandleState): Likewise.
6874 2020-05-30  Bruno Haible  <bruno@clisp.org>
6876         physmem: Fix compilation errors on MSVC.
6877         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
6878         * modules/physmem (Depends-on): Add unistd.
6880 2020-05-29  Bruno Haible  <bruno@clisp.org>
6882         gnulib-tool: Fix link errors with a particular set of modules on mingw.
6883         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
6884         LDADD a second time, after the second occurrence of libtests.a.
6885         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
6887 2020-05-29  Bruno Haible  <bruno@clisp.org>
6889         fnmatch: Rely on more gnulib modules.
6890         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
6891         wmempcpy, mempcpy.
6892         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
6893         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
6894         HAVE_MEMPCPY are all 1.
6895         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
6896         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
6898 2020-05-29  Bruno Haible  <bruno@clisp.org>
6900         Avoid dynamic lookup of Windows API functions when possible.
6901         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
6902         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
6903         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
6904         (use_win32_p): Define differently.
6905         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
6906         CreateHardLinkFunc, initialized, initialize): Don't define in a build
6907         for Windows XP or higher.
6909 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6911         read-file: disable buffering if RF_SENSITIVE is set
6912         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
6913         Suggested by Glenn Strauss.
6914         (fread_file): Suggest calling setvbuf before calling this
6915         function.  Suggested by Bruno Haible.
6917 2020-05-29  Bruno Haible  <bruno@clisp.org>
6919         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
6920         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
6921         program.
6922         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
6923         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
6924         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
6925         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
6927 2020-05-29  Bruno Haible  <bruno@clisp.org>
6929         Fix compilation error on native Windows (regression from 2020-05-28).
6930         Reported by Daiki Ueno.
6931         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
6932         macro when not using dynamic loading.
6933         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
6934         QueryFullProcessImageNameFunc): Likewise.
6935         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
6936         GetFinalPathNameByHandleFunc): Likewise.
6938 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6940         fopen-gnu-tests: fix "\x" escape usage
6941         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
6943 2020-05-28  Bruno Haible  <bruno@clisp.org>
6945         Avoid dynamic loading of Windows API functions when possible.
6946         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6947         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
6948         * lib/gettimeofday.c (GetProcAddress,
6949         GetSystemTimePreciseAsFileTimeFuncType,
6950         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
6951         define in a build for Windows 8 or higher.
6952         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
6953         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
6954         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
6955         in a build for Windows Vista or higher.
6956         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
6957         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
6958         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
6960 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6962         explicit_bzero-tests: improve -Wmissing-declarations pacification
6963         * tests/test-explicit_bzero.c: Now noinline.
6964         Suggested by Bruno Haible in:
6965         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
6967 2020-05-28  Bruno Haible  <bruno@clisp.org>
6969         Fix build errors due to read-file changes (regression from 2020-05-27).
6970         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
6971         invocation.
6972         * tests/test-sameacls.c (main): Likewise.
6973         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
6974         read_binary_file.
6975         * tests/test-pipe-filter-ii1.c (main): Likewise.
6977 2020-05-28  Bruno Haible  <bruno@clisp.org>
6979         fts: Make more robust in multithreaded applications.
6980         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
6981         * modules/fts (Depends-on): Add 'open'.
6983 2020-05-28  Bruno Haible  <bruno@clisp.org>
6985         relocatable-prog: Make more robust in multithreaded applications.
6986         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
6987         relocatable-prog-wrapper.
6988         (find_executable): Pass an O_CLOEXEC flag to open().
6989         * modules/relocatable-prog (Depends-on): Add 'open'.
6991 2020-05-28  Bruno Haible  <bruno@clisp.org>
6993         getloadavg: Make more robust in multithreaded applications.
6994         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
6995         Simplify use of O_CLOEXEC.
6996         * modules/getloadavg (Depends-on): Add 'open'.
6998 2020-05-28  Bruno Haible  <bruno@clisp.org>
7000         vma-iter: Make more robust in multithreaded applications.
7001         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
7002         open().
7003         * modules/vma-iter (Depends-on): Add 'open'.
7005 2020-05-28  Bruno Haible  <bruno@clisp.org>
7007         truncate: Make more robust in multithreaded applications.
7008         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
7010 2020-05-28  Bruno Haible  <bruno@clisp.org>
7012         pagealign_alloc: Make more robust in multithreaded applications.
7013         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
7014         open().
7015         * modules/pagealign_alloc (Depends-on): Add 'open'.
7017 2020-05-28  Bruno Haible  <bruno@clisp.org>
7019         openat: Make more robust in multithreaded applications.
7020         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
7022 2020-05-28  Bruno Haible  <bruno@clisp.org>
7024         at-internal: Make more robust in multithreaded applications.
7025         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
7026         open().
7028 2020-05-28  Bruno Haible  <bruno@clisp.org>
7030         mountlist: Make more robust in multithreaded applications.
7031         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
7032         open().
7033         * modules/mountlist (Depends-on): Add 'open'.
7035 2020-05-28  Bruno Haible  <bruno@clisp.org>
7037         login_tty: Make more robust in multithreaded applications.
7038         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
7039         * modules/login_tty (Depends-on): Add 'open'.
7041 2020-05-28  Bruno Haible  <bruno@clisp.org>
7043         javacomp: Make more robust in multithreaded applications.
7044         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
7045         open().
7046         * modules/javacomp (Depends-on): Add 'open'.
7048 2020-05-28  Bruno Haible  <bruno@clisp.org>
7050         getprogname: Make more robust in multithreaded applications.
7051         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
7052         * modules/getprogname (Depends-on): Add 'open'.
7054 2020-05-28  Bruno Haible  <bruno@clisp.org>
7056         get_progname_of: Make more robust in multithreaded applications.
7057         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
7058         open().
7059         * modules/get_progname_of (Depends-on): Add 'open'.
7061 2020-05-28  Bruno Haible  <bruno@clisp.org>
7063         get_ppid_of: Make more robust in multithreaded applications.
7064         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
7065         * modules/get_ppid_of (Depends-on): Add 'open'.
7067 2020-05-28  Bruno Haible  <bruno@clisp.org>
7069         get-rusage-as: Make more robust in multithreaded applications.
7070         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
7071         flag to open().
7072         * modules/get-rusage-as (Depends-on): Add 'open'.
7074 2020-05-28  Bruno Haible  <bruno@clisp.org>
7076         crypto/gc: Make more robust in multithreaded applications.
7077         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
7078         * modules/crypto/gc (Depends-on): Add 'open'.
7080 2020-05-28  Bruno Haible  <bruno@clisp.org>
7082         copy-file: Make more robust in multithreaded applications.
7083         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
7084         open().
7086 2020-05-28  Bruno Haible  <bruno@clisp.org>
7088         chown: Make more robust in multithreaded applications.
7089         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
7091 2020-05-28  Bruno Haible  <bruno@clisp.org>
7093         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
7094         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
7096 2020-05-28  Daiki Ueno  <ueno@gnu.org>
7098         fopen-gnu: make 'b' flag can be used with 'e' on Windows
7099         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
7100         specified on Windows.
7101         * tests/test-fopen-gnu.c (DATA): New define.
7102         (main): Add test for reading binary files with an 'e' flag.
7104 2020-05-27  Bruno Haible  <bruno@clisp.org>
7106         Don't assume that UNICODE is not defined.
7107         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
7108         differently if the application defines the macro UNICODE.
7109         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
7110         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
7111         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
7112         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
7113         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
7115 2020-05-27  Bruno Haible  <bruno@clisp.org>
7117         Improve pattern for defining _WIN32_WINNT.
7118         Newer versions of the Windows API may not only add, but also remove API
7119         functions. Therefore, when the user is e.g. building for Windows 10, we
7120         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
7121         use of APIs that were present in Windows 8 but removed in Windows 10.
7122         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
7123         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
7124         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
7125         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7126         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
7128 2020-05-27  Bruno Haible  <bruno@clisp.org>
7130         javacomp: Make more robust in multithreaded applications.
7131         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
7132         * modules/javacomp (Depends-on): Add fopen-gnu.
7134 2020-05-27  Bruno Haible  <bruno@clisp.org>
7136         mountlist: Make more robust in multithreaded applications.
7137         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
7138         to fopen.
7139         * modules/mountlist (Depends-on): Add fopen-gnu.
7141 2020-05-27  Bruno Haible  <bruno@clisp.org>
7143         sethostname: Make more robust in multithreaded applications.
7144         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
7145         * modules/sethostname (Depends-on): Add fopen-gnu.
7147 2020-05-27  Bruno Haible  <bruno@clisp.org>
7149         readutmp: Make more robust in multithreaded applications.
7150         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
7151         * modules/readutmp (Depends-on): Add fopen-gnu.
7153 2020-05-27  Bruno Haible  <bruno@clisp.org>
7155         getpass: Make more robust in multithreaded applications.
7156         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
7157         * modules/getpass (Depends-on): Add fopen-gnu.
7159 2020-05-27  Bruno Haible  <bruno@clisp.org>
7161         getloadavg: Make more robust in multithreaded applications.
7162         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
7163         * modules/getloadavg (Depends-on): Add fopen-gnu.
7165 2020-05-27  Bruno Haible  <bruno@clisp.org>
7167         exclude: Make more robust in multithreaded applications.
7168         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
7169         * modules/exclude (Depends-on): Add fopen-gnu.
7171 2020-05-27  Bruno Haible  <bruno@clisp.org>
7173         bitset: Make more robust in multithreaded applications.
7174         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
7175         'e' flag to fopen.
7176         * modules/bitset (Depends-on): Add fopen-gnu.
7178 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7180         read-file: add RF_SENSITIVE flag
7181         * lib/read-file.h (RF_SENSITIVE): New define.
7182         * lib/read-file.c (fread_file, read_file): Take into account of
7183         RF_SENSITIVE flag.
7184         * modules/read-file (Depends-on): Add explicit_bzero.
7185         This adds an alternative behavior of those functions to explicitly
7186         clear the internal memory block when it becomes unused.  This is
7187         useful for reading sensitive information from a file.
7189 2020-05-27  Daiki Ueno  <ueno@gnu.org>
7191         read-file: add flags to modify reading behavior
7192         * lib/read-file.h (RF_BINARY): New define.
7193         (fread_file, read_file): Take FLAGS argument.
7194         (read_binary_file): Remove.
7195         * lib/read-file.c (internal_read_file): Merge into ...
7196         (read_file): ... here.
7197         * modules/read-file-tests (Files): Add "tests/macros.h".
7198         * tests/test-read-file.c (main): Refactor using ASSERT macro.
7199         * NEWS: Mention this change.
7201 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
7203         doc/gnulib-intro.texi: add missing "to" in sentence
7204         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
7205         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
7206         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
7208 2020-05-26  Bruno Haible  <bruno@clisp.org>
7210         count-one-bits: Fix MSVC specific code.
7211         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7212         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
7213         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
7214         using GCC.
7215         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
7216         (__popcnt64): In 32-bit mode, define as an inline function.
7217         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
7219 2020-05-26  Bruno Haible  <bruno@clisp.org>
7221         argz: Avoid name clashes through argz.h.
7222         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7223         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
7224         * lib/argz.h: Don't use __ prefixed identifiers.
7225         (const): Remove definition.
7226         (argz_next): Remove inline definitions.
7228 2020-05-26  Daiki Ueno  <ueno@gnu.org>
7230         read-file: make use of fopen-gnu
7231         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
7232         (read_binary_file): Likewise.
7233         * modules/read-file (Depends-on): Add fopen-gnu.
7235 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7237         getentropy, getrandom: new modules
7238         * MODULES.html.sh (func_all_modules):
7239         * lib/unistd.in.h (getentropy, getrandom):
7240         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
7241         * modules/unistd (unistd.h):
7242         Add support for getentropy, getrandom.
7243         * doc/glibc-functions/getentropy.texi (getentropy):
7244         * doc/glibc-functions/getrandom.texi (getrandom):
7245         These are now fixed on some platforms.
7246         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
7247         * m4/getentropy.m4, m4/getrandom.m4:
7248         * modules/getentropy, modules/getentropy-tests:
7249         * modules/getrandom, modules/getrandom-tests:
7250         * tests/test-getentropy.c, tests/test-getrandom.c:
7251         New files.
7253 2020-05-25  Bruno Haible  <bruno@clisp.org>
7255         Add missing C99 dependencies.
7256         Reported by Paul Smith <psmith@gnu.org> in
7257         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
7258         * modules/assert (Depends-on): Add c99.
7259         * modules/filenamecat-lgpl (Depends-on): Likewise.
7260         * modules/libc-config (Depends-on): Likewise.
7261         * modules/mktime (Depends-on): Likewise.
7262         * modules/random_r (Depends-on): Likewise.
7263         * modules/regex (Depends-on): Likewise.
7264         * modules/scratch_buffer (Depends-on): Likewise.
7265         * modules/timespec-add (Depends-on): Likewise.
7266         * modules/timespec-sub (Depends-on): Likewise.
7267         * modules/verify (Depends-on): Likewise.
7269 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7271         explicit_bzero-tests: pacify -Wmissing-declarations
7272         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
7273         Now static.
7275 2020-05-24  Bruno Haible  <bruno@clisp.org>
7277         fopen-gnu: Add tests.
7278         * tests/test-fopen-gnu.c: New file.
7279         * modules/fopen-gnu-tests: New file.
7281         fopen-gnu: New module.
7282         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
7283         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
7284         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
7285         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
7286         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
7287         * modules/fopen-gnu: New file.
7288         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
7290 2020-05-24  Bruno Haible  <bruno@clisp.org>
7292         open, openat: Really support O_CLOEXEC.
7293         * lib/open.c (open): When have_cloexec is still undecided, do pass a
7294         O_CLOEXEC flag to orig_open.
7295         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
7296         pass a O_CLOEXEC flag to orig_openat.
7297         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
7298         * modules/open-tests (Depends-on): Add fcntl.
7299         * modules/openat-tests (Depends-on): Likewise.
7300         * modules/fcntl-safer-tests (Depends-on): Likewise.
7302 2020-05-24  Bruno Haible  <bruno@clisp.org>
7304         fopen: Fix the trailing slash workaround.
7305         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
7306         write access. Pass the right flags to open().
7307         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
7309 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7311         assure: new macro ‘affirm’
7312         * lib/assure.h: Include verify.h.
7313         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
7314         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
7315         and commentary by Bruno Haible in:
7316         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
7317         * modules/assure (Depends-on:): Add verify.
7319 2020-05-23  Bruno Haible  <bruno@clisp.org>
7321         calloc-gnu: Make test work in non-flat address spaces.
7322         Uses code by Paul Eggert.
7323         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
7324         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
7326 2020-05-23  Bruno Haible  <bruno@clisp.org>
7328         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
7329         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
7330         AC_RUN_IFELSE invocations.
7332 2020-05-23  Bruno Haible  <bruno@clisp.org>
7334         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
7335         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
7336         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
7337         don't have it.
7338         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
7339         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
7340         don't have it.
7341         * lib/isnanf-nolibm.h (__has_builtin): New macro.
7342         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7343         it.
7344         * lib/isnanl-nolibm.h (__has_builtin): New macro.
7345         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7346         it.
7347         * lib/math.in.h (__has_builtin): New macro.
7348         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
7349         it.
7350         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
7351         it.
7352         (isnan): Don't use the builtins on clang versions that don't have
7353         __builtin_isnanf and __builtin_isnanl.
7355 2020-05-23  Bruno Haible  <bruno@clisp.org>
7357         calloc-gnu: Avoid wrong configure results with clang.
7358         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
7359         'volatile', to defeat compiler optimizations.
7361 2020-05-23  Bruno Haible  <bruno@clisp.org>
7363         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
7364         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
7365         'long double' values by reference, with values taken from a statically
7366         allocated array.
7368 2020-05-23  Bruno Haible  <bruno@clisp.org>
7370         findprog-in: Ignore directories.
7371         Reported by Frederick Eaton via Dmitry Goncharov in
7372         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7373         * lib/findprog-in.c (find_in_given_path): When the file found is a
7374         directory, set errno to EACCES and, during a PATH search, continue
7375         searching.
7376         * modules/findprog-in (Depends-on): Add sys_stat, stat.
7378 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7380         verify: document ‘assume’ better
7381         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
7383 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
7385         gendocs: Clarify licenses for templates.
7386         * doc/gendocs_template: Add a GNU All-Permissive license notice
7387         and bump Parent-Version.
7388         * doc/gendocs_template_min: Add a GNU All-Permissive license
7389         notice and copy the explanatory comment about the license notice
7390         at the bottom from gendocs_template.
7392 2020-05-21  Bruno Haible  <bruno@clisp.org>
7394         group-member: Relicense under LGPLv2+.
7395         Jim Meyering's approval is in
7396         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
7397         Paul Eggert's approval is in
7398         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
7399         Eric Blake's approval is in
7400         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
7401         * modules/group-member (License): Change to LGPLv2+.
7403 2020-05-21  Bruno Haible  <bruno@clisp.org>
7405         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
7406         Reported by Tim Rühsen in
7407         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7408         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
7410 2020-05-21  Bruno Haible  <bruno@clisp.org>
7412         regex: Avoid wrong configure results with "clang -fsanitize=leak".
7413         Reported by Tim Rühsen in
7414         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7415         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
7416         before returning with status 0.
7418 2020-05-21  Bruno Haible  <bruno@clisp.org>
7420         glob: Avoid wrong configure results with "clang -fsanitize=leak".
7421         Reported by Tim Rühsen in
7422         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7423         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
7425 2020-05-21  Bruno Haible  <bruno@clisp.org>
7427         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
7428         Reported by Tim Rühsen in
7429         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
7430         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
7431         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
7432         respectively.
7434 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
7436         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
7437         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
7439 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7441         ftoastr: fix ifndef typo
7442         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
7444 2020-05-19  Bruno Haible  <bruno@clisp.org>
7446         havelib: Tweak documentation.
7447         * doc/havelib.texi (Searching for Libraries): Fix typo.
7449 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
7451         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
7452         This was needed earlier because modules had to import the main script,
7453         but that is no longer true.  Rename the script so that it is
7454         consistent with all other scripts in gnulib and uses hyphens.
7455         * build-aux/vcs_to_changelog.py: Rename to...
7456         * build-aux/vcs-to-changelog.py: ... this.
7457         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
7458         * modules/vcs-to-changelog: Likewise.
7460 2020-05-17  Bruno Haible  <bruno@clisp.org>
7462         Clarify intended usage of the license file modules.
7463         Reported by Asher Gordon <AsDaGo@posteo.net> in
7464         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
7465         * doc/licenses-texi.texi (License Texinfo sources): Mention the
7466         GNU AGPL. Explain the intended usage of the modules.
7467         * modules/fdl (Notice): Discourage use as a module.
7468         * modules/fdl-1.3 (Notice): Likewise.
7470 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
7472         hash: add hash_xinsert
7473         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
7475 2020-05-16  Bruno Haible  <bruno@clisp.org>
7477         findprog-lgpl: Fix link error (existing since 2008-09-02).
7478         * modules/findprog-lgpl (Makefile.am): Arrange to compile
7479         findprog-lgpl.c, not findprog.c.
7480         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
7481         XNMALLOC.
7483 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
7485         c-stack: pacify -Wunused-result when DEBUG
7486         Problem reported by Marc Nieper-Wißkirchen in:
7487         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
7488         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
7489         Explicitly ignore write failures.
7491 2020-05-13  Jim Meyering  <meyering@fb.com>
7493         announce-gen: improve a comment
7494         * build-aux/announce-gen: Improve comment.
7496 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
7498         xalloc: pacify -Wanalyzer-possible-null-argument
7499         Problem reported for GCC 10.1.0 by Bruno Haible in:
7500         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
7501         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
7502         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
7503         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
7505 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7507         careadlinkat: fix GCC 10 workaround
7508         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7509         Massage the code so that it’s closer to what it was before
7510         the GCC 10.1.0 workaround was introduced.  This fixes
7511         a loop when !buffer and the bug workaround is in effect.
7512         Remove unnecessary casts.  Defend in a different way
7513         against (buffer && !buffer_size), by adding at least 1
7514         to buf_size each time through the loop.
7516 2020-05-10  Bruno Haible  <bruno@clisp.org>
7518         doc: Mark HP-UX as unsupported.
7519         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
7521 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7523         careadlinkat: limit GCC workaround
7524         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
7525         10.1.0 and later, since the workaround is pretty bad and the GCC
7526         bug should get fixed.
7528 2020-05-10  Bruno Haible  <bruno@clisp.org>
7530         havelib: Enhance documentation.
7531         * doc/havelib.texi (Searching for Libraries): Mention the bad
7532         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
7534 2020-05-10  Bruno Haible  <bruno@clisp.org>
7536         attribute: Clarify list of attributes.
7537         * lib/attribute.h: Reorder the list of attributes, and group them by
7538         purpose.
7540 2020-05-10  Bruno Haible  <bruno@clisp.org>
7542         string: Fix compilation error in C++ mode.
7543         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
7544         _GL_WARN_ON_USE.
7545         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
7546         instead of _GL_WARN_ON_USE.
7548 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
7550         announce-gen: add support for dist-lzip
7551         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
7553 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7555         manywarnings: port to GCC 10.1
7556         * build-aux/gcc-warning.spec:
7557         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
7558         Add GCC 10.1.0 warnings.
7560         careadlinkat: pacify -Wreturn-local-addr
7561         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
7562         Pacify gcc 10’s -Wreturn-local-addr option.
7563         Simplify some of the later code.
7565 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7567         attribute: remove ATTRIBUTE_DEPRECATED
7568         * lib/attribute.h: Improve recently-added comments, mostly
7569         by shortening them (use active voice, etc.).
7570         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
7571         Problem reported by Bruno Haible in:
7572         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
7574 2020-05-09  Bruno Haible  <bruno@clisp.org>
7576         attribute: Add comments.
7577         * lib/attribute.h: Document each macro.
7579 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
7581         bitset: use the attribute module
7582         * modules/bitset: Depend on 'attribute'.
7583         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
7584         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
7585         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
7586         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
7588 2020-05-09  Bruno Haible  <bruno@clisp.org>
7590         c-stack: Fix warning when DEBUG is enabled.
7591         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7592         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
7593         * lib/c-stack.c: Include <stdio.h>.
7595 2020-05-09  Bruno Haible  <bruno@clisp.org>
7597         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
7598         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
7599         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7600         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7601         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7602         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7603         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7604         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7605         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7606         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
7607         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7608         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7609         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7611 2020-05-09  Bruno Haible  <bruno@clisp.org>
7613         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
7614         Reported by Akim Demaille in
7615         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
7616         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
7617         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7618         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7620 2020-05-09  Bruno Haible  <bruno@clisp.org>
7622         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
7623         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
7624         that usually comes from m4/gnulib-common.m4.
7625         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7627 2020-05-09  Bruno Haible  <bruno@clisp.org>
7629         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
7630         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
7631         that usually comes from m4/gnulib-common.m4.
7632         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7633         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7634         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7636 2020-05-09  Bruno Haible  <bruno@clisp.org>
7638         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
7639         * lib/uchar.in.h (char16_t): Define as macro if
7640         GNULIB_OVERRIDES_CHAR16_T.
7641         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
7642         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
7643         (gl_UCHAR_H): Invoke them.
7644         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
7645         GNULIB_OVERRIDES_CHAR32_T.
7646         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
7647         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
7648         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
7649         GNULIB_OVERRIDES_CHAR32_T.
7651 2020-05-09  Bruno Haible  <bruno@clisp.org>
7653         Macro tweaks.
7654         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
7655         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
7657 2020-05-08  Bruno Haible  <bruno@clisp.org>
7659         c32rtomb: Avoid compilation failure on Haiku.
7660         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
7661         inline definitions.
7662         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
7664 2020-05-08  Bruno Haible  <bruno@clisp.org>
7666         mbrtoc32: Avoid compilation failure on Haiku.
7667         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
7668         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
7669         AC_CHECK_FUNCS_ONCE.
7670         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
7672 2020-05-08  Bruno Haible  <bruno@clisp.org>
7674         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
7675         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
7677 2020-05-08  Bruno Haible  <bruno@clisp.org>
7679         list: Update documentation.
7680         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7681         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
7682         * doc/containers.texi (Container data types): Document the new list
7683         operations and their complexity.
7685 2020-05-08  Bruno Haible  <bruno@clisp.org>
7687         ignore-value tests: Use module 'attribute'.
7688         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
7689         * tests/test-ignore-value.c: Include attribute.h.
7690         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
7691         * modules/ignore-value-tests (Depends-on): Add attribute.
7693 2020-05-08  Bruno Haible  <bruno@clisp.org>
7695         uniname/uniname: Use module 'attribute'.
7696         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
7697         * lib/uniname/uninames.h: Regenerated.
7698         * lib/uniname/uniname.c: Include attribute.h.
7699         * modules/uniname/uniname (Depends-on): Add attribute.
7701 2020-05-08  Bruno Haible  <bruno@clisp.org>
7703         c32rtomb: Use module 'attribute'.
7704         * lib/c32rtomb.c: Include attribute.h.
7705         (FALLTHROUGH): Remove macro.
7706         * modules/c32rtomb (Depends-on): Add attribute.
7708 2020-05-08  Bruno Haible  <bruno@clisp.org>
7710         xsize: Use module 'attribute'.
7711         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
7712         * modules/xsize (Depends-on): Add attribute.
7714 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
7716         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
7718         * lib/attribute.h: Minor style fixes.
7720         Fix version-etc glitch on OpenIndiana
7721         Problem reported by Mats Erik Andersson in:
7722         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
7723         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
7724         that now clashes with gnulib-common.h.  All uses changed.
7726 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
7728         attribute: new module
7729         This simplifies use of GCC and C2X attributes like ‘deprecated’.
7730         * MODULES.html.sh: Add attribute.
7731         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
7732         * doc/gnulib.texi (Particular Modules): Add Attributes.
7733         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
7734         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
7735         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
7736         * lib/vasnprintf.c:
7737         Include attribute.h, and let it define FALLTHROUGH.
7738         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
7739         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
7740         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
7741         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
7742         This is a copy since Gawk doesn’t use Gnulib.
7743         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
7744         is incompatible with gl_COMMON_BODY’s.  All uses changed.
7745         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
7746         Keep the existing FALLTHROUGH definition since Glibc might use it,
7747         and it does no harm to Gnulib’s FALLTHROUGH.
7748         * lib/fts_.h, lib/inttostr.h:
7749         (__GNUC_PREREQ): Remove; no longer needed.
7750         (__attribute_warn_unused_result__): Remove.  All uses
7751         replaced by _GL_ATTRIBUTE_NODISCARD.
7752         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
7753         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
7754         __attribute__ ((__warn_unused_result__)), for forward
7755         compatibility to C2X.
7756         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
7757         _GL_ATTRIBUTE_NODISCARD.
7758         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
7759         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
7760         replaced by gl_COMMON_BODY’s implementation, which has a
7761         slightly different signature.
7762         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
7763         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
7764         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
7765         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
7766         No doubt all uses should be replaced, at some point.
7767         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
7768         (_Noreturn): Use it.
7769         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
7770         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
7771         (_GL_ATTRIBUTE_COLD)
7772         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
7773         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
7774         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
7775         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
7776         (_GL_ATTRIBUTE_MAYBE_UNUSED)
7777         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
7778         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
7779         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
7780         (_GL_ATTRIBUTE_RETURNS_NONNULL)
7781         (_GL_ATTRIBUTE_SENTINEL): New macros.
7782         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
7783         * modules/fnmatch, modules/freopen-safer, modules/fts:
7784         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
7785         * modules/quotearg, modules/savewd:
7786         * modules/unistdio/u16-u16-vasnprintf:
7787         * modules/unistdio/u16-vasnprintf:
7788         * modules/unistdio/u32-u32-vasnprintf:
7789         * modules/unistdio/u32-vasnprintf:
7790         * modules/unistdio/u8-u8-vasnprintf:
7791         * modules/unistdio/u8-vasnprintf:
7792         * modules/unistdio/ulc-vasnprintf:
7793         * modules/unistr/u8-uctomb, modules/vasnprintf:
7794         (Depends-on:): Add attribute module.
7796 2020-05-03  Bruno Haible  <bruno@clisp.org>
7798         bison: Fix today's commit.
7799         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
7801 2020-05-03  Bruno Haible  <bruno@clisp.org>
7803         list-c++: Add get_first, get_last, set_first, set_last operations.
7804         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
7805         set_first, set_last.
7806         * lib/gl_list.h: Tweak comments.
7808 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
7810         bison: rely on bison's %require to check a version requirement
7811         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
7812         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
7813         enough of not.
7814         So far it is the only know Yacc tool that supports '%require'.
7815         Other yaccs will actually even choke on seeing the -o option after the
7816         input file name.
7817         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
7819 2020-05-02  Bruno Haible  <bruno@clisp.org>
7821         list: Add get_first, get_last, set_first, set_last operations.
7822         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
7823         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
7824         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
7826 2020-05-02  Bruno Haible  <bruno@clisp.org>
7828         list: Remove redundant code for remove_first and remove_last operations.
7829         * lib/gl_list.h (struct gl_list_implementation): Remove fields
7830         remove_first, remove_last.
7831         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
7832         * lib/gl_array_list.c: Revert last change.
7833         * lib/gl_carray_list.c: Likewise.
7834         * lib/gl_anylinked_list2.h: Likewise.
7835         * lib/gl_linked_list.c: Likewise.
7836         * lib/gl_linkedhash_list.c: Likewise.
7837         * lib/gl_anytree_list2.h: Likewise.
7838         * lib/gl_avltree_list.c: Likewise.
7839         * lib/gl_avltreehash_list.c: Likewise.
7840         * lib/gl_rbtree_list.c: Likewise.
7841         * lib/gl_rbtreehash_list.c: Likewise.
7842         * lib/gl_sublist.c: Likewise.
7844 2020-05-02  Bruno Haible  <bruno@clisp.org>
7846         bison-i18n: Add support for cross-compilation.
7847         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
7848         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
7849         via Akim Demaille <akim@lrde.epita.fr>.
7850         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
7851         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
7852         Don't use bison's --print-localedir option when cross-compiling.
7853         Also, fix an error message and a comment.
7855 2020-05-01  Bruno Haible  <bruno@clisp.org>
7857         list: Add remove_first and remove_last operations.
7858         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7859         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
7860         * lib/gl_list.h (struct gl_list_implementation): Add fields
7861         remove_first, remove_last.
7862         (gl_list_remove_first, gl_list_remove_last): New functions.
7863         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
7864         functions, based on gl_array_remove_at.
7865         (gl_array_list_implementation): Implement the new operations.
7866         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
7867         New functions, based on gl_carray_remove_at.
7868         (gl_carray_list_implementation): Implement the new operations.
7869         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
7870         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
7871         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
7872         new operations.
7873         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
7874         Likewise.
7875         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
7876         New functions, based on gl_tree_remove_at.
7877         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
7878         new operations.
7879         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7880         Likewise.
7881         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
7882         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
7883         Likewise.
7884         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
7885         New functions, based on gl_sublist_remove_at.
7886         (gl_sublist_list_implementation): Implement the new operations.
7887         * lib/gl_list.hh (class gl_List): Add methods remove_first,
7888         remove_last.
7889         * tests/test-array_list.c (main): Test also gl_list_remove_first and
7890         gl_list_remove_last.
7891         * tests/test-avltree_list.c (main): Likewise.
7892         * tests/test-avltreehash_list.c (main): Likewise.
7893         * tests/test-carray_list.c (main): Likewise.
7894         * tests/test-linked_list.c (main): Likewise.
7895         * tests/test-linkedhash_list.c (main): Likewise.
7896         * tests/test-rbtree_list.c (main): Likewise.
7897         * tests/test-rbtreehash_list.c (main): Likewise.
7899 2020-05-01  Bruno Haible  <bruno@clisp.org>
7901         parse-datetime: Fix a build failure with an older bison version.
7902         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
7903         parse-datetime.tab.c if a suitable version of bison was not found.
7905 2020-05-01  Bruno Haible  <bruno@clisp.org>
7907         bison: New module.
7908         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
7909         m4/parse-datetime.m4.
7910         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
7911         * modules/bison: New file.
7912         * modules/parse-datetime (Files): Remove m4/bison.m4.
7913         (Depends-on): Add bison.
7915 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
7917         Update users.txt.
7918         * users.txt: Add poke.
7920 2020-04-28  Bruno Haible  <bruno@clisp.org>
7922         posix_spawn_file_actions_addfchdir tests: Enhance test.
7923         * tests/test-posix_spawn5.c: Include findprog.h.
7924         (test): New function, extracted from main.
7925         (main): Invoke it. Also, invoke it with a program name such as
7926         "bin/pwd".
7927         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
7928         findprog.
7930 2020-04-28  Bruno Haible  <bruno@clisp.org>
7932         posix_spawn_file_actions_addchdir tests: Enhance test.
7933         * tests/test-posix_spawn4.c: Include findprog.h.
7934         (test): New function, extracted from main.
7935         (main): Invoke it. Also, invoke it with a program name such as
7936         "bin/pwd".
7937         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
7938         findprog.
7940 2020-04-28  Bruno Haible  <bruno@clisp.org>
7942         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
7943         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
7944         access elements of the wrong union member.
7946 2020-04-27  Bruno Haible  <bruno@clisp.org>
7948         getdate: Remove deprecated module.
7949         * modules/getdate: Remove file.
7950         * doc/getdate.texi: Remove file.
7951         * lib/getdate.h: Remove file.
7952         * NEWS: Mention the removal.
7954 2020-04-27  Bruno Haible  <bruno@clisp.org>
7956         realloc: Remove deprecated module.
7957         * modules/realloc: Remove file.
7958         * NEWS: Mention the removal.
7960 2020-04-27  Bruno Haible  <bruno@clisp.org>
7962         calloc: Remove deprecated module.
7963         * modules/calloc: Remove file.
7964         * NEWS: Mention the removal.
7966 2020-04-27  Bruno Haible  <bruno@clisp.org>
7968         malloc: Remove deprecated module.
7969         * modules/malloc: Remove file.
7970         * NEWS: Mention the removal.
7972 2020-04-27  Bruno Haible  <bruno@clisp.org>
7974         fnmatch-posix: Remove deprecated module.
7975         * modules/fnmatch-posix: Remove file.
7976         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
7977         * NEWS: Mention the removal.
7979 2020-04-27  Bruno Haible  <bruno@clisp.org>
7981         pipe: Remove deprecated module.
7982         * modules/pipe: Remove file.
7983         * lib/pipe.h: Remove file.
7984         * NEWS: Mention the removal.
7986 2020-04-27  Bruno Haible  <bruno@clisp.org>
7988         getopt: Remove deprecated module.
7989         * modules/getopt: Remove file.
7990         * NEWS: Mention the removal.
7992 2020-04-27  Bruno Haible  <bruno@clisp.org>
7994         remove-dest-slash: Remove deprecated module.
7995         * modules/rename-dest-slash: Remove file.
7996         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
7997         Update.
7998         * NEWS: Mention the removal.
8000 2020-04-27  Bruno Haible  <bruno@clisp.org>
8002         unictype/bidicategory-*: Remove deprecated modules.
8003         * modules/unictype/bidicategory-all: Remove file.
8004         * modules/unictype/bidicategory-byname: Remove file.
8005         * modules/unictype/bidicategory-name: Remove file.
8006         * modules/unictype/bidicategory-of: Remove file.
8007         * modules/unictype/bidicategory-test: Remove file.
8008         * MODULES.html.sh (Unicode string functions): Update.
8009         * NEWS: Mention the removals.
8011 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8013         Tune fts for FTS_LOGICAL+FTS_NOSTAT
8014         From a suggestion by Askar Safin in:
8015         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
8016         * lib/fts.c (fts_build): If file types are known, optimize
8017         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
8018         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
8019         non-directories.
8021 2020-04-19  Bruno Haible  <bruno@clisp.org>
8023         vasnprintf: Add support for printing wide characters using escapes.
8024         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
8025         (wctomb_fallback): New function.
8026         (local_wctomb): New function.
8027         (local_wcrtomb): New function or macro.
8028         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
8029         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
8030         %lc.
8032 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8034         fts: remove NOSTAT_LEAF_OPTIMIZATION
8035         It caused ‘find’ and ‘du’ to dump core, and it was useful
8036         only for obsolescent Linux filesystems anyway.  Problem reported in:
8037         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
8038         Quite possibly there is still a serious underlying fts bug with
8039         tight-loop-check and mutating file systems, but if so this patch
8040         should cause the bug to be triggered less often.
8041         * lib/fts.c (enum leaf_optimization): Remove
8042         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
8043         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
8044         (leaf_optimization): Remove special cases for ReiserFS and XFS.
8045         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
8046         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
8047         Remove.  All uses removed.
8049 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8051         explicit_bzero: Improve code style.
8052         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
8054 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8056         explicit_bzero: On native Windows, use SecureZeroMemory().
8057         * lib/explicit_bzero.c: Include <windows.h>.
8058         (explicit_bzero): On native Windows, use SecureZeroMemory.
8060 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8062         explicit_bzero: Use memset_s() when available.
8063         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
8064         (explicit_bzero): Use memset_s when available.
8065         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
8067 2020-04-13  Bastien Roucariès  <rouca@debian.org>
8069         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
8070         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
8071         free() that overwrite the memory with canaries.
8073 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
8075         bootstrap: recommend git submodule update --init
8076         Reported by Bruno Haible.
8077         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
8078         * build-aux/bootstrap: recommand "git submodule update --init"
8079         rather than "git submodule init".
8081 2020-04-12  Bruno Haible  <bruno@clisp.org>
8083         explicit_bzero: Add tests.
8084         * tests/test-explicit_bzero.c: New file.
8085         * modules/explicit_bzero-tests: New file.
8087 2020-04-11  Bruno Haible  <bruno@clisp.org>
8089         explicit_bzero: Relicense under LGPLv2+.
8090         Approved by Paul Eggert.
8091         * modules/explicit_bzero (License): Change to LGPLv2+.
8093 2020-04-10  Bruno Haible  <bruno@clisp.org>
8095         findprog, relocatable-prog: Ignore directories during PATH search.
8096         Reported by Frederick Eaton via Dmitry Goncharov in
8097         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
8099         * lib/findprog.c (find_in_path): When the file found in a PATH element
8100         is a directory, continue searching.
8101         * modules/findprog (Depends-on): Add sys_stat, stat.
8102         * modules/findprog-lgpl (Depends-on): Likewise.
8104         * lib/progreloc.c (maybe_executable): When the file found in a PATH
8105         element is a directory, continue searching.
8106         * lib/relocwrapper.c: Update comments.
8107         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
8108         (configure.ac-early): New section.
8110 2020-04-10  Bruno Haible  <bruno@clisp.org>
8112         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
8113         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8114         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
8115         * MODULES.html.sh: In a git-less tarball, use the date of the first
8116         ChangeLog entry.
8118 2020-04-04  Bruno Haible  <bruno@clisp.org>
8120         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
8121         * m4/gettext.m4: Fix comments regarding the gettext library.
8122         * m4/intl-thread-locale.m4: Likewise.
8123         * m4/intlmacosx.m4: Likewise.
8124         * m4/lcmessage.m4: Likewise.
8125         * m4/nls.m4: Likewise.
8126         * m4/po.m4: Likewise.
8127         * m4/progtest.m4: Likewise.
8129 2020-04-04  Jim Meyering  <meyering@fb.com>
8131         maint: remove a stray inter-word space in a 6x-repeated comment
8132         Induce the changes by running this:
8133           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
8134         * build-aux/announce-gen: Change "by  perl" to "by perl".
8135         * build-aux/gitlog-to-changelog: Likewise.
8136         * build-aux/prefix-gnulib-mk: Likewise.
8137         * build-aux/update-copyright: Likewise.
8138         * build-aux/useless-if-before-free: Likewise.
8139         * tests/test-update-copyright.sh: Likewise.
8141 2020-03-28  Bruno Haible  <bruno@clisp.org>
8143         Use module 'filename' instead of module 'dosname'.
8145         * lib/at-func.c: Include filename.h instead of dosname.h.
8146         * lib/unlinkat.c: Likewise.
8147         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
8148         * modules/areadlinkat-with-size (Depends-on): Likewise.
8149         * modules/faccessat (Depends-on): Likewise.
8150         * modules/fchmodat (Depends-on): Likewise.
8151         * modules/fchownat (Depends-on): Likewise.
8152         * modules/fstatat (Depends-on): Likewise.
8153         * modules/mkdirat (Depends-on): Likewise.
8154         * modules/mkfifoat (Depends-on): Likewise.
8155         * modules/readlinkat (Depends-on): Likewise.
8156         * modules/selinux-at (Depends-on): Likewise.
8157         * modules/symlinkat (Depends-on): Likewise.
8158         * modules/unlinkat (Depends-on): Likewise.
8159         * modules/utimensat (Depends-on): Likewise.
8161         * lib/at-func2.c: Include filename.h instead of dosname.h.
8162         * modules/linkat (Depends-on): Add filename. Remove dosname.
8163         * modules/renameatu (Depends-on): Likewise.
8165         * lib/canonicalize.c: Include filename.h instead of dosname.h.
8166         * lib/canonicalize-lgpl.c: Likewise.
8167         * modules/canonicalize (Depends-on): Add filename.
8168         * modules/canonicalize-lgpl (Depends-on): Likewise.
8170         * lib/dirname.h: Include filename.h instead of dosname.h.
8171         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
8173         * lib/fchdir.c: Include filename.h instead of dosname.h.
8174         * modules/fchdir (Depends-on): Add filename. Remove dosname.
8176         * lib/openat.c: Include filename.h instead of dosname.h.
8177         * modules/openat (Depends-on): Add filename. Remove dosname.
8179         * lib/rmdir.c: Include filename.h instead of dosname.h.
8180         * modules/rmdir (Depends-on): Add filename. Remove dosname.
8182         * lib/savewd.c: Include filename.h instead of dosname.h.
8183         * modules/savewd (Depends-on): Add filename. Remove dosname.
8185         * lib/unlink.c: Include filename.h instead of dosname.h.
8186         * modules/unlink (Depends-on): Add filename. Remove dosname.
8188         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
8189         * lib/relocwrapper.c: Update comments.
8191         * modules/lstat (Depends-on): Remove dosname.
8193 2020-03-28  Bruno Haible  <bruno@clisp.org>
8195         dosname: Redirect to 'filename'.
8196         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8197         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
8198         * lib/dosname.h: Remove all definitions. Just include filename.h.
8199         * modules/dosname (Status, Notice): Mark as deprecated.
8200         (Depends-on): Add 'filename'.
8202 2020-03-28  Bruno Haible  <bruno@clisp.org>
8204         dosname: Change IS_RELATIVE_FILE_NAME.
8205         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
8206         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
8207         * NEWS: Mention the change.
8209 2020-03-28  Bruno Haible  <bruno@clisp.org>
8211         filename: Copy some definitions from module 'dosname'.
8212         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
8213         (HAS_DEVICE): Document macro.
8214         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
8215         (IS_ABSOLUTE_FILE_NAME): Consider
8216         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
8217         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
8218         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
8219         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
8220         IS_PATH_WITH_DIR.
8221         (DllMain): Update.
8222         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
8223         IS_PATH_WITH_DIR.
8224         (find_executable): Update.
8225         * NEWS: Document the deprecations.
8227 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8229         getopt-posix: port __GETOPT_PREFIX to macOS
8230         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
8231         Define to work around a problem with asm on macOS (Bug#40205).
8233 2020-03-22  Bruno Haible  <bruno@clisp.org>
8235         MODULES.html.sh: Add support for reproducible builds.
8236         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
8237         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
8238         * MODULES.html.sh: Print the date of the last gnulib commit, not the
8239         current date.
8241 2020-03-22  Bruno Haible  <bruno@clisp.org>
8243         Several modules: Depend on stat.
8244         * modules/acl-permissions (Depends-on): Add stat.
8245         * modules/canonicalize (Depends-on): Likewise.
8246         * modules/file-has-acl (Depends-on): Likewise.
8247         * modules/fstat (Depends-on): Likewise.
8248         * modules/fstatat (Depends-on): Likewise.
8249         * modules/glob (Depends-on): Likewise.
8250         * modules/javacomp (Depends-on): Likewise.
8251         * modules/linkat (Depends-on): Likewise.
8252         * modules/mkdir (Depends-on): Likewise.
8253         * modules/pt_chown (Depends-on): Likewise.
8254         * modules/ptsname_r (Depends-on): Likewise.
8255         * modules/readlinkat (Depends-on): Likewise.
8256         * modules/rename (Depends-on): Likewise.
8257         * modules/renameatu (Depends-on): Likewise.
8258         * modules/tmpdir (Depends-on): Likewise.
8259         * modules/utimens (Depends-on): Likewise.
8260         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
8261         * modules/same (Depends-on): Remove stat.
8263 2020-03-22  Bruno Haible  <bruno@clisp.org>
8265         acl-permissions: Improve autoconf macro.
8266         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
8267         more reliably.
8269 2020-03-22  Bruno Haible  <bruno@clisp.org>
8271         file-has-acl: Fix module description.
8272         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
8273         (Depends-on): Depend on acl-permissions unconditionally.
8275 2020-03-21  Bruno Haible  <bruno@clisp.org>
8277         unlink: Ensure errno also on native Windows.
8278         * modules/unlink (Depends-on): Add malloc-posix.
8280 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8282         unlink: fix malloc errno typo
8283         Problem reported by Tim Rühsen in:
8284         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
8285         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
8287 2020-03-16  Bruno Haible  <bruno@clisp.org>
8289         *printf-posix: Fix m4 error (regression from 2020-03-08).
8290         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
8291         brackets in AC_COMPILE_IFELSE invocation.
8293 2020-03-08  Bruno Haible  <bruno@clisp.org>
8295         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
8296         * modules/crypto/af_alg (Depends-on): Add fstat.
8297         * modules/renameatu (Depends-on): Likewise.
8298         * modules/same (Depends-on): Likewise.
8299         * modules/term-style-control (Depends-on): Likewise.
8301 2020-03-08  Bruno Haible  <bruno@clisp.org>
8303         *printf-posix: Document why it's overridden on some glibc systems.
8304         Reported by Adrian Bunk <bunk@stusta.de> in
8305         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
8306         * doc/posix-functions/*printf.texi: Document the problem with the %n
8307         directive on some glibc systems.
8308         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
8309         the cross-compilation guesses accordingly.
8311 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8313         open, openat: port to (O_RDWR | O_RDONLY) != 0
8314         Potential portability problem reported by Dan Gohman in:
8315         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
8316         * lib/open.c (open):
8317         * lib/openat.c (rpl_openat):
8318         Don’t assume O_RDONLY is disjoint from O_RDWR.
8320 2020-03-07  Bruno Haible  <bruno@clisp.org>
8322         openat: Fix theoretically possible issue on GNU/Hurd.
8323         Reported by Dan Gohman <sunfish@mozilla.com> in
8324         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
8325         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
8326         ignore the bits that are also set in O_RDONLY.
8328 2020-02-24  Bruno Haible  <bruno@clisp.org>
8330         getloadavg: Don't use /usr/local when cross-compiling on AIX.
8331         Reported by Jens Rehsack <sno@netbsd.org> in
8332         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
8333         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
8334         cross-compiling.
8336 2020-02-24  Bruno Haible  <bruno@clisp.org>
8338         fcntl: Add witness of gnulib override.
8339         Reported by Jens Rehsack <sno@netbsd.org> in
8340         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
8341         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
8342         macros.
8344 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
8346         Update users.txt.
8347         * users.txt: Add datamash, time.
8349 2020-02-23  Bruno Haible  <bruno@clisp.org>
8351         uni*/base: Use 'restrict'.
8352         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
8353         from lib/regex.h.
8354         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
8355         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
8356         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
8357         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
8358         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
8359         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
8360         '_UC_RESTRICT'.
8361         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
8362         u32_conv_to_encoding): Use '_UC_RESTRICT'.
8363         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
8364         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
8365         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
8366         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
8367         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
8368         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
8369         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
8370         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
8371         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
8372         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
8373         '_UC_RESTRICT'.
8374         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
8375         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
8376         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
8377         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
8378         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
8379         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
8380         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
8381         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
8383 2020-02-23  Bruno Haible  <bruno@clisp.org>
8385         glob, spawn: Use improved '_Restrict_' definition.
8386         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
8387         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
8389 2020-02-23  Bruno Haible  <bruno@clisp.org>
8391         crypto/gc: Use 'restrict'.
8392         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
8393         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
8395         crypto/hmac-*: Use 'restrict'.
8396         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
8397         'restrict'.
8398         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
8399         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
8400         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
8401         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
8403         crypto/sm3: Use 'restrict'.
8404         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
8405         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
8407         crypto/*-buffer: Use 'restrict'.
8408         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
8409         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
8411         crypto/sha512-buffer: Use 'restrict'.
8412         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
8413         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
8414         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
8416         crypto/sha256-buffer: Use 'restrict'.
8417         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
8418         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
8419         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
8421         crypto/sha1-buffer: Use 'restrict'.
8422         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
8423         'restrict'.
8424         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
8426         crypto/md5-buffer: Use 'restrict'.
8427         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
8428         'restrict'.
8429         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
8431         crypto/md4: Use 'restrict'.
8432         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
8433         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
8435         crypto/md2: Use 'restrict'.
8436         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
8437         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
8439         crypto/rijndael: Use 'restrict'.
8440         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
8441         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
8442         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
8444         crypto/arctwo: Use 'restrict'.
8445         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
8446         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
8448         crypto/arcfour: Use 'restrict'.
8449         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
8450         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
8452         careadlinkat: Use 'restrict'.
8453         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
8454         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
8455         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
8457         regex-quote: Use 'restrict'.
8458         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
8459         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
8461         system-quote: Use 'restrict'.
8462         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
8463         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
8465         sh-quote: Use 'restrict'.
8466         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
8467         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
8469         quotearg: Use 'restrict'.
8470         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
8471         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
8473         parse-datetime: Use 'restrict'.
8474         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
8475         'restrict'.
8476         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
8478         nstrftime: Use 'restrict'.
8479         * lib/strftime.h (nstrftime): Use 'restrict'.
8480         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
8482         mbstok_r: Use 'restrict'.
8483         * lib/string.in.h (mbstok_r): Use 'restrict'.
8485         xmemcoll: Use 'restrict'.
8486         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
8487         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
8489         memcoll: Use 'restrict'.
8490         * lib/memcoll.h (memcoll): Use 'restrict'.
8491         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
8493         vasnprintf: Use 'restrict'.
8494         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
8495         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
8497         c-vasnprintf: Use 'restrict'.
8498         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
8499         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
8501         c-vsnprintf: Use 'restrict'.
8502         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
8503         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
8505         c-snprintf: Use 'restrict'.
8506         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
8507         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
8509         astrxfrm: Use 'restrict'.
8510         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
8511         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
8513         amemxfrm: Use 'restrict'.
8514         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
8515         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
8517 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8519         fchmodat, lchmod: simplify
8520         It appears that we may have overengineered lchmod and fchmodat,
8521         in that the code was prepared for some hypothetical platforms but
8522         was so complicated that it was hard to understand.  I attempted to
8523         improve the situation by simplifying the code when this
8524         simplification should not hurt on real platforms; we can re-add
8525         complexity later to port to platforms I didn’t know about.
8526         * lib/fchmodat.c (fchmodat):
8527         * lib/lchmod.c (lchmod):
8528         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
8529         around the /proc code that needs it.
8530         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
8531         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
8532         Do not include <config.h> twice.
8533         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
8534         lchmod on any known hosts.
8535         (lchmod): Do not defer to fchmodat, so that the lchmod module
8536         need not depend on the fchmodat module (which is a circular
8537         dependency).  Do not use openat, since ‘open’ suffices.
8538         Coalesce calls to lchmod/chmod.
8539         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
8540         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
8541         * modules/lchmod (Depends-on, configure.ac):
8542         * modules/sys_stat (Depends-on):
8543         Do not worry about replacing lchmod, since that shouldn’t happen.
8544         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
8545         Do not worry about whether lchmod works on non-symlinks,
8546         since every known lchmod works on non-symlinks.
8547         * modules/lchmod (Depends-on):
8548         Remove circular dependency on fchmodat.
8550 2020-02-22  Bruno Haible  <bruno@clisp.org>
8552         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
8553         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
8554         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
8556 2020-02-22  Bruno Haible  <bruno@clisp.org>
8558         Use 'restrict' in all POSIX function declarations.
8559         * lib/iconv.in.h (iconv): Use 'restrict'.
8560         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
8561         * lib/monetary.in.h (strfmon_l): Likewise.
8562         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
8563         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
8564         pthread_mutex_timedlock, pthread_rwlock_init,
8565         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
8566         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
8567         * lib/search.in.h (tdelete): Likewise.
8568         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
8569         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
8570         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
8571         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
8572         Likewise.
8573         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
8574         strtoull): Likewise.
8575         * lib/string.in.h (strncat): Likewise.
8576         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
8577         recvfrom): Likewise.
8578         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
8579         * lib/time.in.h (strftime): Likewise.
8580         * lib/unistd.in.h (readlink, readlinkat): Likewise.
8581         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
8582         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
8583         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
8584         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
8585         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
8586         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
8587         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8588         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8589         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8590         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8591         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8592         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8593         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8594         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8595         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
8596         other *_h.m4 files.
8597         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
8599 2020-02-22  Bruno Haible  <bruno@clisp.org>
8601         Update NEWS.
8602         * NEWS: Mention the last change.
8604 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8606         chmodat, chownat: new modules
8607         These are split from fchmodat, fchownat.  GNU Emacs needs the
8608         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
8609         lchmodat.  Split the latter two into a new module chmodat.
8610         Similarly for fchownat.  This the same basic idea for why statat
8611         was split from fstatat on 2013-01-23.
8612         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
8613         Rename from FCHMODAT_INLINE.  All uses changed.
8614         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
8615         Rename from FCHOWNAT_INLINE.  All uses changed.
8616         * lib/openat.h:
8617         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
8618         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
8619         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
8620         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
8621         (configure.ac): Remove fchmodat module indicator.
8622         (Makefile.am): Omit chmodat.c.
8623         (Maintainer): Add self.
8624         * modules/fchownat: Similarly, but for chown.
8625         * tests/test-fchownat.c (BASE): Don't define if already defined.
8626         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
8628 2020-02-22  Bruno Haible  <bruno@clisp.org>
8630         users.txt: Add groff.
8631         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
8632         * users.txt: Add groff.
8634 2020-02-22  Bruno Haible  <bruno@clisp.org>
8636         gnulib-tool: Ensure copied files are writable.
8637         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
8638         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
8639         * gnulib-tool (func_ensure_writable): New function.
8640         (func_ln_s, func_hardlink, func_lookup_file, func_import,
8641         func_create_testdir, copy-file): Invoke it after copying a file.
8643 2020-02-22  Bruno Haible  <bruno@clisp.org>
8645         users.txt: Update.
8646         * users.txt: Update URLs to projects that have moved or switched to git.
8647         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
8648         over the summary view. Add gawk.
8650 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
8652         largefile: remove _DARWIN_USE_64_BIT_INODE
8653         It’s not needed in currently-supported macOS versions, and was
8654         problematic anyway in MacOS X 10.5 which was the only version that
8655         could use it.  Problem reported by Peter Eisentraut in:
8656         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
8657         * m4/largefile.m4 (AC_SYS_LARGEFILE):
8658         Don’t define _DARWIN_USE_64_BIT_INODE.
8659         This syncs with Autoconf master.
8661         Add ‘extern "C"’ to count-one-bits.h etc.
8662         This ports these .h files to C++.
8663         Problem reported by Simon Marchi in:
8664         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
8665         * lib/count-leading-zeros.h, lib/count-one-bits.h:
8666         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
8668 2020-02-19  Bruno Haible  <bruno@clisp.org>
8670         uninorm/decompose-internal: Avoid "no previous prototype" warning.
8671         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8672         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
8673         * lib/array-mergesort.h: Accept an optional macro definition
8674         STATIC_FROMTO.
8675         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
8677 2020-02-16  Bruno Haible  <bruno@clisp.org>
8679         fchmodat: Make more future-proof.
8680         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
8681         NEED_FCHMODAT_NONSYMLINK_FIX.
8682         (gl_PREREQ_FCHMODAT): New macro.
8683         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
8684         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
8685         without lchmod function.
8686         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
8688 2020-02-16  Bruno Haible  <bruno@clisp.org>
8690         lchmod: Make more future-proof.
8691         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
8692         (gl_PREREQ_LCHMOD): New macro.
8693         * lib/lchmod.c (orig_lchmod): New function.
8694         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
8695         Return EOPNOTSUPP only on Linux and on platforms without lchmod
8696         function.
8697         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
8699         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
8700         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
8702 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8704         xnanosleep: prefer pause, and get remaining time
8705         Problem reported by Vladimir Panteleev in:
8706         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
8707         * lib/xnanosleep.c: Include intprops.h, unistd.h.
8708         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
8709         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
8710         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
8711         * modules/xnanosleep (Depends-on): Add intprops, unistd.
8713 2020-02-16  Bruno Haible  <bruno@clisp.org>
8715         lchmod: Improve cross-compilation guess.
8716         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
8717         cross-compiling, guess depending on the platform.
8719 2020-02-16  Bruno Haible  <bruno@clisp.org>
8721         fstrcmp: Add API to clean up resources.
8722         Reported by Akim Demaille <akim@lrde.epita.fr> in
8723         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
8724         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
8725         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
8727 2020-02-14  Bruno Haible  <bruno@clisp.org>
8729         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
8730         Reported by Christian Biesinger in
8731         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
8732         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
8733         corresponding module is not enabled.
8734         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
8735         prototype if the corresponding module is not enabled.
8737 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
8739         fchmodat, lchmod: port to buggy Linux filesystems
8740         Problem reported by Florian Weimer in:
8741         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
8742         * lib/fchmodat.c (fchmodat):
8743         * lib/lchmod.c (lchmod):
8744         Don’t assume that chmod on the O_PATH-opened fd will do
8745         the right thing on a symbolic link.
8746         * lib/fchmodat.c (fchmodat):
8747         Don’t attempt to special-case
8748         any flag value other than AT_SYMLINK_NOFOLLOW.
8750 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
8752         lchmod: pacify Coverity CID 1491216
8753         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
8754         not complain about unreachable code at the ‘struct stat st;’
8755         declaration.
8757 2020-02-10  Bruno Haible  <bruno@clisp.org>
8759         copysignf: Fix link error on HP-UX with cc.
8760         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
8761         HP-UX, set COPYSIGNF_LIBM to -lm.
8763 2020-02-10  Bruno Haible  <bruno@clisp.org>
8765         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
8766         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
8767         with $(LIB_SEMAPHORE).
8768         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
8769         with $(LIB_SEMAPHORE).
8771 2020-02-10  Bruno Haible  <bruno@clisp.org>
8773         ptsname_r-tests: Avoid unused function warning.
8774         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
8776 2020-02-08  Bruno Haible  <bruno@clisp.org>
8778         lchmod: Add tests.
8779         * tests/test-lchmod.c: New file.
8780         * modules/lchmod-tests: New file.
8782 2020-02-08  Bruno Haible  <bruno@clisp.org>
8784         lchmod: Ensure declaration on HP-UX.
8785         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
8786         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
8788 2020-02-08  Bruno Haible  <bruno@clisp.org>
8790         fchmodat: Strengthen tests.
8791         * tests/test-fchmodat.c (BASE): New macro.
8792         (main): Use it, to avoid conflicts with other unit tests. Verify that
8793         fchmodat changed the file permission bits.
8795 2020-02-08  Bruno Haible  <bruno@clisp.org>
8797         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
8798         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
8799         '#undef __need_system_sys_stat_h'.
8801 2020-02-08  Bruno Haible  <bruno@clisp.org>
8803         fchmodat: Improve cross-compilation guesses.
8804         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
8805         cross-compiling, guess depending on the platform.
8806         * doc/posix-functions/fchmodat.texi: Clarify.
8808 2020-02-08  Bruno Haible  <bruno@clisp.org>
8810         Fix compilation errors in a testdir created with --with-c++-tests.
8811         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
8812         since it does not work any more with g++ >= 4.4.
8814 2020-02-08  Bruno Haible  <bruno@clisp.org>
8816         doc: Update for glibc 2.31.
8817         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
8818         * doc/gnulib.texi: Include it.
8819         * doc/pastposix-functions/h_errno.texi: Update.
8820         * doc/posix-functions/*.texi: Likewise.
8822 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
8824         mountlist: consider smb3 file systems as remote
8825         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
8826         "smb3" as remote.
8828 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8830         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
8831         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
8832         they act like chmod on non-symlinks.
8833         * NEWS:
8834         * doc/glibc-functions/lchmod.texi (lchmod):
8835         * doc/posix-functions/fchmodat.texi (fchmodat):
8836         Mention this.
8837         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
8838         config.h, and undef it after including sys/stat.h the first time.
8839         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
8840         sys/stat.h a second time after defining orig_fchmodat.
8841         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
8842         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
8843         * lib/lchmod.c: New file.
8844         * lib/sys_stat.in.h (fchmodat, lchmod):
8845         Support replacing these functions.
8846         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
8847         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
8848         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
8849         Test that lchmod works on non-symlinks.
8850         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
8851         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
8852         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
8853         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
8854         * modules/lchmod (Files): Add lib/lchmod.c.
8855         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
8856         (configure.ac): Compile lchmod.c if needed.
8857         (lib_SOURCES): Add lchmod.c.
8858         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
8859         and REPLACE_LCHMOD.
8860         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
8861         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
8863 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
8865         mountlist: Consider AFS filesystems as remote
8866         df --local relies on the ME_REMOTE macro to determine if a given
8867         mount entry should be considered "local".  There is special logic
8868         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
8869         kernel's kafs module or AuriStorFS is treated as a local mount.
8870         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
8871         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
8873 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8875         Port _Noreturn to older Clang
8876         Problem reported by Jeffery Walton in:
8877         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
8878         * lib/_Noreturn.h (_Noreturn):
8879         * m4/gnulib-common.m4 (gl_COMMON_BODY):
8880         Assume _Noreturn works in Clang 3.5 and later.
8881         It is documented to work in Clang 3.5:
8882         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
8883         and is not documented in Clang 3.4:
8884         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
8885         Apple sets __clang_version__ to a different value, so use
8886         __apple_build_version__ there.  See:
8887         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
8889 2020-02-04  Pádraig Brady  <P@draigBrady.com>
8891         test-canonicalize: avoid unused function warning
8892         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
8893         with the same guard as that used to protect usage of the null_ptr
8894         function, so that one doesn't get a -Wunused warning.
8895         * tests/test-canonicalize-lgpl.c: Likewise.
8897 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8899         libc-config: port to Apple’s Clang variant
8900         * lib/libc-config.h (__glibc_clang_prereq):
8901         Port to Apple’s Clang variant, which uses a different
8902         numbering scheme for __clang_major__.
8904 2020-02-02  Bruno Haible  <bruno@clisp.org>
8906         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
8907         * doc/containers.texi: Document these new modules.
8909 2020-02-02  Bruno Haible  <bruno@clisp.org>
8911         omap-c++: Add tests.
8912         * tests/test-omap-c++.cc: New file.
8913         * modules/omap-c++-tests: New file.
8915         omap-c++: New module.
8916         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
8917         * modules/omap-c++: New file.
8919 2020-02-02  Bruno Haible  <bruno@clisp.org>
8921         map-c++: Add tests.
8922         * tests/test-map-c++.cc: New file.
8923         * modules/map-c++-tests: New file.
8925         map-c++: New module.
8926         * lib/gl_map.hh: New file, based on lib/gl_map.h.
8927         * modules/map-c++: New file.
8929 2020-02-02  Bruno Haible  <bruno@clisp.org>
8931         oset-c++: Add tests.
8932         * tests/test-oset-c++.cc: New file.
8933         * modules/oset-c++-tests: New file.
8935         oset-c++: New module.
8936         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
8937         * modules/oset-c++: New file.
8939 2020-02-02  Bruno Haible  <bruno@clisp.org>
8941         set-c++: Add tests.
8942         * tests/test-set-c++.cc: New file.
8943         * modules/set-c++-tests: New file.
8945         set-c++: New module.
8946         * lib/gl_set.hh: New file, based on lib/gl_set.h.
8947         * modules/set-c++: New file.
8949 2020-02-02  Bruno Haible  <bruno@clisp.org>
8951         list-c++: Add tests.
8952         * tests/test-list-c++.cc: New file.
8953         * modules/list-c++-tests: New file.
8955         list-c++: New module.
8956         * lib/gl_list.hh: New file, based on lib/gl_list.h.
8957         * modules/list-c++: New file.
8959 2020-02-02  Bruno Haible  <bruno@clisp.org>
8961         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
8962         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
8963         '_Noreturn'.
8964         * lib/sigpipe-die.h (sigpipe_die): Likewise.
8966 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8968         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
8969         On x86_64 with glibc-2.30, gcc 9.2 is giving:
8970           error: argument 2 value '18446744073709551615'
8971           exceeds maximum object size 9223372036854775807
8972           [-Werror=alloc-size-larger-than=]
8973         The details of this restriction are discussed at:
8974         https://stackoverflow.com/q/42574890/4421
8975         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
8977 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8979         sysctl.h: avoid including on glibc
8980         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
8981         * lib/physmem.c: Likewise.
8983 2020-02-02  Bruno Haible  <bruno@clisp.org>
8985         list, set, oset, map, omap: Avoid imperative voice in documentation.
8986         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
8987         in the specification of functions.
8988         * lib/gl_set.h: Likewise.
8989         * lib/gl_oset.h: Likewise.
8990         * lib/gl_map.h: Likewise.
8991         * lib/gl_omap.h: Likewise.
8992         * lib/gl_*.h: Likewise.
8994 2020-02-01  Bruno Haible  <bruno@clisp.org>
8996         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
8997         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
8998         does.
9000 2020-01-29  Bruno Haible  <bruno@clisp.org>
9002         array-map, hash-map, linkedhash-map: Fix module description.
9003         * modules/array-map (Description): Fix description.
9004         * modules/hash-map (Description): Likewise.
9005         * modules/linkedhash-map (Description): Likewise.
9007 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9009         dfa: do not depend on isblank
9010         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
9011         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
9012         * modules/dfa (Depends-on): Remove isblank.
9013         * modules/isblank: Add a module indicator, for lib/dfa.c.
9015         dfa: do not assume 64-bit int
9016         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
9017         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
9018         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
9019         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
9020         Fall back to 32-bit words.
9021         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
9022         of 4 64-bit args.  All uses changed.
9024 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9026         regex: remove limits-h dependency
9027         * modules/regex (Depends-on): Remove limits-h, since the
9028         code no longer depends on ULONG_WIDTH already being defined.
9030         regex: port to non-GCC pre-IEC-60559
9031         Problem reported by Arnold Robbins in:
9032         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
9033         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
9035 2020-01-25  Bruno Haible  <bruno@clisp.org>
9037         c32isxdigit: Add tests.
9038         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
9039         * tests/test-c32isxdigit.sh: New file.
9040         * modules/c32isxdigit-tests: New file.
9042         c32isxdigit: New module.
9043         * lib/c32isxdigit.c: New file.
9044         * modules/c32isxdigit: New file.
9045         * doc/posix-functions/iswxdigit.texi: Mention the new module.
9047 2020-01-25  Bruno Haible  <bruno@clisp.org>
9049         c32isupper: Add tests.
9050         * tests/test-c32isupper.c: New file.
9051         * tests/test-c32isupper.sh: New file.
9052         * modules/c32isupper-tests: New file.
9054         c32isupper: New module.
9055         * lib/c32isupper.c: New file.
9056         * modules/c32isupper: New file.
9057         * doc/posix-functions/iswupper.texi: Mention the new module.
9059 2020-01-25  Bruno Haible  <bruno@clisp.org>
9061         c32isspace: Add tests.
9062         * tests/test-c32isspace.c: New file.
9063         * tests/test-c32isspace.sh: New file.
9064         * modules/c32isspace-tests: New file.
9066         c32isspace: New module.
9067         * lib/c32isspace.c: New file.
9068         * modules/c32isspace: New file.
9069         * doc/posix-functions/iswspace.texi: Mention the new module.
9071 2020-01-25  Bruno Haible  <bruno@clisp.org>
9073         c32ispunct: Add tests.
9074         * tests/test-c32ispunct.c: New file.
9075         * tests/test-c32ispunct.sh: New file.
9076         * modules/c32ispunct-tests: New file.
9078         c32ispunct: New module.
9079         * lib/c32ispunct.c: New file.
9080         * modules/c32ispunct: New file.
9081         * doc/posix-functions/iswpunct.texi: Mention the new module.
9083 2020-01-25  Bruno Haible  <bruno@clisp.org>
9085         c32isprint: Add tests.
9086         * tests/test-c32isprint.c: New file.
9087         * tests/test-c32isprint.sh: New file.
9088         * modules/c32isprint-tests: New file.
9090         c32isprint: New module.
9091         * lib/c32isprint.c: New file.
9092         * modules/c32isprint: New file.
9093         * doc/posix-functions/iswprint.texi: Mention the new module.
9095 2020-01-25  Bruno Haible  <bruno@clisp.org>
9097         c32islower: Add tests.
9098         * tests/test-c32islower.c: New file.
9099         * tests/test-c32islower.sh: New file.
9100         * modules/c32islower-tests: New file.
9102         c32islower: New module.
9103         * lib/c32islower.c: New file.
9104         * modules/c32islower: New file.
9105         * doc/posix-functions/iswlower.texi: Mention the new module.
9107 2020-01-25  Bruno Haible  <bruno@clisp.org>
9109         c32isgraph: Add tests.
9110         * tests/test-c32isgraph.c: New file.
9111         * tests/test-c32isgraph.sh: New file.
9112         * modules/c32isgraph-tests: New file.
9114         c32isgraph: New module.
9115         * lib/c32isgraph.c: New file.
9116         * modules/c32isgraph: New file.
9117         * doc/posix-functions/iswgraph.texi: Mention the new module.
9119 2020-01-25  Bruno Haible  <bruno@clisp.org>
9121         c32isdigit: Add tests.
9122         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
9123         * tests/test-c32isdigit.sh: New file.
9124         * modules/c32isdigit-tests: New file.
9126         c32isdigit: New module.
9127         * lib/c32isdigit.c: New file.
9128         * modules/c32isdigit: New file.
9129         * doc/posix-functions/iswdigit.texi: Mention the new module.
9131 2020-01-25  Bruno Haible  <bruno@clisp.org>
9133         c32iscntrl: Add tests.
9134         * tests/test-c32iscntrl.c: New file.
9135         * tests/test-c32iscntrl.sh: New file.
9136         * modules/c32iscntrl-tests: New file.
9138         c32iscntrl: New module.
9139         * lib/c32iscntrl.c: New file.
9140         * modules/c32iscntrl: New file.
9141         * doc/posix-functions/iswcntrl.texi: Mention the new module.
9143 2020-01-25  Bruno Haible  <bruno@clisp.org>
9145         c32isblank: Add tests.
9146         * tests/test-c32isblank.c: New file.
9147         * tests/test-c32isblank.sh: New file.
9148         * modules/c32isblank-tests: New file.
9150         c32isblank: New module.
9151         * lib/c32isblank.c: New file.
9152         * modules/c32isblank: New file.
9153         * doc/posix-functions/iswblank.texi: Mention the new module.
9155 2020-01-25  Bruno Haible  <bruno@clisp.org>
9157         c32isalpha: Add tests.
9158         * tests/test-c32isalpha.c: New file.
9159         * tests/test-c32isalpha.sh: New file.
9160         * modules/c32isalpha-tests: New file.
9162         c32isalpha: New module.
9163         * lib/c32isalpha.c: New file.
9164         * modules/c32isalpha: New file.
9165         * doc/posix-functions/iswalpha.texi: Mention the new module.
9167 2020-01-25  Bruno Haible  <bruno@clisp.org>
9169         c32isalnum: Add tests.
9170         * tests/test-c32isalnum.c: New file.
9171         * tests/test-c32isalnum.sh: New file.
9172         * modules/c32isalnum-tests: New file.
9174         c32isalnum: New module.
9175         * lib/c32isalnum.c: New file.
9176         * lib/c32is-impl.h: New file.
9177         * modules/c32isalnum: New file.
9178         * doc/posix-functions/iswalnum.texi: Mention the new module.
9180 2020-01-25  Bruno Haible  <bruno@clisp.org>
9182         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
9183         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
9184         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
9185         c32isupper, c32isxdigit): New declarations.
9186         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
9187         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9188         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9189         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9190         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9191         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
9192         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
9193         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
9194         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
9195         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
9196         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
9197         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
9198         c32ispunct, c32isspace, c32isupper, c32isxdigit.
9200 2020-01-25  Bruno Haible  <bruno@clisp.org>
9202         mbchar, wctype: Use the corrected iswxdigit function.
9203         * modules/mbchar (Depends-on): Add iswxdigit.
9204         * modules/wctype (Depends-on): Likewise.
9206         iswxdigit: Add tests.
9207         * tests/test-iswxdigit.c: New file.
9208         * tests/test-iswxdigit.sh: New file.
9209         * modules/iswxdigit-tests: New file.
9211         iswxdigit: New module.
9212         * m4/iswxdigit.m4: New file.
9213         * lib/wctype.in.h (iswxdigit): Potentially override.
9214         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
9215         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
9216         * lib/iswxdigit.c: New file.
9217         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
9218         REPLACE_ISWXDIGIT.
9219         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
9220         REPLACE_ISWXDIGIT.
9221         * modules/iswxdigit: New file.
9222         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
9224 2020-01-25  Bruno Haible  <bruno@clisp.org>
9226         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
9227         Reported by John Donoghue <john.david.donoghue@gmail.com> in
9228         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
9229         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
9230         off_t on mingw, invoke _lseeki64 instead of lseek.
9232 2020-01-25  Bruno Haible  <bruno@clisp.org>
9234         iswdigit tests: Avoid test failure on Cygwin.
9235         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
9236         byte sequence, return 0.
9238         iswdigit: Fix test failure on native Windows.
9239         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
9241         mbchar, wctype: Use the corrected iswdigit function.
9242         * modules/mbchar (Depends-on): Add iswdigit.
9243         * modules/wctype (Depends-on): Likewise.
9245         iswdigit: Add tests.
9246         * tests/test-iswdigit.c: New file.
9247         * tests/test-iswdigit.sh: New file.
9248         * modules/iswdigit-tests: New file.
9250         iswdigit: New module.
9251         * m4/iswdigit.m4: New file.
9252         * lib/wctype.in.h (iswdigit): Potentially override.
9253         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
9254         * lib/iswdigit.c: New file.
9255         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
9256         REPLACE_ISWDIGIT.
9257         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
9258         REPLACE_ISWDIGIT.
9259         * modules/iswdigit: New file.
9260         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
9262 2020-01-25  Bruno Haible  <bruno@clisp.org>
9264         hard-locale tests: Make it easy to reuse the musl test.
9265         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
9266         * modules/hard-locale-tests (Files): Add it.
9267         (configure.ac): Invoke gl_MUSL_LIBC.
9269 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
9271         regex: port to Gawk on nonstandard platforms
9272         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
9273         This is useful for Gawk, which does not use the Gnulib stdlib-h
9274         module.  Problem reported by Arnold Robbins in:
9275         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
9277 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9279         regex: fix bug with >=16 subexpressions
9280         * lib/regex_internal.h (struct re_backref_cache_entry):
9281         Use bitset_word_t as the type of eps_reachable_subexps_map,
9282         instead of unsigned short int.  This fixes a bug I introduced
9283         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
9284         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
9285         Remove unused member 'unused'.
9287         regex: simplify definition of BITSET_WORD_BITS
9288         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
9289         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
9290         * lib/regex_internal.h (BITSET_WORD_BITS):
9291         * modules/regex (Depends-on): Add limits-h.
9292         Simplify now that we can use ULONG_WIDTH.
9294 2020-01-20  Bruno Haible  <bruno@clisp.org>
9296         mbrtoc32: Add note about FreeBSD 12.
9297         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
9298         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
9299         affected.
9301 2020-01-20  Bruno Haible  <bruno@clisp.org>
9303         unistr/u8-uctomb: Fix warning.
9304         Reported by Andreas Schwab <schwab@suse.de> in
9305         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
9306         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
9307         (u8_uctomb): Add FALLTHROUGH markers.
9309 2020-01-20  Bruno Haible  <bruno@clisp.org>
9311         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
9312         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
9313         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
9314         (glthread_once): Use it.
9316 2020-01-19  Bruno Haible  <bruno@clisp.org>
9318         threadlib: Disable use of weak symbols on FreeBSD 11.
9319         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9320         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
9321         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
9322         against a bug in FreeBSD 11.
9324 2020-01-19  Bruno Haible  <bruno@clisp.org>
9326         iconv_open: Improve z/OS support.
9327         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
9328         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
9329         Remove mapping for EUC-TW.
9331 2020-01-18  Bruno Haible  <bruno@clisp.org>
9333         Rename ~~gnulib.m4 to zzgnulib.m4.
9334         Suggested by Paul Eggert.
9335         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
9336         * gnulib-tool (func_get_filelist): Update.
9337         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9339 2020-01-18  Bruno Haible  <bruno@clisp.org>
9341         doc: Update license notices.
9342         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
9343         reference to a section or to a "file as part of this distribution".
9345 2020-01-18  Bruno Haible  <bruno@clisp.org>
9347         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
9348         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9349         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
9350         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
9351         AC_EGREP_CPP.
9353 2020-01-18  Bruno Haible  <bruno@clisp.org>
9355         Ensure Automake does not drop ~~gnulib.m4.
9356         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
9357         * m4/gnulib-common.m4 (gl_COMMON): Require it.
9359 2020-01-18  Bruno Haible  <bruno@clisp.org>
9361         Fix major regression from 2020-01-10.
9362         Reported by Paul Eggert in
9363         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
9364         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9365         Don't AC_REQUIRE anything.
9366         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
9367         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
9368         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
9369         use ac_compile instead.
9370         (AC_CHECK_DECL): Remove override.
9371         * m4/~~gnulib.m4: New file.
9372         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
9373         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
9375 2020-01-17  Bruno Haible  <bruno@clisp.org>
9376             Paul Eggert  <eggert@cs.ucla.edu>
9378         glob: Fix use-after-free bug.
9379         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9380         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
9381         * lib/glob.c (__glob): Delay freeing dirname until after the use of
9382         end_name.
9384 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9386         vcs-to-changelog: Fix parsing of fndecl without args.
9387         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
9388         for empty arguments.
9390 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9392         vcs-to-changelog: Add documentation.
9393         * doc/vcs-to-changelog.texi: New file.
9394         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
9395         section.
9397 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9399         vcs-to-changelog: Allow loading of custom quirks file.
9400         * build-aux/vcs_to_changelog.py: New commandline option -q.
9402 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9404         vcs-to-changelog: Fix formatting of ChangeLog output.
9405         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
9406         output.
9408 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
9410         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
9411         Reported in
9412         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
9413         * build-aux/vcstocl/frontend_c.py: Remove shebang.
9415 2020-01-15  Simon Josefsson  <simon@josefsson.org>
9417         crypto/gc-pbkdf2: New module.
9418         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
9419         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
9420         * lib/gc-pbkdf2.c: New file.
9421         * lib/gc-pbkdf2-sha1.c: Use new interface.
9422         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
9423         * modules/crypto/gc-pbkdf2: New file.
9424         * modules/crypto/gc-pbkdf2-tests: New file.
9425         * tests/test-gc-pbkdf2.c: New file.
9427 2020-01-12  Bruno Haible  <bruno@clisp.org>
9429         c32stombs: Add tests.
9430         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
9431         * tests/test-c32stombs-1.sh: New file, based on
9432         tests/test-c32srtombs-1.sh.
9433         * tests/test-c32stombs-2.sh: New file, based on
9434         tests/test-c32srtombs-2.sh.
9435         * tests/test-c32stombs-3.sh: New file, based on
9436         tests/test-c32srtombs-3.sh.
9437         * tests/test-c32stombs-4.sh: New file, based on
9438         tests/test-c32srtombs-4.sh.
9439         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
9441         c32stombs: New module.
9442         * lib/uchar.in.h (c32stombs): New declaration.
9443         * lib/c32stombs.c: New file.
9444         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
9445         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
9446         * modules/c32stombs: New file.
9447         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
9448         * doc/posix-functions/wcstombs.texi: Mention the new module.
9450 2020-01-11  Jim Meyering  <meyering@fb.com>
9452         perl: require the "warnings" module
9453         * m4/perl.m4: Also "use warnings", so we reject the perl found
9454         on at least one IRIX 6.5 system. Reported by Bruno Haible in
9455         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
9457 2020-01-10  Bruno Haible  <bruno@clisp.org>
9459         Fix major regression from 2020-01-04.
9460         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
9461         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
9462         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
9463         AC_DEFUN_ONCE.
9464         (AC_CHECK_DECL): Invoke, not require, it.
9466 2020-01-10  Bruno Haible  <bruno@clisp.org>
9468         c32snrtombs: Add tests.
9469         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
9470         * tests/test-c32snrtombs-1.sh: New file, based on
9471         tests/test-wcsnrtombs1.sh.
9472         * tests/test-c32snrtombs-2.sh: New file, based on
9473         tests/test-wcsnrtombs2.sh.
9474         * tests/test-c32snrtombs-3.sh: New file, based on
9475         tests/test-wcsnrtombs3.sh.
9476         * tests/test-c32snrtombs-4.sh: New file, based on
9477         tests/test-wcsnrtombs4.sh.
9478         * modules/c32snrtombs-tests: New file, based on
9479         modules/wcsnrtombs-tests.
9481         c32snrtombs: New module.
9482         * lib/uchar.in.h (c32snrtombs): New declaration.
9483         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9484         INTERNAL_STATE, WCRTOMB.
9485         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9486         * lib/c32snrtombs.c: New file.
9487         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
9488         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
9489         * modules/c32snrtombs: New file.
9490         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
9491         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
9493 2020-01-09  Bruno Haible  <bruno@clisp.org>
9495         c32srtombs: Add tests.
9496         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
9497         * tests/test-c32srtombs-1.sh: New file, based on
9498         tests/test-wcsrtombs1.sh.
9499         * tests/test-c32srtombs-2.sh: New file, based on
9500         tests/test-wcsrtombs2.sh.
9501         * tests/test-c32srtombs-3.sh: New file, based on
9502         tests/test-wcsrtombs3.sh.
9503         * tests/test-c32srtombs-4.sh: New file, based on
9504         tests/test-wcsrtombs4.sh.
9505         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
9507         c32srtombs: New module.
9508         * lib/uchar.in.h (c32srtombs): New declaration.
9509         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
9510         INTERNAL_STATE, WCRTOMB.
9511         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
9512         * lib/c32srtombs.c: New file.
9513         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
9514         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
9515         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
9516         * modules/c32srtombs: New file.
9517         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
9518         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
9520 2020-01-08  Bruno Haible  <bruno@clisp.org>
9522         c32tob: Make consistent with mbrtoc32.
9523         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
9524         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
9525         use c32rtomb, not wctob.
9526         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
9527         (Depends-on): Add c32rtomb.
9528         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
9530 2020-01-08  Bruno Haible  <bruno@clisp.org>
9532         c32rtomb: Add tests.
9533         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
9534         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
9535         * tests/test-c32rtomb-w32.c: New file, based on
9536         tests/test-wcrtomb-w32.c.
9537         * tests/test-c32rtomb-w32-1.sh: New file, based on
9538         tests/test-wcrtomb-w32-1.sh.
9539         * tests/test-c32rtomb-w32-2.sh: New file, based on
9540         tests/test-wcrtomb-w32-2.sh.
9541         * tests/test-c32rtomb-w32-3.sh: New file, based on
9542         tests/test-wcrtomb-w32-3.sh.
9543         * tests/test-c32rtomb-w32-4.sh: New file, based on
9544         tests/test-wcrtomb-w32-4.sh.
9545         * tests/test-c32rtomb-w32-5.sh: New file, based on
9546         tests/test-wcrtomb-w32-5.sh.
9547         * tests/test-c32rtomb-w32-6.sh: New file, based on
9548         tests/test-wcrtomb-w32-6.sh.
9549         * tests/test-c32rtomb-w32-7.sh: New file, based on
9550         tests/test-wcrtomb-w32-7.sh.
9551         * modules/c32rtomb-tests: New file.
9553         c32rtomb: New module.
9554         * lib/uchar.in.h (c32rtomb): New declaration.
9555         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
9556         * m4/c32rtomb.m4: New file.
9557         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
9558         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
9559         REPLACE_C32RTOMB.
9560         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
9561         HAVE_C32RTOMB, REPLACE_C32RTOMB.
9562         * modules/c32rtomb: New file.
9563         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
9564         * doc/posix-functions/c32rtomb.texi: Document the new module.
9565         * doc/posix-functions/wcrtomb.texi: Mention the new module.
9567 2020-01-08  Bruno Haible  <bruno@clisp.org>
9569         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
9570         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
9571         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
9572         but is not working.
9573         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
9574         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
9575         differ, use the system's mbrtoc32, adding workarounds.
9576         * modules/mbrtoc32 (Depends-on): Add hard-locale.
9577         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
9578         Windows problem.
9579         * lib/btoc32.c: Include <stdio.h>, <string.h>.
9580         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
9581         use mbrtoc32, not btowc.
9582         * modules/btoc32 (Depends-on): Add mbrtoc32.
9583         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
9584         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
9585         * modules/mbsrtoc32s (Depends-on): Update conditions.
9586         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9587         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
9588         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
9589         * modules/mbsnrtoc32s (Depends-on): Update conditions.
9590         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9592 2020-01-07  Bruno Haible  <bruno@clisp.org>
9594         wcrtomb: Make multithread-safe, except possibly on IRIX.
9595         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
9596         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
9597         WCRTOMB_RETVAL_BUG.
9598         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
9599         wctomb only on IRIX.
9601 2020-01-05  Jim Meyering  <meyering@fb.com>
9603         tests: skip thread-using tests when threading is disabled
9604         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
9605         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
9606         of those, so they are skipped in this case.
9607         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
9608         * tests/test-setlocale_null-mt-all.c (main): Likewise.
9609         * tests/test-setlocale_null-mt-one.c (main): Likewise.
9611 2020-01-05  Bruno Haible  <bruno@clisp.org>
9613         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
9614         Reported by Jim Meyering in
9615         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
9616         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
9617         (GNULIB_defined_ptsname_r): New macro.
9618         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
9619         (main): Disable the NULL argument test if canonicalize_file_name does
9620         not come from gnulib.
9621         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
9622         (main): Disable the NULL argument test if canonicalize_file_name does
9623         not come from gnulib.
9624         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
9625         (test_errors): Disable the NULL argument test if ptsname_r does not come
9626         from gnulib.
9628 2020-01-04  Jim Meyering  <meyering@fb.com>
9630         update-copyright: reenable its always-skipped test
9631         * tests/test-update-copyright.sh: Restore the "-pi" options removed
9632         on 2019-06-15. Without those, an internal preliminary test would
9633         fail, causing this test always to be skipped.
9634         Verify that the test is now run and passes via this:
9635           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
9637 2020-01-05  Bruno Haible  <bruno@clisp.org>
9639         mbstoc32s: Add tests.
9640         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
9641         * tests/test-mbstoc32s-1.sh: New file, based on
9642         tests/test-mbsrtoc32s-1.sh.
9643         * tests/test-mbstoc32s-2.sh: New file, based on
9644         tests/test-mbsrtoc32s-2.sh.
9645         * tests/test-mbstoc32s-3.sh: New file, based on
9646         tests/test-mbsrtoc32s-3.sh.
9647         * tests/test-mbstoc32s-4.sh: New file, based on
9648         tests/test-mbsrtoc32s-4.sh.
9649         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
9651         mbstoc32s: New module.
9652         * lib/uchar.in.h (mbstoc32s): New declaration.
9653         * lib/mbstoc32s.c: New file.
9654         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
9655         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
9656         * modules/mbstoc32s: New file.
9657         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
9658         * doc/posix-functions/mbstowcs.texi: Mention the new module.
9660 2020-01-05  Bruno Haible  <bruno@clisp.org>
9662         Tweak recently added tests.
9663         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
9664         * tests/test-mbsrtoc32s.c: Likewise.
9665         * tests/test-mbsnrtoc32s.c: Likewise.
9667 2020-01-04  Bruno Haible  <bruno@clisp.org>
9669         mbsnrtoc32s: Add tests.
9670         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
9671         * tests/test-mbsnrtoc32s-1.sh: New file, based on
9672         tests/test-mbsnrtowcs1.sh.
9673         * tests/test-mbsnrtoc32s-2.sh: New file, based on
9674         tests/test-mbsnrtowcs2.sh.
9675         * tests/test-mbsnrtoc32s-3.sh: New file, based on
9676         tests/test-mbsnrtowcs3.sh.
9677         * tests/test-mbsnrtoc32s-4.sh: New file, based on
9678         tests/test-mbsnrtowcs4.sh.
9679         * modules/mbsnrtoc32s-tests: New file, based on
9680         modules/mbsnrtowcs-tests.
9682         mbsnrtoc32s: New module.
9683         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
9684         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9685         INTERNAL_STATE, MBRTOWC.
9686         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9687         * lib/mbsnrtoc32s.c: New file.
9688         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
9689         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
9690         * modules/mbsnrtoc32s: New file.
9691         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
9692         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
9694 2020-01-04  Bruno Haible  <bruno@clisp.org>
9696         mbsrtoc32s tests: Enhance test.
9697         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
9698         test strings for UTF-8 and GB18030.
9700 2020-01-04  Bruno Haible  <bruno@clisp.org>
9702         mbsrtoc32s: Fix bug.
9703         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
9704         that SMALL_WCHAR_T is defined.
9706 2020-01-04  Bruno Haible  <bruno@clisp.org>
9708         mbsrtoc32s: Add tests.
9709         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
9710         * tests/test-mbsrtoc32s-1.sh: New file, based on
9711         tests/test-mbsrtowcs1.sh.
9712         * tests/test-mbsrtoc32s-2.sh: New file, based on
9713         tests/test-mbsrtowcs2.sh.
9714         * tests/test-mbsrtoc32s-3.sh: New file, based on
9715         tests/test-mbsrtowcs3.sh.
9716         * tests/test-mbsrtoc32s-4.sh: New file, based on
9717         tests/test-mbsrtowcs4.sh.
9718         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
9720         mbsrtoc32s: New module.
9721         * lib/uchar.in.h (mbsrtoc32s): New declaration.
9722         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9723         INTERNAL_STATE, MBRTOWC.
9724         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9725         * lib/mbsrtoc32s.c: New file.
9726         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
9727         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
9728         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
9729         * modules/mbsrtoc32s: New file.
9730         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
9731         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
9733 2020-01-04  Bruno Haible  <bruno@clisp.org>
9735         mbrtowc, mbrtoc32: Tighten dependendies.
9736         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
9737         REPLACE_MBSTATE_T is 1.
9738         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9739         REPLACE_MBSTATE_T is 0.
9740         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
9741         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
9742         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9743         REPLACE_MBSTATE_T is 0.
9745 2020-01-04  Bruno Haible  <bruno@clisp.org>
9747         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
9748         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
9749         * modules/uchar (Files): Add stdint.m4.
9750         (Makefile.am): Substitute SMALL_WCHAR_T.
9751         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
9753 2020-01-04  Bruno Haible  <bruno@clisp.org>
9755         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
9756         Reported by Martin Storsjö <martin@martin.st> in
9757         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
9758         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9759         New macros.
9760         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
9762 2020-01-04  Bruno Haible  <bruno@clisp.org>
9764         btoc32: Add tests.
9765         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
9766         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
9767         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
9768         * modules/btoc32-tests: New file, based on modules/btowc-tests.
9770         btoc32: New module.
9771         * lib/uchar.in.h (btoc32): New declaration.
9772         * lib/btoc32.c: New file.
9773         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
9774         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
9775         * modules/btoc32: New file.
9776         * tests/test-uchar-c++.cc: Test the signature of btoc32.
9777         * doc/posix-functions/btowc.texi: Mention the new module.
9779 2020-01-03  Bruno Haible  <bruno@clisp.org>
9781         uchar tests: Avoid compilation error with HP cc.
9782         * tests/test-uchar.c: Disable a test when HP cc is in use.
9784 2020-01-03  Bruno Haible  <bruno@clisp.org>
9786         mbrtoc32: Add tests.
9787         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
9788         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
9789         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
9790         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
9791         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
9792         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
9793         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
9794         * tests/test-mbrtoc32-w32-1.sh: New file, based on
9795         tests/test-mbrtowc-w32-1.sh.
9796         * tests/test-mbrtoc32-w32-2.sh: New file, based on
9797         tests/test-mbrtowc-w32-2.sh.
9798         * tests/test-mbrtoc32-w32-3.sh: New file, based on
9799         tests/test-mbrtowc-w32-3.sh.
9800         * tests/test-mbrtoc32-w32-4.sh: New file, based on
9801         tests/test-mbrtowc-w32-4.sh.
9802         * tests/test-mbrtoc32-w32-5.sh: New file, based on
9803         tests/test-mbrtowc-w32-5.sh.
9804         * tests/test-mbrtoc32-w32-6.sh: New file, based on
9805         tests/test-mbrtowc-w32-6.sh.
9806         * tests/test-mbrtoc32-w32-7.sh: New file, based on
9807         tests/test-mbrtowc-w32-7.sh.
9808         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
9810         mbrtoc32: New module.
9811         * lib/uchar.in.h (mbrtoc32): New declaration.
9812         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
9813         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
9814         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
9815         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
9816         REPLACE_MBRTOC32.
9817         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
9818         HAVE_MBRTOC32, REPLACE_MBRTOC32.
9819         * modules/mbrtoc32: New file, based on modules/mbrtowc.
9820         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
9821         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
9822         $(LIB_MBRTOWC).
9823         * doc/posix-functions/mbrtoc32.texi: Document the new module.
9824         * doc/posix-functions/mbrtowc.texi: Mention the new module.
9826 2020-01-03  Bruno Haible  <bruno@clisp.org>
9828         mbrtowc: Refactor to share code with mbrtoc32.
9829         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
9830         * lib/mbrtowc-impl-utf8.h: Likewise.
9831         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
9832         mbrtowc-impl.h.
9833         * modules/mbrtowc (Files): Add the new files.
9835 2020-01-03  Jim Meyering  <meyering@fb.com>
9837         doc: fix time.texi wording
9838         * doc/posix-headers/time.texi (time.h): Typo.
9840 2020-01-03  Bruno Haible  <bruno@clisp.org>
9842         mbrtowc: Refactor locale charset dispatching.
9843         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
9844         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
9845         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
9846         localcharset.h, streq.h.
9847         (enc_t): Remove type.
9848         (locale_enc): Remove function.
9849         (cached_locale_enc): Remove variable.
9850         (locale_enc_cached): Remove function.
9851         (mbrtowc): Invoke locale_encoding_classification.
9852         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
9853         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
9854         lc-charset-dispatch.c.
9855         (configure.ac): Arrange to compile lc-charset-dispatch.c.
9857 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9859         doc: mention 32-bit time_t issue
9860         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9861         * doc/posix-headers/time.texi (time.h): Mention 2038.
9863 2020-01-03  Bruno Haible  <bruno@clisp.org>
9865         mbrtowc: Ensure the mbtowc_lock is unique.
9866         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
9867         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
9868         lib/setlocale_null.c.
9869         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
9870         glthread/lock.h. Include mbtowc-lock.h.
9871         (mbtowc_lock): Remove declaration.
9872         (mbrtowc): Use mbtowc_with_lock.
9873         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
9874         threads.h. Set LIB_MBRTOWC.
9875         (gl_PREREQ_MBTOWC_LOCK): New macro.
9876         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
9877         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
9878         (Depends-on): Remove lock.
9879         (configure.ac): Arrange to compile mbtowc-lock.c.
9880         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
9881         * modules/acl (Link): Likewise.
9882         * modules/argmatch (Link): Likewise.
9883         * modules/backup-rename (Link): Likewise.
9884         * modules/backupfile (Link): Likewise.
9885         * modules/closein (Link): Likewise.
9886         * modules/closeout (Link): Likewise.
9887         * modules/copy-file (Link): Likewise.
9888         * modules/csharpcomp (Link): Likewise.
9889         * modules/csharpexec (Link): Likewise.
9890         * modules/dfa (Link): Likewise.
9891         * modules/exclude (Link): Likewise.
9892         * modules/fnmatch (Link): Likewise.
9893         * modules/fnmatch-gnu (Link): Likewise.
9894         * modules/fnmatch-posix (Link): Likewise.
9895         * modules/glob (Link): Likewise.
9896         * modules/human (Link): Likewise.
9897         * modules/javacomp (Link): Likewise.
9898         * modules/javaexec (Link): Likewise.
9899         * modules/javaversion (Link): Likewise.
9900         * modules/mbfile (Link): Likewise.
9901         * modules/mbiter (Link): Likewise.
9902         * modules/mbmemcasecmp (Link): Likewise.
9903         * modules/mbmemcasecoll (Link): Likewise.
9904         * modules/mbrlen (Link): Likewise.
9905         * modules/mbscasecmp (Link): Likewise.
9906         * modules/mbscasestr (Link): Likewise.
9907         * modules/mbschr (Link): Likewise.
9908         * modules/mbscspn (Link): Likewise.
9909         * modules/mbsinit (Link): Likewise.
9910         * modules/mbslen (Link): Likewise.
9911         * modules/mbsncasecmp (Link): Likewise.
9912         * modules/mbsnlen (Link): Likewise.
9913         * modules/mbsnrtowcs (Link): Likewise.
9914         * modules/mbspbrk (Link): Likewise.
9915         * modules/mbspcasecmp (Link): Likewise.
9916         * modules/mbsrchr (Link): Likewise.
9917         * modules/mbsrtowcs (Link): Likewise.
9918         * modules/mbssep (Link): Likewise.
9919         * modules/mbsspn (Link): Likewise.
9920         * modules/mbsstr (Link): Likewise.
9921         * modules/mbstok_r (Link): Likewise.
9922         * modules/mbswidth (Link): Likewise.
9923         * modules/mbuiter (Link): Likewise.
9924         * modules/mkdir-p (Link): Likewise.
9925         * modules/propername (Link): Likewise.
9926         * modules/quote (Link): Likewise.
9927         * modules/quotearg (Link): Likewise.
9928         * modules/quotearg-simple (Link): Likewise.
9929         * modules/regex-quote (Link): Likewise.
9930         * modules/rpmatch (Link): Likewise.
9931         * modules/sh-quote (Link): Likewise.
9932         * modules/system-quote (Link): Likewise.
9933         * modules/trim (Link): Likewise.
9934         * modules/unistdio/ulc-asnprintf (Link): Likewise.
9935         * modules/unistdio/ulc-fprintf (Link): Likewise.
9936         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
9937         * modules/unistdio/ulc-vasprintf (Link): Likewise.
9938         * modules/unistdio/ulc-vfprintf (Link): Likewise.
9939         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
9940         * modules/unistdio/ulc-vsprintf (Link): Likewise.
9941         * modules/xfreopen (Link): Likewise.
9942         * modules/xmemcoll (Link): Likewise.
9943         * modules/yesno (Link): Likewise.
9944         * modules/regex (Link): Add $(LIB_MBRTOWC).
9945         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
9946         instead of $(LIBTHREAD).
9947         * modules/argmatch-tests (Makefile.am): Likewise.
9948         * modules/closein-tests (Makefile.am): Likewise.
9949         * modules/copy-file-tests (Makefile.am): Likewise.
9950         * modules/dfa-tests (Makefile.am): Likewise.
9951         * modules/fnmatch-tests (Makefile.am): Likewise.
9952         * modules/glob-tests (Makefile.am): Likewise.
9953         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9954         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9955         * modules/mbrtowc-tests (Makefile.am): Likewise.
9956         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9957         * modules/mbscasestr-tests (Makefile.am): Likewise.
9958         * modules/mbschr-tests (Makefile.am): Likewise.
9959         * modules/mbscspn-tests (Makefile.am): Likewise.
9960         * modules/mbsinit-tests (Makefile.am): Likewise.
9961         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9962         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9963         * modules/mbspbrk-tests (Makefile.am): Likewise.
9964         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9965         * modules/mbsrchr-tests (Makefile.am): Likewise.
9966         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9967         * modules/mbsspn-tests (Makefile.am): Likewise.
9968         * modules/mbsstr-tests (Makefile.am): Likewise.
9969         * modules/quotearg-simple-tests (Makefile.am): Likewise.
9970         * modules/quotearg-tests (Makefile.am): Likewise.
9971         * modules/readtokens-tests (Makefile.am): Likewise.
9972         * modules/sh-quote-tests (Makefile.am): Likewise.
9973         * modules/system-quote-tests (Makefile.am): Likewise.
9974         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
9975         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9976         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
9977         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
9978         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
9979         * modules/yesno-tests (Makefile.am): Likewise.
9980         * modules/exclude-tests (Makefile.am): Link the programs with
9981         $(LIB_MBRTOWC).
9982         * modules/regex-tests (Makefile.am): Likewise.
9983         * modules/regex-quote-tests (Makefile.am): Likewise.
9985 2020-01-03  Bruno Haible  <bruno@clisp.org>
9987         getopt-posix: Fix compilation failure in testdirs.
9988         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
9989         when the gnulib module 'getopt-posix' is enabled.
9990         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
9991         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
9992         module indicator.
9993         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
9995 2020-01-03  Bruno Haible  <bruno@clisp.org>
9997         doc: Mention the 64-bit inode number problem.
9998         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
9999         64-bit inode number problem.
10000         * doc/posix-functions/stat.texi: Mention that this module fixes the
10001         64-bit inode number problem.
10002         * doc/posix-functions/lstat.texi: Likewise.
10003         * doc/posix-functions/fstat.texi: Likewise.
10004         * doc/posix-functions/readdir.texi: Add more details.
10005         * doc/posix-functions/readdir_r.texi: Likewise.
10007 2020-01-02  Bruno Haible  <bruno@clisp.org>
10009         wcrtomb: Add more tests.
10010         * tests/test-wcrtomb-w32.c: Include localcharset.h.
10011         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10012         locale_charset() returns the expected value; otherwise, skip the test.
10013         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
10014         * tests/test-wcrtomb-w32-7.sh: Likewise.
10015         * modules/wcrtomb-tests (Files): Add these files.
10016         (Depends-on): Add localcharset.
10017         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
10019 2020-01-02  Bruno Haible  <bruno@clisp.org>
10021         mbrtowc: Add more tests.
10022         * tests/test-mbrtowc-w32.c: Include localcharset.h.
10023         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
10024         locale_charset() returns the expected value; otherwise, skip the test.
10025         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
10026         * tests/test-mbrtowc-w32-7.sh: Likewise.
10027         * modules/mbrtowc-tests (Files): Add these files.
10028         (Depends-on): Add localcharset.
10029         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
10031 2020-01-02  Bruno Haible  <bruno@clisp.org>
10033         mbrtowc: Fix test failures on MSVC (regression by previous commit).
10034         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
10035         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
10036         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
10037         MBRTOWC_STORES_INCOMPLETE_BUG.
10038         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
10040 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10042         doc: mention glibc bug 24269
10043         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
10044         Reformat slightly so that it looks nicer in the Grep manual.
10046 2020-01-02  Bruno Haible  <bruno@clisp.org>
10048         mbrtowc: Don't replace mbstate_t on MSVC.
10049         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
10050         a missing mbsinit function on native Windows.
10051         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
10052         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
10053         MSVC bug.
10054         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
10056 2020-01-02  Bruno Haible  <bruno@clisp.org>
10058         setlocale-null: Avoid crashing the MSVC linker.
10059         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
10060         MSVC.
10062 2020-01-02  Bruno Haible  <bruno@clisp.org>
10064         wchar: Make the HP-UX workaround work on HP-UX 11.31.
10065         * modules/wchar (Depends-on): Add inttypes-incomplete.
10066         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
10067         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
10068         of strtoimax.
10070 2020-01-02  Bruno Haible  <bruno@clisp.org>
10072         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
10073         * lib/mbrtowc.c: Include <stdint.h>.
10074         * modules/mbrtowc (Depends-on): Add stdint.
10076 2020-01-01  Pádraig Brady  <P@draigBrady.com>
10078         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
10079         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
10080         which will auto enable use of openssl, only for >= version 3,
10081         which is newly licensed under the Apache Software License.
10083 2020-01-01  Bruno Haible  <bruno@clisp.org>
10085         mbrtowc: Include function name in macro names.
10086         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
10087         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
10088         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
10089         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
10090         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
10091         C_LOCALE_MAYBE_EILSEQ.
10093 2020-01-01  Bruno Haible  <bruno@clisp.org>
10095         c32tob: New module.
10096         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
10097         (c32tob): New declaration.
10098         * lib/c32tob.c: New file.
10099         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
10100         macros.
10101         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
10102         * modules/uchar (Depends-on): Add snippet/c++defs.
10103         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
10104         uchar.h.
10105         * modules/c32tob: New file.
10106         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
10107         defined.
10108         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
10109         c32tob.
10110         * modules/uchar-c++-tests (Files): Add tests/signature.h.
10111         * doc/posix-functions/wctob.texi: Mention the new module.
10113 2020-01-01  Bruno Haible  <bruno@clisp.org>
10115         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
10116         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
10117         $(LIB_SETLOCALE).
10119 2020-01-01  Bruno Haible  <bruno@clisp.org>
10121         hard-locale tests: Fix a conflict with the C++ tests.
10122         * modules/hard-locale-tests (Makefile.am): Build a program named
10123         'current-locale', not 'locale'.
10125 2020-01-01  Bruno Haible  <bruno@clisp.org>
10127         doc: Update documentation about wchar_t.
10128         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
10129         wchar_t type.
10131 2020-01-01  Bruno Haible  <bruno@clisp.org>
10133         mbrtowc tests: Fix typos.
10134         * tests/test-mbrtowc.c (main): Fix typo.
10135         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
10137 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10139         maint: update copyright notices
10140         Before doing the following changes done by hand, I also ran ‘make
10141         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
10142         to do most of the copyright years automatically.  A few upstream
10143         sources are still in 2019 but these should eventually be changed
10144         automatically too.
10145         * build-aux/declared.sh (func_version):
10146         * build-aux/libtool-next-version (func_version):
10147         * build-aux/run-test (func_version):
10148         Update these notices by hand.  Put just the last year
10149         in output of programs, as per GNU coding standards.
10151 2019-12-31  Bruno Haible  <bruno@clisp.org>
10153         uchar: Add C++ tests.
10154         * tests/test-uchar-c++.cc: New file.
10155         * tests/test-uchar-c++2.cc: New file.
10156         * modules/uchar-c++-tests: New file.
10158         uchar: Add tests.
10159         * tests/test-uchar.c: New file.
10160         * modules/uchar-tests: New file.
10162         uchar: New module.
10163         * lib/uchar.in.h: New file.
10164         * m4/uchar.m4: New file.
10165         * modules/uchar: New file.
10166         * doc/posix-headers/uchar.texi: Mention the new module.
10168 2019-12-30  Jim Meyering  <meyering@fb.com>
10170         localeinfo: ->simple would be wrong for LC_ALL=C
10171         That would lead to using unnecessary and expensive code paths in dfa.c.
10172         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
10173         error that would have made grep many times slower in the C locale.
10174         With this change, and a file created like this:
10175           yes 00 | head -10000000 > in
10176         Running grep as follows becomes more than 40 times faster:
10177           LC_ALL=C grep -Fw 0 in
10179 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
10181         doc: document trouble with back-references
10182         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
10184 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10186         doc: use “back-reference” for \1 etc.
10187         * doc/regex.texi: Consistently spell “back-reference” with
10188         a hyphen, since that’s how POSIX does it.
10190 2019-12-26  Jim Meyering  <meyering@fb.com>
10192         test-framework-sh: tighten an internal grep regexp
10193         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
10194         that helps test for a working printf.
10196 2019-12-26  Bruno Haible  <bruno@clisp.org>
10198         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
10199         Reported by Paul Eggert in
10200         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
10201         Simplification by Jim Meyering.
10202         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
10203         octal escape sequence in a UTF-8 locale.
10205 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
10207         mbrtowc: port better to narrow-wchar_t platforms
10208         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
10209         wchar_t is too narrow to represent all the Unicode characters,
10210         consider a byte sequence for an out-of-wchar_t-range character to
10211         be an encoding error.  This fixes grep’s surrogate-pair test
10212         failure on AIX 7.2.
10214 2019-12-24  Bruno Haible  <bruno@clisp.org>
10216         localcharset: Avoid referencing rpl_setlocale on native Windows.
10217         * lib/localcharset.c (setlocale): Undefine.
10219 2019-12-24  Bruno Haible  <bruno@clisp.org>
10221         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
10222         * m4/semaphore.m4: New file.
10223         * modules/lock-tests (Files): Add it.
10224         (configure.ac): Require gl_SEMAPHORE.
10225         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
10227 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
10229         strptime: fix typo in previous patch
10230         Problem and fix reported by Bruno Haible in:
10231         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
10232         * lib/strptime.c (day_of_the_week): Fix paren bug.
10234 2019-12-24  Bruno Haible  <bruno@clisp.org>
10236         setlocale-null: Make it easy to rely on the lock in another library.
10237         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
10238         defined.
10240 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
10242         gethrxtime, mktime, nstrftime, strptime: tweak division performance
10243         Performanced analyzed by Bruno Haible in:
10244         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
10245         * config/srclist.txt: Do not sync mktime.c for now.
10246         * lib/mktime.c (shr, ydhms_diff):
10247         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
10248         * lib/strptime.c (day_of_the_week):
10249         * lib/xtime.h (xtime_sec):
10250         Redo with neither ‘%’ nor conditional branches.
10252 2019-12-23  Bruno Haible  <bruno@clisp.org>
10254         setlocale-null: Export the lock function also on non-Windows platforms.
10255         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
10256         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
10257         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
10258         * modules/setlocale-null (configure.ac): Invoke it.
10259         (Files): Add m4/visibility.m4.
10261 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10263         gethrxtime: fix rounding bug with negative args
10264         Problem reported by Bruno Haible in:
10265         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
10266         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
10267         with negative rounding.  Common platforms can compute / and % with
10268         a single instruction, so the simplified code should be shorter and
10269         faster on these platforms anyway.
10271 2019-12-22  Bruno Haible  <bruno@clisp.org>
10273         gethrxtime: remove incorrect overflow detection
10274         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
10275         integer overflow, as it didn’t suffice.  This reverts the xtime.h
10276         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
10277         cannot now see the need for anyway (even in cases where it works),
10278         as the patch is helpful only when the signs of S and NS disagree,
10279         and all callers pass nonnegative values for S and NS.
10281 2019-12-22  Bruno Haible  <bruno@clisp.org>
10283         setlocale-null: Add standalone include file.
10284         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
10285         * lib/locale.in.h: Include setlocale_null.h.
10286         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
10287         setlocale_null): Remove declarations.
10288         * lib/setlocale_null.c: Include setlocale_null.h.
10289         * lib/localename.c: Likewise.
10290         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
10291         (Depends-on): Add snippet/arg-nonnull.
10292         (Include): Allow either "setlocale_null.h" or <locale.h>.
10294 2019-12-22  Bruno Haible  <bruno@clisp.org>
10296         strfmon_l: Fix test failures on FreeBSD and Cygwin.
10297         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
10298         AC_RUN_IFELSE test.
10299         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
10300         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
10301         problem.
10303 2019-12-22  Bruno Haible  <bruno@clisp.org>
10305         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
10306         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
10307         unconditional AC_LIBOBJ.
10308         * modules/selinux-at: Likewise.
10309         * modules/xmemdup0: Likewise.
10310         * modules/xstrtoll: Likewise.
10312 2019-12-22  Bruno Haible  <bruno@clisp.org>
10314         longlong: Mark module obsolete.
10315         * modules/longlong (Status, Notice): New sections.
10317         stdint: Assume that the compiler supports 'long long'.
10318         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
10319         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
10320         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10321         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
10322         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10323         * modules/stdint (Files): Remove longlong.m4.
10324         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
10325         HAVE_UNSIGNED_LONG_LONG_INT.
10327         inttypes-incomplete: Assume that the compiler supports 'long long'.
10328         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10329         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
10330         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10331         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
10332         HAVE_LONG_LONG_INT to be 1.
10333         * modules/inttypes-incomplete (Makefile.am): Don't substitute
10334         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
10336         malloca: Assume that the compiler supports 'long long'.
10337         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
10338         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
10339         * modules/malloca (Files): Remove longlong.m4.
10340         * modules/relocatable-prog-wrapper (Files): Likewise.
10342         atoll: Assume that the compiler supports 'long long'.
10343         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
10344         * modules/atoll (Files): Remove longlong.m4.
10346         strtoll: Assume that the compiler supports 'long long'.
10347         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
10348         * modules/strtoll (Files): Remove longlong.m4.
10350         strtoull: Assume that the compiler supports 'long long'.
10351         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
10352         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10353         * modules/strtoull (Files): Remove longlong.m4.
10355         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
10356         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
10357         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
10358         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
10359         AC_TYPE_LONG_LONG_INT.
10360         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
10361         AC_TYPE_UNSIGNED_LONG_LONG_INT.
10362         * modules/strtoimax (Files): Remove longlong.m4.
10363         * modules/strtoumax (Files): Likewise.
10365         xstrtoll: Assume that the compiler supports 'long long'.
10366         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
10367         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
10369         vasnprintf: Assume that the compiler supports 'long long'.
10370         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
10371         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
10372         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10373         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
10374         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
10375         require AC_TYPE_LONG_LONG_INT.
10376         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10377         gl_PREREQ_VASNPRINTF): Likewise.
10378         * modules/vasnprintf (Files): Remove longlong.m4.
10379         * modules/c-vasnprintf (Files): Likewise.
10380         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10381         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10382         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10383         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10384         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10385         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10386         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10388         gethrxtime: Assume that the compiler supports 'long long'.
10389         * lib/xtime.h (xtime_t): Define to 'long long int' always.
10390         (XTIME_PRECISION): Define to 1000000000 always.
10391         (xtime_make, xtime_sec): Optimize accordingly.
10392         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
10393         * modules/gethrxtime (Files): Remove longlong.m4.
10395         integer_length*: Assume that the compiler supports 'long long'.
10396         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
10397         * modules/integer_length (Files): Remove longlong.m4.
10398         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10399         * modules/integer_length_l (Files): Remove longlong.m4.
10400         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10401         * modules/integer_length_ll (Files): Remove longlong.m4.
10402         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
10404         count-one-bits: Assume that the compiler supports 'long long'.
10405         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
10406         * m4/count-one-bits.m4: Remove file.
10407         * modules/count-one-bits (Files): Remove it.
10408         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
10409         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
10410         unconditionally.
10412         count-trailing-zeros: Assume that the compiler supports 'long long'.
10413         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
10414         unconditionally.
10415         * m4/count-trailing-zeros.m4: Remove file.
10416         * modules/count-trailing-zeros (Files): Remove it.
10417         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
10418         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
10419         unconditionally.
10421         count-leading-zeros: Assume that the compiler supports 'long long'.
10422         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
10423         unconditionally.
10424         * m4/count-leading-zeros.m4: Remove file.
10425         * modules/count-leading-zeros (Files): Remove it.
10426         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
10427         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
10428         unconditionally.
10430 2019-12-22  Bruno Haible  <bruno@clisp.org>
10432         localcharset: Update support for OpenBSD.
10433         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
10435 2019-12-21  Bruno Haible  <bruno@clisp.org>
10437         pthread_sigmask: Avoid test failure on NetBSD 8.0.
10438         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
10439         NetBSD.
10440         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
10442 2019-12-21  Bruno Haible  <bruno@clisp.org>
10444         threadlib: Improve code structure.
10445         * m4/threadlib.m4: Reorder macros. Add comments.
10447 2019-12-21  Bruno Haible  <bruno@clisp.org>
10449         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
10450         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
10451         here from m4/threads.m4).
10452         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
10453         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
10454         (gl_STDTHREADLIB): New macro.
10455         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
10456         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
10458 2019-12-21  Bruno Haible  <bruno@clisp.org>
10460         sched_yield: Don't depend on threadlib and yield.
10461         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
10462         LIB_SCHED_YIELD.
10463         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
10464         m4/yield.m4).
10465         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
10466         gl_THREADLIB and gl_YIELD.
10467         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
10468         based on $(LIB_SCHED_YIELD).
10469         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
10470         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10471         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
10472         (Depends-on): Remove threadlib.
10473         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10474         * modules/threads-h (Files): Remove m4/yield.m4.
10475         * modules/pthread-cond-tests (Makefile.am): Link the programs against
10476         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
10477         * modules/pthread-mutex-tests (Makefile.am): Likewise.
10478         * modules/pthread-once-tests (Makefile.am): Likewise.
10479         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
10480         * modules/pthread-tss-tests (Makefile.am): Likewise.
10482 2019-12-21  Bruno Haible  <bruno@clisp.org>
10484         threads-h: Don't depend on threadlib.
10485         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
10486         not gl_THREADLIB_EARLY.
10488 2019-12-21  Bruno Haible  <bruno@clisp.org>
10490         nl_langinfo tests: Fix link error (regression from 2019-12-18).
10491         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
10492         with $(LIB_SETLOCALE).
10494 2019-12-21  Bruno Haible  <bruno@clisp.org>
10496         threadlib: Remove unused dependency (left over from 2019-07-06).
10497         * modules/threadlib (Depends-on): Remove havelib.
10499 2019-12-21  Bruno Haible  <bruno@clisp.org>
10501         New convention for multithread-safety tests.
10502         * tests/test-setlocale_null-mt-one.c: Renamed from
10503         tests/test-setlocale_null-one.c.
10504         * tests/test-setlocale_null-mt-all.c: Renamed from
10505         tests/test-setlocale_null-all.c.
10506         * modules/setlocale-null-tests (Files, Makefile.am): Update.
10508 2019-12-21  Bruno Haible  <bruno@clisp.org>
10510         quotearg tests: Fix conflict with hard-locale tests.
10511         * tests/testlocale: Renamed from tests/locale.
10512         * modules/quotearg-tests (Files): Update.
10513         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
10515 2019-12-21  Bruno Haible  <bruno@clisp.org>
10517         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
10518         Reported by Daniel Richard G. in
10519         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
10520         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
10521         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
10522         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
10523         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
10524         alternative to PTHREAD_RWLOCK_INITIALIZER.
10525         * lib/glthread/lock.c: Likewise.
10527 2019-12-21  Bruno Haible  <bruno@clisp.org>
10529         memcmp tests: Work around the clang bug.
10530         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
10531         the clang optimization.
10533 2019-12-20  Bruno Haible  <bruno@clisp.org>
10535         localcharset: Add support for z/OS encoding names.
10536         * lib/localcharset.h: Mention which encodings are used as locale
10537         encodings on z/OS.
10539 2019-12-20  Bruno Haible  <bruno@clisp.org>
10541         iconv_open: Add support for z/OS encoding names.
10542         Reported by Daniel Richard G. in
10543         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
10544         * lib/iconv_open-zos.gperf: New file.
10545         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
10546         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
10547         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
10548         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
10549         * doc/posix-functions/iconv_open.texi: Mention z/OS.
10551 2019-12-20  Bruno Haible  <bruno@clisp.org>
10553         doc: Document the problem of the per-thread locale functions on z/OS.
10554         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
10555         * doc/posix-functions/newlocale.texi: Likewise.
10556         * doc/posix-functions/duplocale.texi: Likewise.
10557         * doc/posix-functions/freelocale.texi: Likewise.
10559 2019-12-20  Bruno Haible  <bruno@clisp.org>
10561         localename, gettext: Fix host_os value for z/OS.
10562         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
10563         cross-configuration code.
10565 2019-12-19  Jim Meyering  <meyering@fb.com>
10567         nstrftime: avoid a shadowing warning
10568         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
10569         to avoid shadowing an "i" declared hundreds of lines above.
10571 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10573         dfa: struct dfamust now uses flexible array
10574         * lib/dfa.c: Include flexmember.h.
10575         (dfamust, dfamustfree): Adjust to struct dfamust change.
10576         This saves a call to malloc+free.
10577         * lib/dfa.h (struct dfamust): Make the final member a
10578         flexible array member.
10579         * modules/dfa (Depends-on): Add flexmember.
10581         dfa: fast->small for array elements
10582         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
10583         since this type is used in arrays.  This change is more for
10584         documentation than for any practical effect, since the two types
10585         are the same on all known platforms.
10587 2019-12-19  Bruno Haible  <bruno@clisp.org>
10589         iconv tests: Test canonicalized, not system-dependent, encoding names.
10590         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
10591         * modules/iconv-tests (Depends-on): Add iconv_open.
10593 2019-12-18  Bruno Haible  <bruno@clisp.org>
10595         localename: Fix test failure on AIX 7.2.
10596         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
10597         locales on AIX.
10598         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
10599         locales on AIX.
10601 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10603         Improve port of AC_C_RESTRICT to Oracle C++
10604         Problem reported by Christian Biesinger in:
10605         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
10606         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
10607         Oracle Developer Studio C++ 12.5 or later.
10609 2019-12-18  Bruno Haible  <bruno@clisp.org>
10611         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
10612         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
10614 2019-12-18  Bruno Haible  <bruno@clisp.org>
10616         localename: Ensure multithread-safety in future changes.
10617         * lib/localename.c (setlocale): Reference the system's setlocale().
10618         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
10619         (gl_locale_name_posix): Likewise.
10620         * modules/localename (Depends-on): Add setlocale-null.
10622 2019-12-18  Bruno Haible  <bruno@clisp.org>
10624         setlocale-null: Make API more useful.
10625         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
10626         callers changed.
10627         (setlocale_null): New declaration.
10628         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
10629         extracted from setlocale_null_unlocked.
10630         (setlocale_null_unlocked): Invoke it.
10631         (setlocale_null_r): Renamed from setlocale_null.
10632         (setlocale_null): New function, extracted from setlocale_mtsafe in
10633         setlocale.c.
10634         * lib/setlocale.c: Don't include <errno.h>.
10635         (setlocale_mtsafe): Invoke setlocale_null.
10636         * lib/setlocale-lock.c: Update comments.
10637         * doc/posix-functions/setlocale.texi: Mention both functions.
10639 2019-12-18  Bruno Haible  <bruno@clisp.org>
10641         localename: Optimize code for native Windows.
10642         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
10643         category (not allowed here).
10645 2019-12-18  Bruno Haible  <bruno@clisp.org>
10647         setlocale: Make calls with NULL argument multithread-safe.
10648         * lib/setlocale.c: Include <errno.h>.
10649         (setlocale_mtsafe): New function.
10650         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
10651         (setlocale_improved): Renamed from rpl_setlocale.
10652         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10653         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
10654         LIB_SETLOCALE.
10655         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
10656         (Link): New section.
10657         * tests/locale.c: Undefine setlocale.
10658         * tests/test-setlocale_null-one.c: Likewise.
10659         * tests/test-setlocale_null-all.c: Likewise.
10660         * modules/setlocale-tests (Makefile.am): Link the test programs with
10661         $(LIB_SETLOCALE).
10662         * modules/astrxfrm-tests (Makefile.am): Likewise.
10663         * modules/btowc-tests (Makefile.am): Likewise.
10664         * modules/c-ctype-tests (Makefile.am): Likewise.
10665         * modules/c-snprintf-tests (Makefile.am): Likewise.
10666         * modules/c-strcase-tests (Makefile.am): Likewise.
10667         * modules/c-vasprintf-tests (Makefile.am): Likewise.
10668         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
10669         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
10670         * modules/dfa-tests (Makefile.am): Likewise.
10671         * modules/duplocale-tests (Makefile.am): Likewise.
10672         * modules/hard-locale-tests (Makefile.am): Likewise.
10673         * modules/localcharset-tests (Makefile.am): Likewise.
10674         * modules/localename-tests (Makefile.am): Likewise.
10675         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10676         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10677         * modules/mbrtowc-tests (Makefile.am): Likewise.
10678         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10679         * modules/mbscasestr-tests (Makefile.am): Likewise.
10680         * modules/mbschr-tests (Makefile.am): Likewise.
10681         * modules/mbscspn-tests (Makefile.am): Likewise.
10682         * modules/mbsinit-tests (Makefile.am): Likewise.
10683         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10684         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10685         * modules/mbspbrk-tests (Makefile.am): Likewise.
10686         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10687         * modules/mbsrchr-tests (Makefile.am): Likewise.
10688         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10689         * modules/mbsspn-tests (Makefile.am): Likewise.
10690         * modules/mbsstr-tests (Makefile.am): Likewise.
10691         * modules/nl_langinfo-tests (Makefile.am): Likewise.
10692         * modules/quotearg-tests (Makefile.am): Likewise.
10693         * modules/regex-tests (Makefile.am): Likewise.
10694         * modules/strfmon_l-tests (Makefile.am): Likewise.
10695         * modules/strtod-tests (Makefile.am): Likewise.
10696         * modules/strtold-tests (Makefile.am): Likewise.
10697         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
10698         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
10699         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
10700         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
10701         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
10702         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
10703         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
10704         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10705         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
10706         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
10707         * modules/wcrtomb-tests (Makefile.am): Likewise.
10708         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
10709         * modules/wcsrtombs-tests (Makefile.am): Likewise.
10710         * modules/wcwidth-tests (Makefile.am): Likewise.
10711         * doc/posix-functions/setlocale.texi: Mention that the multithread-
10712         safety fix is also available in module 'setlocale'.
10714 2019-12-18  Bruno Haible  <bruno@clisp.org>
10716         hard-locale: Make multithread-safe.
10717         * lib/hard-locale.h (hard_locale): Move documentation to here.
10718         * lib/hard-locale.c: Don't include <stdlib.h>.
10719         (GLIBC_VERSION): Remove macro.
10720         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
10721         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
10722         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
10723         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
10724         (Link): New section.
10725         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
10726         $(LIB_HARD_LOCALE).
10728 2019-12-18  Bruno Haible  <bruno@clisp.org>
10730         hard-locale: Avoid test failure on Haiku.
10731         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
10733 2019-12-18  Bruno Haible  <bruno@clisp.org>
10735         setlocale-null: Handle NULL result from setlocale.
10736         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
10737         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
10738         from setlocale or _wsetlocale.
10740 2019-12-18  Bruno Haible  <bruno@clisp.org>
10742         hard-locale: Add test.
10743         * tests/test-hard-locale.c: New file.
10744         * tests/locale.c: New file.
10745         * modules/hard-locale-tests: New file.
10747 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10749         dfa: do not match invalid UTF-8
10750         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
10751         from 5 to 9 tokens; this is needed due to the changes to
10752         add_utf8_anychar.
10753         (charclass_index): 2nd arg is now pointer-to-const.
10754         (add_utf8_anychar): Match only valid UTF-8 byte sequences
10755         instead of allowing overlong encodings or surrogate halves.
10757         dfa: simplify charclass by assuming C99
10758         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
10759         (charclass_word): Now always uint_fast64_t.
10760         (CHARCLASS_PAIR): Remove.
10761         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
10763         fts: tune via calloc
10764         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
10766         dfa: tune via xzalloc
10767         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
10769 2019-12-17  Bruno Haible  <bruno@clisp.org>
10771         localcharset: Fix multithread-safety bug on Windows and OS/2.
10772         * lib/localcharset.h (locale_charset): Clarify when the result becomes
10773         invalid.
10774         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
10775         assemble the result.
10777 2019-12-17  Bruno Haible  <bruno@clisp.org>
10779         localcharset: Optimize code for native Windows.
10780         * lib/localcharset.c (locale_charset): Don't bother calling
10781         setlocale (LC_ALL, NULL) since we're not interested in its result.
10783 2019-12-17  Bruno Haible  <bruno@clisp.org>
10785         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
10786         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
10787         setlocale.
10788         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
10789         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
10790         * modules/nl_langinfo (Depends-on): Add setlocale-null.
10792 2019-12-17  Bruno Haible  <bruno@clisp.org>
10794         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
10795         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
10796         stack-allocated buffer to assemble each result and different static
10797         buffers to return it.
10798         * tests/test-nl_langinfo-mt.c: New file.
10799         * modules/nl_langinfo-tests (Files): Add it.
10800         (Depends-on): Add thread, nanosleep.
10801         (Makefile.am): Build test-nl_langinfo-mt test.
10803 2019-12-17  Bruno Haible  <bruno@clisp.org>
10805         langinfo: Document more details.
10806         * doc/posix-headers/langinfo.texi: List platform details.
10807         * doc/posix-functions/nl_langinfo.texi: Likewise.
10809 2019-12-17  Bruno Haible  <bruno@clisp.org>
10811         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
10812         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
10813         and Martin Storsjö <martin@martin.st>
10814         in <https://savannah.gnu.org/bugs/?57406>.
10815         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
10816         mingw.
10818 2019-12-17  Bruno Haible  <bruno@clisp.org>
10820         glob: Avoid warning on mingw.
10821         Reported by Christian Biesinger <cbiesinger@google.com> in
10822         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
10823         * lib/glob.c (__stat64): Undefine first.
10825 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10827         xalloc: tune xzalloc for fresh allocations
10828         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
10829         because when the memory is freshly allocated from the OS via sbrk
10830         or mmap, calloc can avoid doing the memset.
10832         dfa: new function dfacopysyntax
10833         * lib/dfa.c (struct dfa): Move syntax member later so
10834         that dfacopysyntax can easily clear earlier members.
10835         (dfacopysyntax): New function, used by Gawk.
10837 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10839         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
10840         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
10841         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
10842         if not already defined.
10844         dfa: remove one dependency on MB_CUR_MAX
10845         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
10847         dfa: remove struct lexer_state.cur_mb_len
10848         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
10849         as it’s not needed and the code is simpler without it.
10850         All uses removed.
10852 2019-12-16  Bruno Haible  <bruno@clisp.org>
10854         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
10855         Reported by Arnold Robbins <arnold@skeeve.com>.
10856         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
10857         copied from lib/glthread/lock.h.
10858         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
10859         (setlocale_null_with_lock): If pthread_in_use() is false, use
10860         setlocale_null_unlocked directly.
10861         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
10862         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
10863         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
10864         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
10865         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
10866         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
10868 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10870         dfa: make dfasyntax thread-safe
10871         Problem reported by Bruno Haible in:
10872         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
10873         * lib/dfa.c: Do not include locale.h.
10874         (struct dfa): Remove simple_locale member.
10875         All uses replaced by localeinfo.simple.
10876         (using_simple_locale): Remove; now present (with some
10877         changes) in localeinfo.c.
10878         (dfasyntax): No need to initialize removed member.
10880         localeinfo: record whether locale is simple
10881         * lib/localeinfo.c (using_simple_locale): New function,
10882         copied here from lib/dfa.c but with a change: it uses
10883         strcoll for its heuristic, instead of using setlocale.
10884         This lets it be thread-safe.
10885         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
10887 2019-12-15  Bruno Haible  <bruno@clisp.org>
10889         duplocale: Fix multithread-safety bug on AIX.
10890         * lib/duplocale.c: Don't include <stdlib.h>.
10891         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
10892         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10893         Set LIB_DUPLOCALE.
10894         * modules/duplocale (Depends-on): Add setlocale-null.
10895         (Link): New section.
10896         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
10897         $(LIB_DUPLOCALE).
10899 2019-12-15  Bruno Haible  <bruno@clisp.org>
10901         setlocale-null: Add tests.
10902         * tests/test-setlocale_null.c: New file.
10903         * tests/test-setlocale_null-one.c: New file.
10904         * tests/test-setlocale_null-all.c: New file.
10905         * modules/setlocale-null-tests: New file.
10907         setlocale-null: New module.
10908         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
10909         setlocale_null): New declarations.
10910         * lib/setlocale_null.c: New file.
10911         * lib/setlocale-lock.c: New file.
10912         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
10913         * m4/setlocale_null.m4: New file.
10914         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
10915         GNULIB_SETLOCALE_NULL.
10916         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
10917         * modules/setlocale-null: New file.
10918         * doc/posix-functions/setlocale.texi: Mention the new module.
10920 2019-12-15  Bruno Haible  <bruno@clisp.org>
10922         lock tests: Skip test when no multithreading is enabled.
10923         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
10925 2019-12-14  Bruno Haible  <bruno@clisp.org>
10927         locale, duplocale, localename: Fix last patch.
10928         Reported by Daniel Richard G. in
10929         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
10930         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
10931         Don't define if locale_t does not exist.
10933 2019-12-13  Bruno Haible  <bruno@clisp.org>
10935         locale, duplocale, localename: Fix errors if locale_t does not exist.
10936         Reported by Daniel Richard G. in
10937         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
10938         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
10939         macros.
10940         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
10941         HAVE_NEWLOCALE.
10942         * tests/test-localename.c: Likewise.
10943         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
10944         HAVE_DUPLOCALE.
10945         * tests/test-locale-c++.cc: Likewise.
10947 2019-12-13  Bruno Haible  <bruno@clisp.org>
10949         wcstok: Fix test failure on HP-UX.
10950         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
10951         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
10953 2019-12-12  Bruno Haible  <bruno@clisp.org>
10955         strtod, strtold tests: Avoid test failure on AIX 7.2.
10956         * tests/test-strtod1.c (main): Allow implementations in which ',' and
10957         '.' both are radix characters.
10958         * tests/test-strtold1.c (main): Likewise.
10960 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10962         dfa: prefer ptrdiff_t for API, too
10963         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
10964         but do this only for internal use for now.
10965         * NEWS: Mention the API change.
10966         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
10967         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
10968         values known to be nonnegative.
10969         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
10970         Prefer idx_t or ptrdiff_t to size_t for API.
10971         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
10972         Prefer ptrdiff_t to size_t for API.
10974         stdalign: port to xlclang 16.01
10975         Problem reportd by Bruno Haible in:
10976         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
10977         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
10978         ((__aligned__ (...))) with xlclang, as a top-level
10979         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
10980         xlclang version 16.01.0000.0001; the alignment directive is ignored.
10982 2019-12-12  Bruno Haible  <bruno@clisp.org>
10984         duplocale: Fix test failure on AIX 7.2 with xlclang.
10985         * lib/duplocale.c: Include <stdlib.h>.
10986         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
10987         value.
10989 2019-12-12  Bruno Haible  <bruno@clisp.org>
10991         stddef: Document the AIX xlc issue.
10992         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
10994 2019-12-12  Bruno Haible  <bruno@clisp.org>
10996         duplocale: Don't attempt to override if locale_t does not exist.
10997         Reported by Daniel Richard G. in
10998         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
10999         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
11000         HAVE_DUPLOCALE to 0.
11002 2019-12-12  Bruno Haible  <bruno@clisp.org>
11004         wcwidth: Avoid test failure on AIX 7.2.
11005         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
11006         negative.
11007         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
11009 2019-12-12  Bruno Haible  <bruno@clisp.org>
11011         ilogbl: Work around Cygwin bug.
11012         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
11013         correct.
11014         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
11016 2019-12-12  Bruno Haible  <bruno@clisp.org>
11018         strtold: Work around Cygwin bug.
11019         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
11020         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
11021         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
11022         STRTOLD_HAS_UNDERFLOW_BUG is defined.
11023         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
11025 2019-12-12  Bruno Haible  <bruno@clisp.org>
11027         strtold: Fix autoconf test.
11028         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
11030 2019-12-11  Bruno Haible  <bruno@clisp.org>
11032         fsync tests: Skip test that is known to fail.
11033         * doc/posix-functions/fsync.texi: Update list of platforms.
11034         * tests/test-fsync.c (main): Skip test with read-only file descriptors
11035         that is known to fail on AIX and Cygwin.
11037 2019-12-11  Bruno Haible  <bruno@clisp.org>
11039         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
11040         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
11041         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
11042         HAVE_GETADDRINFO as a C macro.
11043         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
11044         declare as replacement functions.
11045         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
11046         define as no-op overrides.
11047         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
11048         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
11049         * modules/getaddrinfo (Depends-on, configure.ac): Test
11050         REPLACE_GETADDRINFO.
11051         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
11052         problem.
11053         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
11054         convention problems.
11056 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
11058         dfa: prefer signed integers for internals
11059         Signed integers can be checked more easily for integer overflow.
11060         * lib/dfa.c (position, struct lexer_state, struct parser_state)
11061         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
11062         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
11063         (nsubtoks, copytoks, closure, alloc_position_set, delete)
11064         (replace, state_index, epsclosure, charclass_context)
11065         (state_separate_contexts, merge_nfa_state, dfaoptimize)
11066         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
11067         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
11068         (comsubs, inboth, allocmust):
11069         Prefer a signed to an unsigned integer when calculating indexes,
11070         unless the integer is part of the external API (a bigger deal,
11071         and to be done later).
11073         dfa: fix index overflow
11074         * lib/dfa.c (compare): Avoid integer overflow when analyzing
11075         very large regular expressions.
11077         dfa: update commentary for previous change
11078         * NEWS: Mention the change.
11079         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
11081 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11083         dfa: separate parse and compile phase
11084         ‘dfamust’ must be called after parsing and before tokens are
11085         reordered, but both are executed in the compilation phase.
11086         Token reordering was introduced in Gnulib commit
11087         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
11088         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
11089         * lib/dfa.c (dfaparse): Change it to global function.
11090         (dfacomp): If first argument is NULL, skip parse.
11091         * lib/dfa.h: (dfaparse): Add a prototype.
11093 2019-12-11  Bruno Haible  <bruno@clisp.org>
11095         unistd tests: Fix link error on MSVC.
11096         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
11097         $(LIB_GETLOGIN).
11099 2019-12-11  Bruno Haible  <bruno@clisp.org>
11101         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
11102         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
11103         and POSIX substitutes are supported in C++ mode.
11104         * NEWS: Likewise.
11106 2019-12-11  Bruno Haible  <bruno@clisp.org>
11108         stddef: Fix compilation error in C++ mode on MSVC.
11109         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
11110         instead, include <cstddef>.
11112 2019-12-11  Bruno Haible  <bruno@clisp.org>
11114         unistd: Fix compilation error in C++ mode on MSVC.
11115         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
11116         does not have <unistd.h>.
11118 2019-12-11  Bruno Haible  <bruno@clisp.org>
11120         locale: Fix compilation error in C++ mode on MSVC.
11121         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
11122         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
11123         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
11124         int_n_sep_by_space): Define as macros on MSVC.
11126 2019-12-11  Bruno Haible  <bruno@clisp.org>
11128         wchar: Fix compilation error in C++ mode on MSVC.
11129         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
11131 2019-12-11  Bruno Haible  <bruno@clisp.org>
11133         pthread-thread: Fix compilation error in C++ mode on MSVC.
11134         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
11135         _GL_CXXALIAS_RPL invocation.
11137 2019-12-08  Bruno Haible  <bruno@clisp.org>
11139         Fix compilation errors in C++ mode on Haiku.
11140         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
11141         non-glibc systems.
11142         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
11143         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11144         posix_spawnattr_setschedparam): Likewise.
11145         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
11146         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11147         * lib/unistd.in.h (usleep): Likewise.
11149 2019-12-08  Bruno Haible  <bruno@clisp.org>
11151         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
11152         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
11153         * modules/fseeko (configure.ac-early): Require it instead of
11154         AC_FUNC_FSEEKO.
11155         * modules/ftello (configure.ac-early): Likewise.
11156         * modules/fflush (configure.ac-early): Likewise.
11158 2019-12-08  Bruno Haible  <bruno@clisp.org>
11160         Fix compilation error in C++ mode on HP-UX 11.
11161         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
11162         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
11164 2019-12-08  Bruno Haible  <bruno@clisp.org>
11166         Fix compilation errors on HP-UX 11/ia64.
11167         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
11168         _GL_FUNCDECL_SYS.
11170 2019-12-08  Bruno Haible  <bruno@clisp.org>
11172         Fix compilation error in C++ mode on OpenBSD.
11173         * lib/signal.in.h (signal): Declare on OpenBSD.
11175 2019-12-08  Bruno Haible  <bruno@clisp.org>
11177         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
11178         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
11179         instead of #error.
11181 2019-12-08  Bruno Haible  <bruno@clisp.org>
11183         Fix compilation errors in C++ mode on FreeBSD.
11184         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
11185         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
11186         * lib/threads.in.h (thrd_exit): Likewise.
11187         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
11189 2019-12-08  Bruno Haible  <bruno@clisp.org>
11191         Fix compilation errors in C++ mode on macOS and FreeBSD.
11192         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
11193         or FreeBSD with clang, use the approach without C preprocessor macro.
11195 2019-12-07  Bruno Haible  <bruno@clisp.org>
11197         Fix compilation errors in C++ mode on AIX with xlclang++.
11198         Reported by Christian Biesinger <cbiesinger@google.com> in
11199         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11200         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
11202 2019-12-07  Bruno Haible  <bruno@clisp.org>
11204         Document compilation error in C++ mode on NetBSD 8.0.
11205         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
11207 2019-12-07  Bruno Haible  <bruno@clisp.org>
11209         Fix compilation errors in C++ mode on Solaris 10.
11210         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
11211         to non-empty on Solaris with a non-GCC compiler.
11212         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
11214 2019-12-07  Bruno Haible  <bruno@clisp.org>
11216         Reword NEWS entry.
11217         * NEWS: Reword the latest NEWS entry.
11219 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
11221         Move xstrtol_fatal to a new xstrtol-error module.
11222         * lib/xstrtol.h: Stop including <getopt.h>.
11223         (xstrtol_fatal): Move ...
11224         * lib/xstrtol-error.h: ... here.  New file.
11225         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
11226         * tests/test-xstrtol.c: Likewise.
11227         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
11228         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
11229         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
11230         * modules/xstrtol-error: New file.
11231         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
11232         * MODULES.html.sh: Add xstrtol-error.
11233         * NEWS: Document the change.
11235 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
11237         nstrftime: better width support for %N, %z
11238         * lib/nstrftime.c (width_add, width_add1, width_cpy):
11239         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
11240         a new WIDTH parameter.
11241         (add, add1, cpy): Use these macros.
11242         (width_add): Do not treat digits == 0 as a special case,
11243         do not pad if padding is ‘-’, and do not use a negative width.
11244         (__strftime_internal): Redo formatting of nanoseconds and numeric
11245         timezones to avoid buffer misuse in unusual cases, and so that
11246         widths make more sense.  Add support for widths greater than 9 to
11247         the %N format; they are zero filled on the right.
11248         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
11250 2019-12-05  Bruno Haible  <bruno@clisp.org>
11252         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
11253         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
11254         set REPLACE_ISFINITE to 1.
11255         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
11256         REPLACE_ISINF to 1.
11257         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
11258         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
11259         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
11260         * lib/threads.in.h (call_once): Likewise.
11261         * lib/iconv.in.h (iconv): Likewise.
11263 2019-12-05  Bruno Haible  <bruno@clisp.org>
11265         wchar: Add more C++ tests.
11266         Reported by Christian Biesinger <cbiesinger@google.com> in
11267         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
11268         * tests/test-wchar-c++3.cc: New file.
11269         * modules/wchar-c++-tests (Files): Add it.
11270         (Makefile.am): Compile it.
11272 2019-12-05  Bruno Haible  <bruno@clisp.org>
11274         Add more C++ tests.
11276         assert-h: Add C++ tests.
11277         * tests/test-assert-h-c++.cc: New file.
11278         * tests/test-assert-h-c++2.cc: New file.
11279         * modules/assert-h-c++-tests: New file.
11280         * modules/assert-h-tests: New file.
11282         ctype: Add C++ tests.
11283         * tests/test-ctype-c++.cc: New file.
11284         * tests/test-ctype-c++2.cc: New file.
11285         * modules/ctype-c++-tests: New file.
11286         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
11288         errno: Add C++ tests.
11289         * tests/test-errno-c++.cc: New file.
11290         * tests/test-errno-c++2.cc: New file.
11291         * modules/errno-c++-tests: New file.
11292         * modules/errno-tests (Depends-on): Add errno-c++-tests.
11294         float: Add C++ tests.
11295         * tests/test-float-c++.cc: New file.
11296         * tests/test-float-c++2.cc: New file.
11297         * modules/float-c++-tests: New file.
11298         * modules/float-tests (Depends-on): Add float-c++-tests.
11300         inttypes: Add more C++ tests.
11301         * tests/test-inttypes-c++2.cc: New file.
11302         * modules/inttypes-c++-tests (Files): Add it.
11303         (Makefile.am): Compile it.
11305         limits-h: Add C++ tests.
11306         * tests/test-limits-h-c++.cc: New file.
11307         * tests/test-limits-h-c++2.cc: New file.
11308         * modules/limits-h-c++-tests: New file.
11309         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
11311         stdarg: Add C++ tests.
11312         * tests/test-stdarg-c++.cc: New file.
11313         * tests/test-stdarg-c++2.cc: New file.
11314         * modules/stdarg-c++-tests: New file.
11315         * modules/stdarg-tests: New file.
11317         stdbool: Add C++ tests.
11318         * tests/test-stdbool-c++.cc: New file.
11319         * tests/test-stdbool-c++2.cc: New file.
11320         * modules/stdbool-c++-tests: New file.
11321         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
11323         stddef: Add C++ tests.
11324         * tests/test-stddef-c++.cc: New file.
11325         * tests/test-stddef-c++2.cc: New file.
11326         * modules/stddef-c++-tests: New file.
11327         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
11329         stdint: Add C++ tests.
11330         * tests/test-stdint-c++.cc: New file.
11331         * tests/test-stdint-c++2.cc: New file.
11332         * modules/stdint-c++-tests: New file.
11333         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
11335         wchar: Add more C++ tests.
11336         * tests/test-wchar-c++2.cc: New file.
11337         * modules/wchar-c++-tests (Files): Add it.
11338         (Makefile.am): Compile it.
11340         wctype-h: Add more C++ tests.
11341         * tests/test-wctype-h-c++2.cc: New file.
11342         * modules/wctype-h-c++-tests (Files): Add it.
11343         (Makefile.am): Compile it.
11345 2019-12-04  Bruno Haible  <bruno@clisp.org>
11347         Fix compilation errors in C++ mode with xlclang++ on AIX.
11348         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
11349         C++ mode on AIX.
11350         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
11351         without C preprocessor macro.
11352         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
11353         _GL_CXXALIAS_SYS.
11354         * lib/threads.in.h (thrd_exit): Likewise.
11356 2019-12-04  Bruno Haible  <bruno@clisp.org>
11358         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
11359         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
11360         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
11362 2019-12-04  Bruno Haible  <bruno@clisp.org>
11364         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
11365         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
11366         _GL_CXXALIASWARN invocation on non-glibc systems.
11367         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
11368         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
11369         iswctype, towlower, towupper): Likewise.
11371 2019-12-03  Bruno Haible  <bruno@clisp.org>
11373         Avoid hassles caused by [[noreturn]] in C++.
11374         Reported by Christian Biesinger <cbiesinger@google.com> in
11375         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
11376         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
11377         * lib/_Noreturn.h: Likewise.
11379 2019-12-02  Bruno Haible  <bruno@clisp.org>
11381         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
11382         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
11383         LIBMULTITHREAD.
11384         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
11385         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
11386         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
11387         gl_THREADLIB.
11388         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
11390 2019-12-02  Bruno Haible  <bruno@clisp.org>
11392         Fix some more link errors with --enable-threads=isoc.
11393         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
11394         * modules/pthread-rwlock (Depends-on): Likewise.
11396 2019-12-02  Bruno Haible  <bruno@clisp.org>
11398         Fix link errors with --enable-threads=posix on AIX.
11399         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
11400         program with $(LIBTHREAD).
11401         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
11402         program with $(LIBTHREAD).
11404 2019-12-02  Bruno Haible  <bruno@clisp.org>
11406         Fix link errors with --enable-threads=posix on AIX.
11407         * modules/mbrtowc (Link): New section.
11408         * modules/acl (Link): Likewise.
11409         * modules/argmatch (Link): Likewise.
11410         * modules/backup-rename (Link): Likewise.
11411         * modules/backupfile (Link): Likewise.
11412         * modules/closein (Link): Likewise.
11413         * modules/closeout (Link): Likewise.
11414         * modules/copy-file (Link): Likewise.
11415         * modules/csharpcomp (Link): Likewise.
11416         * modules/csharpexec (Link): Likewise.
11417         * modules/dfa (Link): Likewise.
11418         * modules/exclude (Link): Likewise.
11419         * modules/fnmatch (Link): Likewise.
11420         * modules/fnmatch-gnu (Link): Likewise.
11421         * modules/fnmatch-posix (Link): Likewise.
11422         * modules/glob (Link): Likewise.
11423         * modules/human (Link): Likewise.
11424         * modules/javacomp (Link): Likewise.
11425         * modules/javaexec (Link): Likewise.
11426         * modules/javaversion (Link): Likewise.
11427         * modules/mbfile (Link): Likewise.
11428         * modules/mbiter (Link): Likewise.
11429         * modules/mbmemcasecmp (Link): Likewise.
11430         * modules/mbmemcasecoll (Link): Likewise.
11431         * modules/mbrlen (Link): Likewise.
11432         * modules/mbscasecmp (Link): Likewise.
11433         * modules/mbscasestr (Link): Likewise.
11434         * modules/mbschr (Link): Likewise.
11435         * modules/mbscspn (Link): Likewise.
11436         * modules/mbsinit (Link): Likewise.
11437         * modules/mbslen (Link): Likewise.
11438         * modules/mbsncasecmp (Link): Likewise.
11439         * modules/mbsnlen (Link): Likewise.
11440         * modules/mbsnrtowcs (Link): Likewise.
11441         * modules/mbspbrk (Link): Likewise.
11442         * modules/mbspcasecmp (Link): Likewise.
11443         * modules/mbsrchr (Link): Likewise.
11444         * modules/mbsrtowcs (Link): Likewise.
11445         * modules/mbssep (Link): Likewise.
11446         * modules/mbsspn (Link): Likewise.
11447         * modules/mbsstr (Link): Likewise.
11448         * modules/mbstok_r (Link): Likewise.
11449         * modules/mbswidth (Link): Likewise.
11450         * modules/mbuiter (Link): Likewise.
11451         * modules/mkdir-p (Link): Likewise.
11452         * modules/propername (Link): Likewise.
11453         * modules/quote (Link): Likewise.
11454         * modules/quotearg (Link): Likewise.
11455         * modules/quotearg-simple (Link): Likewise.
11456         * modules/regex-quote (Link): Likewise.
11457         * modules/rpmatch (Link): Likewise.
11458         * modules/sh-quote (Link): Likewise.
11459         * modules/system-quote (Link): Likewise.
11460         * modules/trim (Link): Likewise.
11461         * modules/unistdio/ulc-asnprintf (Link): Likewise.
11462         * modules/unistdio/ulc-fprintf (Link): Likewise.
11463         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
11464         * modules/unistdio/ulc-vasprintf (Link): Likewise.
11465         * modules/unistdio/ulc-vfprintf (Link): Likewise.
11466         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
11467         * modules/unistdio/ulc-vsprintf (Link): Likewise.
11468         * modules/xfreopen (Link): Likewise.
11469         * modules/xmemcoll (Link): Likewise.
11470         * modules/yesno (Link): Likewise.
11471         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
11472         * modules/argmatch-tests (Makefile.am): Likewise.
11473         * modules/closein-tests (Makefile.am): Likewise.
11474         * modules/copy-file-tests (Makefile.am): Likewise.
11475         * modules/dfa-tests (Makefile.am): Likewise.
11476         * modules/fnmatch-tests (Makefile.am): Likewise.
11477         * modules/glob-tests (Makefile.am): Likewise.
11478         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11479         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11480         * modules/mbrtowc-tests (Makefile.am): Likewise.
11481         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11482         * modules/mbscasestr-tests (Makefile.am): Likewise.
11483         * modules/mbschr-tests (Makefile.am): Likewise.
11484         * modules/mbscspn-tests (Makefile.am): Likewise.
11485         * modules/mbsinit-tests (Makefile.am): Likewise.
11486         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11487         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11488         * modules/mbspbrk-tests (Makefile.am): Likewise.
11489         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11490         * modules/mbsrchr-tests (Makefile.am): Likewise.
11491         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11492         * modules/mbsspn-tests (Makefile.am): Likewise.
11493         * modules/mbsstr-tests (Makefile.am): Likewise.
11494         * modules/quotearg-tests (Makefile.am): Likewise.
11495         * modules/quotearg-simple-tests (Makefile.am): Likewise.
11496         * modules/readtokens-tests (Makefile.am): Likewise.
11497         * modules/regex-quote-tests (Makefile.am): Likewise.
11498         * modules/sh-quote-tests (Makefile.am): Likewise.
11499         * modules/system-quote-tests (Makefile.am): Likewise.
11500         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
11501         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11502         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
11503         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
11504         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
11505         * modules/yesno-tests (Makefile.am): Likewise.
11507 2019-12-02  Bruno Haible  <bruno@clisp.org>
11509         Simplify link sections.
11510         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
11511         * modules/lock (Link): Likewise.
11512         * modules/cond (Link): Likewise.
11513         * modules/tls (Link): Likewise.
11514         * modules/yield (Link): Likewise.
11515         * modules/regex (Link): Likewise.
11516         * modules/localename (Link): Likewise.
11517         * modules/unicase/locale-language (Link): Likewise.
11518         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
11520 2019-12-02  Bruno Haible  <bruno@clisp.org>
11522         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
11523         * tests/test-thread_self.c (main): Disable test on AIX.
11525 2019-12-01  Bruno Haible  <bruno@clisp.org>
11527         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
11528         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
11529         gl_THREADLIB_EARLY_BODY.
11530         (gl_THREADLIB_EARLY_BODY): Invoke it.
11531         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
11532         (gl_THREADLIB_BODY): Invoke it.
11533         (gl_PTHREADLIB): New macro.
11534         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
11535         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
11536         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
11537         * modules/pthread-h (Files): Add threadlib.m4.
11538         (Depends-on): Remove threadlib.
11539         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
11540         and _THREAD_SAFE here.
11541         (Link): Use LIBPTHREAD, not LIBTHREAD.
11542         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
11543         LIBMULTITHREAD.
11544         * modules/pthread-once (Link): Likewise.
11545         * modules/pthread-mutex (Link): Likewise.
11546         * modules/pthread-rwlock (Link): Likewise.
11547         * modules/pthread-cond (Link): Likewise.
11548         * modules/pthread-tss (Link): Likewise.
11549         * modules/pthread-spin (Link): Likewise.
11550         * modules/pthread (Link): Likewise.
11551         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
11552         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
11553         * modules/pthread-once-tests (test_pthread_once1_LDADD,
11554         test_pthread_once2_LDADD): Likewise.
11555         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
11556         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
11557         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
11558         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
11560 2019-12-01  Bruno Haible  <bruno@clisp.org>
11562         cond: State linking requirements.
11563         * modules/cond (Link): New section.
11565 2019-12-01  Bruno Haible  <bruno@clisp.org>
11567         threadlib: Remove unnecessary file (left over from 2019-07-06).
11568         * modules/threadlib (Files): Remove config.rpath.
11570 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
11572         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
11573         Reported by Dagobert Michelsen <dam@opencsw.org> in
11574         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
11575         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
11576         list of strings instead of one string.
11577         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
11578         * pygnulib/GLImport.py (execute): Likewise.
11580 2019-11-27  Bruno Haible  <bruno@clisp.org>
11582         openpty, forkpty: Fix build error on Solaris 11.4.
11583         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
11584         also in <termios.h>.
11585         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
11586         of the function also in <termios.h>.
11587         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
11588         * doc/glibc-functions/forkpty.texi: Likewise.
11590 2019-11-27  Bruno Haible  <bruno@clisp.org>
11592         New options --enable-threads=isoc and --enable-threads=isoc+posix.
11593         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
11594         --enable-threads=isoc and --enable-threads=isoc+posix.
11595         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
11596         When both the ISO C and the POSIX threads API are available, choose
11597         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
11598         --enable-threads=isoc+posix was specified. When only the ISO C threads
11599         API is available and --enable-threads=iso was specified, choose
11600         USE_ISOC_THREADS.
11601         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
11602         USE_ISOC_AND_POSIX_THREADS.
11603         * lib/glthread/lock.c: Likewise.
11604         * lib/glthread/cond.h: Likewise.
11605         * lib/glthread/cond.c: Likewise.
11606         * lib/glthread/tls.h: Likewise.
11607         * lib/glthread/tls.c: Likewise.
11608         * lib/glthread/yield.h: Likewise.
11609         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
11610         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
11611         * lib/glthread/thread.c: Likewise.
11612         * lib/glthread/threadlib.c: Likewise.
11613         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
11614         USE_ISOC_AND_POSIX_THREADS.
11615         * tests/test-cond.c: Consider USE_ISOC_THREADS and
11616         USE_ISOC_AND_POSIX_THREADS.
11617         * tests/test-tls.c: Likewise.
11618         * tests/test-thread_create.c (main): Likewise.
11619         * tests/test-pthread-cond.c: Likewise.
11620         * tests/test-pthread-mutex.c: Likewise.
11621         * tests/test-pthread-once2.c: Likewise.
11622         * tests/test-pthread-rwlock.c: Likewise.
11623         * tests/test-pthread-tss.c: Likewise.
11624         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
11625         USE_POSIX_THREADS.
11627 2019-11-24  Bruno Haible  <bruno@clisp.org>
11629         mbrtowc: Modernize autoconf test.
11630         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
11631         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
11632         try a UTF-8 locale.
11633         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
11635 2019-11-24  Bruno Haible  <bruno@clisp.org>
11637         Fix errors in C++ mode on mingw.
11638         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
11639         instead of _GL_CXXALIAS_SYS.
11640         * lib/signal.in.h (pthread_sigmask): Likewise.
11641         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
11642         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11643         Likewise.
11644         * lib/wchar.in.h (btowc): Likewise.
11646 2019-11-24  Bruno Haible  <bruno@clisp.org>
11648         sys_time: Fix errors in C++ mode on mingw.
11649         * lib/sys_time.in.h (timeval): Restore the redirection
11650         '#define timeval rpl_timeval', for when the symbol timeval is being used
11651         outside the 'gnulib' namespace.
11652         * lib/sys_select.in.h (select): In C++, write 'timeval', not
11653         'struct timeval'.
11655 2019-11-24  Bruno Haible  <bruno@clisp.org>
11657         iswctype: Fix errors in C++ mode on mingw.
11658         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
11659         is 1.
11660         * lib/iswctype.c (iswctype): Add another implementation, for the
11661         GNULIB_defined_wint_t case.
11662         * modules/iswctype (configure.ac): Compile iswctype.c also if
11663         GNULIB_OVERRIDES_WINT_T is 1.
11665 2019-11-24  Bruno Haible  <bruno@clisp.org>
11667         windows-timedmutex: Fix errors in C++ mode on mingw.
11668         * lib/windows-timedmutex.h: Add closing brace.
11670 2019-11-24  Bruno Haible  <bruno@clisp.org>
11672         Fix errors in C++ mode on Cygwin.
11673         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
11674         _GL_CXXALIAS_SYS.
11676 2019-11-24  Bruno Haible  <bruno@clisp.org>
11678         time_r: Fix for mingw (regression from 2019-11-16).
11679         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
11680         AC_LINK_IFELSE test only if the function does not appear to exist.
11682 2019-11-24  Bruno Haible  <bruno@clisp.org>
11684         wcstok: Add tests.
11685         * tests/test-wcstok.c: New file.
11686         * modules/wcstok-tests: New file.
11688 2019-11-24  Bruno Haible  <bruno@clisp.org>
11690         wcstok: Work around wrong signature on native Windows.
11691         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
11692         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
11693         REPLACE_WCSTOK.
11694         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
11695         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
11696         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
11697         * doc/posix-functions/wcstok.texi: Mention the problem.
11699 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11701         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
11702         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
11703         remove workaround for GCC bug 91450 as the bug should be fixed
11704         there too.
11706 2019-11-21  Bruno Haible  <bruno@clisp.org>
11708         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
11709         Reported by Christian Biesinger <cbiesinger@google.com> in
11710         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
11711         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
11712         non-glibc systems.
11713         * lib/locale.in.h (localeconv, setlocale): Likewise.
11714         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
11715         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
11716         rint, round, trunc): Likewise.
11717         * lib/monetary.in.h (strfmon_l): Likewise.
11718         * lib/pthread.in.h (pthread_mutexattr_getrobust,
11719         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
11720         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
11721         pthread_spin_destroy): Likewise.
11722         * lib/signal.in.h (raise, signal): Likewise.
11723         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
11724         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
11725         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
11726         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
11727         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
11728         Likewise.
11729         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
11730         Likewise.
11731         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
11732         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
11733         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
11734         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
11735         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
11736         wcsftime): Likewise.
11737         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
11739 2019-11-21  Bruno Haible  <bruno@clisp.org>
11741         Fix various errors in _GL_CXXALIAS_SYS invocations.
11742         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
11743         _GL_CXXALIAS_SYS.
11744         * lib/pthread.in.h (pthread_mutexattr_gettype,
11745         pthread_mutexattr_getrobust): Likewise.
11746         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
11747         * lib/sys_socket.in.h (recv, send): Likewise.
11748         * lib/unistd.in.h (getdtablesize): Likewise.
11749         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
11750         'struct timeval'.
11752 2019-11-21  Bruno Haible  <bruno@clisp.org>
11754         math tests: Update after 2019-08-28 change.
11755         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
11756         return type of 'bool', not 'int'.
11758 2019-11-21  Bruno Haible  <bruno@clisp.org>
11760         pthread-spin: Fix errors in C++ mode.
11761         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
11762         functions as nonexistent when <pthread.h> exists but does not define
11763         the pthread_spinlock_t type.
11765 2019-11-21  Bruno Haible  <bruno@clisp.org>
11767         pthread-mutex: Fix errors in C++ mode.
11768         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
11769         pthread_mutexattr_getrobust exists. If not, define
11770         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11771         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
11772         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
11773         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11774         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
11775         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
11776         definition.
11778 2019-11-19  Bruno Haible  <bruno@clisp.org>
11780         threads-h tests: Fix typo.
11781         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
11783 2019-11-19  Bruno Haible  <bruno@clisp.org>
11785         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
11786         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
11787         to 'const pthread_attr_t *'.
11788         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
11789         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
11791 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11793         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
11794         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
11795         work around GCC bug 91450 as the bug should be fixed there.
11797 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11799         glob: get closer to glibc glob.c
11800         Omit differences from glibc when the differences don’t matter.
11801         * lib/glob.c [_LIBC]: Include shlib-compat.h.
11802         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
11803         (glob_lstat): New function.
11804         (glob_in_dir): Use it.
11805         (GLOB_ATTRIBUTE): Define to empty if not already defined.
11806         Use changed.
11808 2019-11-18  Bruno Haible  <bruno@clisp.org>
11810         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
11811         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
11812         UINTPTR_MAX): Consider _WIN64.
11813         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
11814         a pointer.
11816 2019-11-18  Bruno Haible  <bruno@clisp.org>
11818         stdint: Fix value of WINT_MAX when we override wint_t.
11819         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
11820         when GNULIB_OVERRIDES_WINT_T is 1.
11822 2019-11-18  Bruno Haible  <bruno@clisp.org>
11824         vcs-to-changelog: New module.
11825         * modules/vcs-to-changelog: New file.
11826         * MODULES.html.sh (func_all_modules): Add it.
11828 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
11830         vcs-to-changelog: New script to generate ChangeLog-like output.
11831         Discussion:
11832         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
11833         * build-aux/vcs_to_changelog.py: New file.
11834         * build-aux/vcstocl/frontend_c.py: New file.
11835         * build-aux/vcstocl/misc_util.py: New file.
11836         * build-aux/vcstocl/vcs_git.py: New file.
11838 2019-11-18  Bruno Haible  <bruno@clisp.org>
11840         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
11841         Reported by Keith Marshall <keith@users.osdn.me> in
11842         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
11843         and <https://osdn.net/projects/mingw/ticket/39677>.
11844         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
11845         already been defined by mingw's <crtdefs.h>.
11847 2019-11-18  Bruno Haible  <bruno@clisp.org>
11849         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
11850         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
11851         conditionally enabled.
11853 2019-11-18  Bruno Haible  <bruno@clisp.org>
11855         gc: Mirror libgcrypt.m4 from libgcrypt.
11856         * config/srclistvars.sh (LIBGCRYPT): New variable.
11857         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
11859 2019-11-17  Bruno Haible  <bruno@clisp.org>
11861         locale, localename: Improve z/OS support.
11862         Reported by Daniel Richard G. in
11863         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
11864         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
11865         gl_LOCALE_H.
11866         (gl_LOCALE_H): Require it.
11867         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
11868         defined, don't even check for newlocale, duplocale, freelocale.
11869         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
11870         locale_t is not defined.
11872 2019-11-17  Bruno Haible  <bruno@clisp.org>
11874         havelib: Make libdirstems processing more flexible.
11875         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
11876         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
11877         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
11878         patch from 2017-02-19).
11879         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
11880         libdirs, even when the first one exists as a directory.
11882 2019-11-17  Bruno Haible  <bruno@clisp.org>
11884         havelib: Match the bitness when searching for libraries.
11885         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
11886         acl_is_expected_elfclass.
11887         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
11888         file exists, in ELF, also test whether it has the ELF class that
11889         corresponds to the host's bitness.
11891 2019-11-17  Bruno Haible  <bruno@clisp.org>
11893         host-cpu-c-abi: Add support for unknown CPUs.
11894         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
11895         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
11896         32-bit or 64-bit.
11898 2019-11-17  Bruno Haible  <bruno@clisp.org>
11900         havelib: Remove redundant code.
11901         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
11902         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
11904 2019-11-17  Bruno Haible  <bruno@clisp.org>
11906         havelib: Fix a bug in dependency processing.
11907         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
11908         of .la files, don't overwrite the value of additional_libdir for the
11909         next rounds.
11911 2019-11-16  Bruno Haible  <bruno@clisp.org>
11913         wctype-h: When overriding wint_t, override also the related functions.
11914         Reported by Christian Biesinger <cbiesinger@google.com> in
11915         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
11916         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
11917         REPLACE_ISWCNTRL to 1.
11918         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
11919         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
11920         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
11921         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
11922         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
11923         on mingw.
11924         * doc/posix-headers/wctype.texi: Likewise.
11926 2019-11-16  Bruno Haible  <bruno@clisp.org>
11928         time_r: Fix for mingw.
11929         Reported by Christian Biesinger <cbiesinger@google.com> in
11930         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
11931         * lib/time.in.h: On mingw, include <unistd.h>.
11932         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
11933         <time.h>. Test for localtime_r in a way that works when it is defined
11934         as an inline function.
11936 2019-11-13  Bruno Haible  <bruno@clisp.org>
11938         havelib: Revert last change.
11939         * build-aux/config.rpath: Revert last change. We can add msys2 support
11940         when it has been added to libtool.m4 upstream.
11942 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11944         config: add msys support
11945         Requested by Arnold Robbins in:
11946         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
11947         He also requested a change to config.guess, which I’ll forward
11948         upstream.
11949         * build-aux/ar-lib (func_file_conv):
11950         * build-aux/compile (func_file_conv):
11951         * build-aux/config.rpath (wl, with_gnu_ld)
11952         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
11953         Treat msys like cygwin.
11955 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11957         regex: now back in sync with glibc
11958         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
11959         regexec.c got merged into glibc and are now copies again.
11961 2019-10-27  Bruno Haible  <bruno@clisp.org>
11963         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
11964         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
11965         statement.
11966         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
11967         32-bit CPUs.
11969 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11971         timespec-add, timespec-sub: simplify
11972         * lib/timespec-add.c (timespec_add):
11973         * lib/timespec-sub.c (timespec_sub):
11974         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11975         work on unsigned integers.
11977 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11979         nstrftime: speed up integer overflow checking
11980         * lib/nstrftime.c: Include intprops.h.
11981         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
11982         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
11983         instead of doing it by hand.
11984         * modules/nstrftime (Depends-on): Add intprops.
11986         Port better to GCC under macOS
11987         Work around macOS header that has ‘#define __has_builtin(x) 0’
11988         when compiled by GCC.  Apple really, really doesn’t want you to
11989         use GCC, apparently.  Rroblem reported by Akim Demaille in:
11990         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
11991         The fix is to not trust __has_builtin when being compiled by
11992         recent-enough GCC.
11993         * lib/intprops.h (__has_builtin)
11994         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11995         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
11996         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
11997         Remove.  All uses removed.
11998         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
11999         directly, if defined and if not newer GCC.
12000         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
12001         New macro, that use __has_builtin directly, if defined and if
12002         not newer GCC.
12003         (assume): Use them.
12005 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
12007         maintainer-makefile: update rule for argmatch.
12008         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
12010 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
12012         bitset: let freeing functions accept NULL.
12013         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
12014         given NULL.
12015         * lib/bitset.h: Document that.
12016         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
12018 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12020         inttypes: use more-robust test for int range
12021         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
12022         Problem reported by Dagobert Michelsen in:
12023         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
12024         * lib/inttypes.in.h: Rely only on limits.h when checking
12025         int range.
12027 2019-10-15  Bruno Haible  <bruno@clisp.org>
12029         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
12030         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
12031         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
12032         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
12033         term_ostream_set_hyperlink): New functions.
12034         (term_styled_ostream_get_hyperlink_ref,
12035         term_styled_ostream_get_hyperlink_id,
12036         term_styled_ostream_set_hyperlink): New function aliases.
12038 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12040         update-copyright: use en dashes in .texi ranges
12041         * build-aux/update-copyright: Match year ranges like "1998--2019",
12042         which are used in the Autoconf manual.  Also, update ranges in
12043         .tex, .texi, and .texinfo files to use en dashes instead of
12044         hyphens.
12046 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12048         * config/srclist.txt: Remove posix/regex_internal.c for now.
12050 2019-10-13  Bruno Haible  <bruno@clisp.org>
12052         git-version-gen: Allow 'snapshot' as .tarball-version contents.
12053         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
12054         contents to the empty string.
12056 2019-10-12  Bruno Haible  <bruno@clisp.org>
12058         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
12059         * tests/test-intprops.c (main): Disable two more tests when using
12060         HP-UX cc.
12062 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12064         Simplify and regularize regex use of ‘assert’
12065         Also, tell GCC about the asserts even when compiling without
12066         debugging, to give it further optimization opportunities.
12067         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
12068         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
12069         (parse_expression, parse_bracket_exp):
12070         * lib/regex_internal.c (build_wcs_buffer)
12071         (build_wcs_upper_buffer, re_string_reconstruct)
12072         (re_string_context_at):
12073         * lib/regexec.c (re_search_stub, re_copy_regs)
12074         (re_search_internal, prune_impossible_nodes, check_matching)
12075         (check_halt_state_context, set_regs, sift_states_backward)
12076         (build_sifted_states, transit_state_mb, transit_state_bkref)
12077         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
12078         (match_ctx_add_subtop):
12079         Use it instead of plain ‘assert’.
12081 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12083         regex: omit debug assignment when not debugging
12084         * lib/regexec.c (re_search_internal) [!DEBUG]:
12085         Remove unnecessary assignment.
12087         regex: tell compiler there’s at most 256 arcs out
12088         Partly this is to help the reader (and maybe help GCC);
12089         partly this is to pacify Coverity.
12090         * lib/regex_internal.h: Include verify.h.
12091         * lib/regexec.c (group_nodes_into_DFAstates):
12092         Tell the compiler that ndests cannot exceed SBC_MAX.
12093         * modules/regex (Depends-on): Add ‘verify’.
12095         regex: simplify by assuming C99
12096         * config/srclist.txt: Comment out regex_internal.h and regexec.c
12097         temporarily.
12098         * lib/regex_internal.h (lock_define, re_match_context_t):
12099         Simplify by assuming C99 macros and const.
12100         * lib/regexec.c (re_search_internal): Simplify by assuming C99
12101         initializers.  Remove unnecessary assignment, as mctx is now
12102         safely initialized earlier.
12104         regex: avoid copying of uninitialized storage
12105         * config/srclist.txt: Comment out regcomp.c temporarily.
12106         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
12107         Initialize even when not checking for lint, as the behavior is
12108         arguably undefined otherwise and Coverity warns about it.
12110 2019-10-06  Bruno Haible  <bruno@clisp.org>
12112         access tests: Fix test failure when run as root.
12113         * tests/test-access.c: Include root-uid.h.
12114         (geteuid): Define fallback.
12115         (main): Don't expect that writing to a read-only file would fail when
12116         running as root. Also, remove the created files at the end.
12117         * modules/access-tests (Depends-on): Add root-uid.
12118         (configure.ac): Test whether geteuid exists.
12120 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
12122         users.txt: add GNU nano
12123         Nano has been making use of gnulib since March 2017, version 2.8.0.
12125 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
12127         bootstrap: simplify debugging of wget failures
12128         Problem reported by Tim Rühsen in:
12129         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
12130         * build-aux/bootstrap (po_download_command_format):
12131         Invoke wget with -nv instead of -q, to make debugging easier.
12133 2019-09-29  Bruno Haible  <bruno@clisp.org>
12135         avltree-list: Fix compilation warning (introduced on 2014-09-16).
12136         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
12137         'const' attribute.
12139 2019-09-29  Bruno Haible  <bruno@clisp.org>
12141         fbufmode: Fix compilation error on glibc >= 2.28 systems.
12142         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
12144 2019-09-28  Bruno Haible  <bruno@clisp.org>
12146         Update comments that refer to POSIX.
12147         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
12148         sentence about trailing slashes.
12149         * lib/fflush.c: Clarify the reasoning.
12150         * tests/test-fflush2.c: Cite the relevant sentence.
12152 2019-09-28  Bruno Haible  <bruno@clisp.org>
12154         access: Document limitations on Windows.
12155         Suggested by Zaretskii <eliz@gnu.org>.
12156         * doc/posix-functions/access.texi: Mention two limitations on Windows.
12158 2019-09-28  Bruno Haible  <bruno@clisp.org>
12160         findprog-in: Fix comment.
12161         Reported by Eli Zaretskii <eliz@gnu.org>.
12162         * lib/findprog.h (find_in_given_path): Extend description of EACCES
12163         condition.
12164         * lib/stat.c (rpl_stat): Fix typo in comment.
12165         * lib/utime.c (_gl_utimens_windows): Likewise.
12167 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12169         Update URLs and associated text
12170         (Thanks to Bruno Haible for proofreading this patch.)
12171         Prefer https: to http: in URLs where either will do, for the usual
12172         security reasons.  I also updated broken and/or moved URLs
12173         discovered during the process. In a few places I had to resort to
12174         archive.org, since I didn't find the originals elsewhere.
12176 2019-09-15  Paul Smith  <psmith@gnu.org>
12177             Bruno Haible  <bruno@clisp.org>
12179         findprog-in: Set errno when the search fails.
12180         * lib/findprog-in.c: Include <errno.h>.
12181         (find_in_given_path): Set errno before returning NULL.
12182         * lib/findprog.h (find_in_given_path): Update comment accordingly.
12183         Define the term "slash".
12185 2019-09-15  Bruno Haible  <bruno@clisp.org>
12187         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
12188         * modules/findprog (Depends-on): Add access.
12189         * modules/findprog-lgpl (Depends-on): Likewise.
12190         * modules/findprog-in (Depends-on): Likewise.
12192 2019-09-15  Bruno Haible  <bruno@clisp.org>
12194         access: Add tests.
12195         * tests/test-access.c: New file.
12196         * modules/access-tests: New file.
12198         access: New module.
12199         * lib/unistd.in.h (access): New declaration.
12200         * lib/access.c: New file.
12201         * m4/access.m4: New file.
12202         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
12203         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
12204         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
12205         REPLACE_ACCESS.
12206         * modules/access: New file.
12207         * tests/test-unistd-c++.cc (access): Check signature.
12208         * doc/posix-functions/access.texi: Mention the new module.
12210 2019-09-15  Bruno Haible  <bruno@clisp.org>
12212         fcntl-h: Fix compilation error of creat.c on MSVC.
12213         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
12214         defined.
12216 2019-09-15  Bruno Haible  <bruno@clisp.org>
12218         creat: Add tests.
12219         * tests/test-creat.c: New file, based on tests/test-open.h.
12220         * modules/creat-tests: New file.
12222         creat: New module.
12223         * lib/fcntl.in.h (creat): New declaration.
12224         * lib/creat.c: New file, based on lib/open.c.
12225         * m4/creat.m4: New file.
12226         * m4/open-slash.m4: New file, extracted from m4/open.m4.
12227         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
12228         Invoke gl_OPEN_TRAILING_SLASH_BUG.
12229         * modules/open (Files): Add m4/open-slash.m4.
12230         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
12231         REPLACE_CREAT.
12232         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
12233         * modules/creat: New file.
12234         * tests/test-fcntl-h-c++.cc (creat): Check signature.
12235         * doc/posix-functions/creat.texi: Mention the new module.
12237 2019-09-15  Bruno Haible  <bruno@clisp.org>
12239         open tests: Enhance test.
12240         * tests/test-open.h (test_open): Test the creation of an executable
12241         regular file. Also improve initial cleanup.
12243 2019-09-15  Bruno Haible  <bruno@clisp.org>
12245         intprops tests: Avoid build failure with HP-UX cc.
12246         * tests/test-intprops.c: Disable a check that makes HP cc choke with
12247         "error 4018: Macro param too large after substitution - use -H option.".
12249 2019-09-14  Bruno Haible  <bruno@clisp.org>
12251         Make autoconf tests work with -Werror=implicit-function-declaration.
12252         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
12253         towupper() declaration.
12254         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
12255         declaration.
12257 2019-09-14  Bruno Haible  <bruno@clisp.org>
12259         findprog-in: Better mimic the system on native Windows.
12260         Reported by Paul Smith <psmith@gnu.org>.
12261         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
12262         non-empty suffixes when the file name already contains a '.'.
12264 2019-09-10  Bruno Haible  <bruno@clisp.org>
12266         wctob: Fix autoconf test.
12267         Based on patch by Florian Weimer <fweimer@redhat.com>.
12268         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
12270 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
12272         xhash: provide hash_xinitialize.
12273         Suggested by Egor Pugin <egor.pugin@gmail.com>
12274         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
12275         * modules/xhash, lib/xhash.c: New.
12276         * lib/hash.h (hash_xinitialize): New.
12278 2019-09-09  Bruno Haible  <bruno@clisp.org>
12280         findprog-in: Make exec optimization optional.
12281         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
12282         (find_in_given_path): Add optimize_for_exec parameter.
12283         * lib/findprog-in.c (find_in_given_path): Likewise.
12285 2019-09-08  Bruno Haible  <bruno@clisp.org>
12287         Add option to assume the best, not the worst, when cross-compiling.
12288         Suggested by Jonas Termansen <sortie@maxsi.org>.
12289         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
12290         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
12291         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
12292         lt_cv_sys_argz_works.
12293         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
12294         ac_cv_func_calloc_0_nonnull.
12295         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
12296         --enable-cross-guesses for gl_cv_func_realpath_works.
12297         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
12298         gl_cv_func_cbrtl_ieee.
12299         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
12300         gl_cv_func_ceil_ieee.
12301         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
12302         gl_cv_func_ceilf_ieee.
12303         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
12304         gl_cv_func_ceill_ieee.
12305         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
12306         ac_cv_func_chown_works.
12307         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
12308         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
12309         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
12310         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
12311         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
12312         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
12313         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
12314         gl_cv_func_expl_works.
12315         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
12316         gl_cv_func_expm1_ieee.
12317         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
12318         gl_cv_func_expm1l_works.
12319         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
12320         gl_cv_func_open_directory_works.
12321         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
12322         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
12323         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
12324         gl_cv_func_fchownat_empty_filename_works.
12325         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
12326         gl_cv_func_fdopendir_works.
12327         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
12328         gl_cv_func_floor_ieee.
12329         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
12330         gl_cv_func_floorf_ieee.
12331         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
12332         gl_cv_func_fma_works.
12333         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
12334         gl_cv_func_fmaf_works.
12335         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
12336         gl_cv_func_fmal_works.
12337         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
12338         gl_cv_func_fmod_ieee.
12339         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
12340         gl_cv_func_fmodf_ieee.
12341         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
12342         gl_cv_func_fmodl_ieee.
12343         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
12344         gl_cv_func_fpurge_works.
12345         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
12346         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
12347         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
12348         gl_cv_func_getcwd_null.
12349         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
12350         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
12351         gl_cv_func_working_getdelim.
12352         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12353         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
12354         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
12355         gl_cv_func_getgroups_works.
12356         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
12357         am_cv_func_working_getline.
12358         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
12359         for gl_cv_func_getopt_gnu.
12360         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
12361         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
12362         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
12363         gl_cv_func_hypot_ieee.
12364         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
12365         gl_cv_func_hypotf_ieee.
12366         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
12367         gl_cv_func_hypotl_ieee.
12368         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
12369         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
12370         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
12371         gl_cv_func_link_works.
12372         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
12373         gl_cv_func_linkat_slash.
12374         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
12375         gl_cv_func_log_ieee.
12376         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
12377         gl_cv_func_logf_ieee.
12378         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
12379         gl_cv_func_logl_works.
12380         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
12381         gl_cv_func_log10_ieee.
12382         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
12383         gl_cv_func_log10f_ieee.
12384         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
12385         gl_cv_func_log10l_works.
12386         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
12387         gl_cv_func_log1p_ieee.
12388         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
12389         gl_cv_func_log1pf_ieee.
12390         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
12391         gl_cv_func_log1pl_ieee.
12392         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
12393         gl_cv_func_log2_ieee.
12394         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
12395         gl_cv_func_log2f_ieee.
12396         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
12397         --enable-cross-guesses for
12398         gl_cv_func_lstat_dereferences_slashed_symlink.
12399         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
12400         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12401         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
12402         gl_cv_C_locale_sans_EILSEQ.
12403         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
12404         gl_cv_func_memchr_works.
12405         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
12406         gl_cv_func_memmem_works_always.
12407         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
12408         gl_cv_func_memmem_works_fast.
12409         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
12410         gl_cv_func_mkdir_trailing_slash_works,
12411         gl_cv_func_mkdir_trailing_dot_works.
12412         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
12413         gl_cv_func_mkfifo_works.
12414         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
12415         gl_cv_func_mknod_works.
12416         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
12417         gl_cv_func_working_mkstemp.
12418         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
12419         gl_cv_func_working_mktime.
12420         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
12421         gl_cv_func_modf_ieee.
12422         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
12423         gl_cv_func_modff_ieee.
12424         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
12425         gl_cv_func_modfl_ieee.
12426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
12427         gl_cv_func_nanosleep.
12428         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
12429         gl_cv_func_perror_works.
12430         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
12431         gl_cv_func_printf_sizes_c99.
12432         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
12433         gl_cv_func_printf_infinite.
12434         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
12435         gl_cv_func_printf_infinite_long_double.
12436         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
12437         gl_cv_func_printf_directive_a.
12438         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
12439         gl_cv_func_printf_directive_f.
12440         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
12441         gl_cv_func_printf_flag_zero.
12442         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
12443         gl_cv_func_printf_enomem.
12444         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
12445         gl_cv_func_snprintf_truncation_c99.
12446         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
12447         gl_cv_func_snprintf_retval_c99.
12448         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
12449         gl_cv_func_snprintf_directive_n.
12450         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
12451         gl_cv_func_vsnprintf_zerosize_c99.
12452         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
12453         gl_cv_func_pselect_detects_ebadf.
12454         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12455         Obey --enable-cross-guesses for
12456         gl_cv_pthread_rwlock_rdlock_prefer_writer.
12457         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
12458         gl_cv_func_ptsname_sets_errno.
12459         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
12460         gl_cv_func_svid_putenv.
12461         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
12462         gl_cv_func_readlink_works.
12463         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
12464         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
12465         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
12466         gl_cv_func_re_compile_pattern_working.
12467         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
12468         gl_cv_func_remainder_ieee.
12469         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
12470         gl_cv_func_remainderf_ieee.
12471         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
12472         gl_cv_func_remainderl_ieee.
12473         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
12474         gl_cv_func_rintl_works.
12475         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
12476         gl_cv_func_rmdir_works.
12477         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
12478         gl_cv_func_round_ieee.
12479         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
12480         gl_cv_func_roundf_ieee.
12481         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
12482         gl_cv_func_roundl_ieee.
12483         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
12484         gl_cv_func_select_detects_ebadf.
12485         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
12486         gl_cv_func_setenv_works.
12487         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
12488         gl_cv_func_unsetenv_works.
12489         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
12490         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
12491         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
12492         gl_cv_func_sleep_works.
12493         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
12494         gl_cv_func_stat_file_slash.
12495         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
12496         gl_cv_func_stpncpy.
12497         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
12498         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
12499         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
12500         gl_cv_func_strcasestr_linear.
12501         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
12502         gl_cv_func_working_strerror.
12503         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
12504         gl_cv_func_strerror_0_works.
12505         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
12506         --enable-cross-guesses for gl_cv_func_strerror_r_works.
12507         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
12508         gl_cv_func_strstr_works_always.
12509         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
12510         gl_cv_func_strstr_linear.
12511         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
12512         gl_cv_func_strtod_works.
12513         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
12514         gl_cv_func_strtold_works.
12515         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
12516         gl_cv_func_symlink_works.
12517         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
12518         gl_cv_func_symlinkat_works.
12519         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
12520         gl_cv_func_trunc_ieee.
12521         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
12522         gl_cv_func_truncf_ieee.
12523         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
12524         gl_cv_func_truncl_ieee.
12525         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
12526         gl_cv_func_tzset_clobber.
12527         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
12528         gl_cv_func_ungetc_works.
12529         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
12530         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
12531         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
12532         gl_cv_func_usleep_works.
12533         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
12534         gl_cv_func_futimesat_works.
12535         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
12536         gl_cv_func_working_utimes.
12537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
12538         gl_cv_func_wcwidth_works.
12539         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
12540         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
12541         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
12542         links for testing. Obey --enable-cross-guesses for
12543         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
12544         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
12546 2019-09-08  Bruno Haible  <bruno@clisp.org>
12548         Clarify that cross-compilation guesses are guesses.
12549         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
12550         cross-compiling.
12552 2019-09-08  Bruno Haible  <bruno@clisp.org>
12554         chown: Fix configure output (regression from 2019-03-23).
12555         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
12556         gl_cv_func_chown_follows_symlink variable.
12558 2019-09-08  Bruno Haible  <bruno@clisp.org>
12560         findprog-in: New module.
12561         Suggested by Paul Smith <psmith@gnu.org>.
12562         * lib/findprog.h (find_in_given_path): New declaration.
12563         * lib/findprog-in.c: New file, based on lib/findprog.c.
12564         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
12565         * modules/findprog-in: New file.
12567 2019-09-08  Bruno Haible  <bruno@clisp.org>
12569         findprog: Remove unused dependency.
12570         * modules/findprog (Depends-on): Remove strdup.
12572 2019-09-08  Bruno Haible  <bruno@clisp.org>
12574         findprog: Remove test that is obsolete since 2006-04-24.
12575         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
12577 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12579         bitset: style changes
12580         * lib/bitset/vector.c (vbitset_resize): Factor computation.
12581         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
12582         xzalloc to xcalloc.
12583         Suggested by Paul Eggert.
12585 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12587         bitset: check memory allocation
12588         Reported by 江 祖铭 (Zu-Ming Jiang).
12589         With help from Paul Eggert.
12590         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
12591         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
12592         instead of realloc.
12593         When shrinking, accept failures.
12594         * lib/bitset/vector.c (vbitset_resize): Likewise.
12596 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12598         scratch_buffer: sync from glibc
12599         * config/srclist.txt: Add the scratch_buffer source
12600         code from glibc, since these should be in sync.
12601         Autoupdate.
12603 2019-09-07  Bruno Haible  <bruno@clisp.org>
12605         doc: Update for glibc 2.30.
12606         * doc/glibc-functions/gettid.texi: New file.
12607         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
12608         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
12609         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
12610         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
12611         * doc/glibc-functions/sem_clockwait.texi: New file.
12612         * doc/glibc-functions/tgkill.texi: New file.
12613         * doc/glibc-functions/twalk_r.texi: New file.
12614         * doc/gnulib.texi: Include them.
12615         (Glibc semaphore.h): New section.
12616         * doc/pastposix-functions/h_errno.texi: Update.
12617         * doc/posix-functions/*.texi: Likewise.
12619 2019-09-06  Bruno Haible  <bruno@clisp.org>
12621         symlink tests: Avoid test failure on Linux with Lustre file system.
12622         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
12623         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
12624         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
12626 2019-09-01  Bruno Haible  <bruno@clisp.org>
12628         gitsub.sh: Add support for shallow-cloning of subdirectories.
12629         * top/gitsub.sh (func_usage): Document allowed git options with
12630         'git pull'.
12631         (func_pull): Accept GIT_OPTIONS argument.
12632         (pull): Parse git options before complaining about too many arguments.
12633         Pass the git options to func_pull.
12635 2019-08-29  Bruno Haible  <bruno@clisp.org>
12637         lock: Fix cross-compilation guesses.
12638         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12639         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
12640         platforms.
12642 2019-08-28  Bruno Haible  <bruno@clisp.org>
12644         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
12645         Reported by Martin Storsjö <martin@martin.st> in
12646         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
12647         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
12648         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
12649         files from GCC 6 or newer, use an override through '#define', because
12650         the inline definitions in the platform's <cmath> cannot be overridden
12651         in another way.
12653 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12655         Revert macOS INT_MULTIPLY_WRAPV patch
12656         Problem reported by Bruno Haible in:
12657         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
12658         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
12659         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12660         Go back to working around the Clang bug on macOS.
12662 2019-08-27  Bruno Haible  <bruno@clisp.org>
12664         libtool-next-version: Fix error output.
12665         * build-aux/libtool-next-version (func_fatal_error): Fix the program
12666         name.
12668 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12670         Speed up INT_MULTIPLY_WRAPV on macOS
12671         Assume that __builtin_mul_overflow works OK with Clang on macOS.
12672         Mattias Engdegård says it’s safe to assume the relevant library
12673         is always available there.
12674         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
12675         New temporary internal macro.
12676         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12677         No need to work around the Clang bug on macOS.
12679 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12681         intprops.h, verify.h: port better to clang
12682         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12683         with Clang.  Problem reported privately by Mattias Engdegård.
12684         Also, insulate intprops.h and verify.h better against each other’s
12685         definitions of __has_builtin on non-Clang hosts.
12686         * lib/intprops.h (__has_builtin): Define a temporary substitute
12687         if __has_builtin is not already defined.
12688         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12689         New temporary internal macros.
12690         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
12691         Now two separate macros, replacing the old
12692         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
12693         __builtin_mul_overflow is like the rest.  All uses changed.
12694         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
12695         Adjust to above changes.
12696         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
12697         longer relevant.  All uses changed.
12698         * lib/verify.h (__has_builtin): Treat like intprops.h,
12699         so that the two .h files do not collide with each other.
12700         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
12701         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
12703 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12705         intprops: say why not Clang __builtin_add_overflow
12706         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
12707         Mention Clang in comment, responding to a query from
12708         Mattias Engdegård.
12710 2019-08-24  Bruno Haible  <bruno@clisp.org>
12712         doc: Document most of the files outside of modules.
12713         * doc/gnulib.texi (Build Infrastructure Files,
12714         Release Management Files): New chapters.
12716 2019-08-24  Bruno Haible  <bruno@clisp.org>
12718         bootstrap: Keep in sync with the 'gettext' module.
12719         Reported by Assaf Gordon in
12720         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
12721         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
12722         * build-aux/po/remove-potcdate.sin: Likewise.
12724 2019-08-24  Bruno Haible  <bruno@clisp.org>
12726         crypto/gc-sha512: Add tests.
12727         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
12728         * modules/crypto/gc-sha512-tests: New file.
12730         crypto/gc-sha256: Add tests.
12731         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
12732         * modules/crypto/gc-sha256-tests: New file.
12734         crypto/gc-sha256, crypto/gc-sha512: New modules.
12735         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
12736         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
12737         (MAX_DIGEST_SIZE): Set to 64.
12738         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
12739         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
12740         (gc_sha256, gc_sha512): New functions.
12741         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
12742         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
12743         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
12745 2019-08-24  Bruno Haible  <bruno@clisp.org>
12747         crypto/gc-sha1 tests: Improve output when the test fails.
12748         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
12749         output.
12751 2019-08-24  Bruno Haible  <bruno@clisp.org>
12753         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
12754         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
12755         LIBGCRYPT_HAS_MD_SM3.
12756         * lib/gc-libgcrypt.c: Include sm3.h.
12757         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
12758         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
12759         implementation if libgcrypt does not support SM3.
12761 2019-08-24  Bruno Haible  <bruno@clisp.org>
12763         crypto/gc-md2: Optimize and clarify code.
12764         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
12765         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
12766         is not needed.
12768 2019-08-24  Bruno Haible  <bruno@clisp.org>
12770         crypto/gc-md2: Add comment.
12771         * lib/gc-libgcrypt.c: Add comment.
12773 2019-08-24  Bruno Haible  <bruno@clisp.org>
12775         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
12776         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
12777         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
12778         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
12779         variable.
12781 2019-08-24  Bruno Haible  <bruno@clisp.org>
12783         crypto/gc: Fix link error with --with-libgcrypt.
12784         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
12785         AC_LIB_HAVE_LINKFLAGS invocation.
12787 2019-08-24  Bruno Haible  <bruno@clisp.org>
12789         crypto/gc: Access the module indicators correctly.
12790         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
12791         * lib/gc-libgcrypt.c: Likewise.
12793 2019-08-24  Bruno Haible  <bruno@clisp.org>
12795         crypto/gc: Fix configuration with --with-libgcrypt.
12796         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
12797         * modules/crypto/gc (Files): Add it.
12798         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
12800 2019-08-24  Bruno Haible  <bruno@clisp.org>
12802         Remove unused file.
12803         * m4/stat-macros.m4: Remove file.
12805 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12807         New strip-trailing-space option for srclist-update
12808         * config/srclist-update (fixfile): Support new option.
12809         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
12810         Use it.
12812 2019-08-20  Eric Blake  <eblake@redhat.com>
12814         accept4: Support SOCK_NONBLOCK, if defined
12815         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
12817         accept4: Fix compilation when native accept4() exists.
12818         Reported by Richard W.M. Jones <rjones@redhat.com> in
12819         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
12820         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
12822 2019-08-18  Bruno Haible  <bruno@clisp.org>
12824         Defeat -flto GCC optimization in math autoconf tests.
12825         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
12826         at <https://savannah.gnu.org/bugs/?56109>.
12827         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
12828         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
12829         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12830         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12831         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12832         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
12833         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12834         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
12835         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
12836         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12837         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12838         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12840 2019-08-17  Bruno Haible  <bruno@clisp.org>
12842         windows-spin: Implement declared functions.
12843         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
12844         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
12845         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
12846         name.
12848 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12850         intprops: port to Oracle Developer Studio 12.6
12851         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
12852         typos that were in a section not compiled by GCC.
12854 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12856         intprops: support uchar, ushort _WRAPV dests
12857         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
12858         when __builtin_add_overflow etc. and _Generic are not used.
12859         (_GL_INT_OP_WRAPV): Use it to support destinations that
12860         are unsigned char or unsigned short, even in compilers
12861         that lack __typeof__ and are not C11-compatible.
12863         intprops: pacify picky GCC
12864         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
12865         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
12866         possibly-incorrect result.
12867         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
12868         about (A) used as a boolean, when A is an expression like 3 * 4.
12870         intprops: support unsigned *_WRAPV results
12871         Add support for unsigned, unsigned long, and unsigned long long
12872         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
12873         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
12874         bug with unsigned inputs reported by Eli Zaretskii in:
12875         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
12876         * config/srclist.txt: Break the glibc connection for intprops.h
12877         temporarily, while more testing is done in Gnulib-using apps.
12878         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12879         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
12880         Support unsigned results no narrower than unsigned int.  Report
12881         overflow correctly if some arguments are unsigned.
12882         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
12883         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
12884         the right thing with narrow args.
12885         (_GL_INT_OP_CALC1): Remove.  All callers removed.
12886         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
12887         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
12888         * tests/test-intprops.c: Check for bugs and test new behavior.
12890 2019-08-14  Bruno Haible  <bruno@clisp.org>
12892         get_progname_of: New module.
12893         * lib/get_progname_of.h: New file.
12894         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
12895         * lib/getprogname.c (getprogname): Tweak coding style.
12896         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
12897         * modules/get_progname_of: New file.
12899 2019-08-14  Bruno Haible  <bruno@clisp.org>
12901         get_ppid_of: New module.
12902         * lib/get_ppid_of.h: New file.
12903         * lib/get_ppid_of.c: New file.
12904         * modules/get_ppid_of: New file.
12906 2019-08-13  Bruno Haible  <bruno@clisp.org>
12908         libtextstyle-optional tests: Support the NO_COLOR environment variable.
12909         * tests/test-libtextstyle.c (main): Do not emit styling when the
12910         environment variable NO_COLOR is set.
12912 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12914         verify: improve diagnostic quality in recent GCC
12915         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
12916         useful line number containing the top-level caller of the macro.
12917         So, bring back the older way of issuing a diagnostic containing
12918         the top-level call’s arg, so that it is easier to diagnose
12919         ‘verify’ failures with recent GCC.
12920         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
12921         Bring back DIAGNOSTIC arg.  All callers changed.
12922         (verify): Just use _GL_VERIFY.
12924 2019-08-11  Bruno Haible  <bruno@clisp.org>
12926         localcharset: Add more aliases for OS/2.
12927         Based on patch by KO Myung-Hun <komh78@gmail.com> in
12928         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
12929         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
12931 2019-08-10  Eric Blake  <eblake@redhat.com>
12933         configmake: Update advice on usage.
12934         * modules/configmake (Include): No longer necessary to include
12935         last, since configmake.h itself worries about collision avoidance.
12937 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
12939         parse-datetime: fix 'T' military timezone handling
12940         * lib/parse-datetime.y (zone):
12941         follow-up to the previous commit: the 'T' case is handled outside the
12942         conversion table (used as either military timezone UTC-7 or ISO8601
12943         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
12944         timezone letters.
12946 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12948         parse-datetime: fix military timezone letters
12949         Problem and trivial fix reported by Neil Hoggarth in:
12950         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
12951         * lib/parse-datetime.y (military_table):
12952         Do it the right way, not the RFC 822 way.
12954 2019-08-08  Eric Blake  <eblake@redhat.com>
12956         configmake: Avoid namespace pollution issue on mingw.
12957         * modules/configmake (Makefile.am): If the project uses
12958         <winsock2.h>, include that header before defining DATADIR.
12960 2019-07-28  Bruno Haible  <bruno@clisp.org>
12962         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
12963         * tests/test-mbrtowc.c (main): Fix expected value of wc.
12965 2019-07-24  Bruno Haible  <bruno@clisp.org>
12967         pthread-h: Fix definitions of types and macros on mingw.
12968         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
12969         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
12970         not in use.
12971         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
12972         'pthread-once' is not in use.
12973         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
12974         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
12975         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
12976         in use.
12977         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
12978         Define also when module 'pthread-rwlock' is not in use.
12979         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
12980         also when module 'pthread-cond' is not in use.
12981         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
12982         'pthread-tss' is not in use.
12983         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
12984         use.
12986 2019-07-24  Simon Josefsson  <simon@josefsson.org>
12988         crypto/gc: Cope with libgcrypt without SM3.
12989         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
12991 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12993         backupfile: fix resource leak on memory failure
12994         Problem found by Coverity (CID 1484214).
12995         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
12997 2019-07-22  Bruno Haible  <bruno@clisp.org>
12999         Avoid missing-declarations warning in various tests.
13000         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
13001         test6, test_optional, test7, test8, test9, test10, test11, test12,
13002         test13, test14, test15, test_fun): Declare static.
13003         * tests/test-cnd.c (test_cnd_wait): Likewise.
13004         * tests/test-cond.c (test_cond): Likewise.
13006 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13008         pthread tests: Avoid missing-declarations warning.
13009         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
13011 2019-07-19  Bruno Haible  <bruno@clisp.org>
13013         parse-datetime: Avoid warnings from bison versions >= 3.3.
13014         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
13015         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
13017 2019-07-19  Bruno Haible  <bruno@clisp.org>
13019         parse-datetime: Require Bison 2.4 or newer.
13020         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
13021         Code taken from gettext's intl.m4.
13022         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
13023         of YACC.
13025 2019-07-19  Bruno Haible  <bruno@clisp.org>
13027         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
13028         * lib/areadlink-with-size.c: Include <string.h>.
13029         * lib/areadlinkat-with-size.c: Likewise.
13030         * lib/xgethostname.c: Likewise.
13031         * lib/xgetdomainname.c: Likewise.
13033 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
13035         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
13036         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
13037         "%pure-parser".  The former is available since Bison 2.3b (2008),
13038         while the latter is marked as obsolete since version 3.4 (May 2019).
13040 2019-07-16  Bruno Haible  <bruno@clisp.org>
13042         update-copyright: Make it work again (regression from 2019-06-15).
13043         Reported by Brian C. Lane <bcl@redhat.com>.
13044         * build-aux/update-copyright: Add back the -0777, -p, -i options.
13046 2019-07-14  Bruno Haible  <bruno@clisp.org>
13048         doc: Update info about <pthread.h>.
13049         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
13050         of 'pthread'.
13052 2019-07-14  Bruno Haible  <bruno@clisp.org>
13054         pthread_sigmask tests: Use new multithread modules.
13055         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
13056         glthread/thread.h.
13057         (main_thread, killer_thread): Change type to pthread_t.
13058         (main): Update accordingly.
13059         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
13060         thread.
13062 2019-07-14  Bruno Haible  <bruno@clisp.org>
13064         pthread-tss: Add tests.
13065         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
13066         tests/test-tss.c.
13067         * modules/pthread-tss-tests: New file.
13069 2019-07-14  Bruno Haible  <bruno@clisp.org>
13071         pthread-cond: Add tests.
13072         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
13073         tests/test-cnd.c.
13074         * modules/pthread-cond-tests: New file.
13076 2019-07-14  Bruno Haible  <bruno@clisp.org>
13078         pthread-rwlock: Add tests.
13079         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
13080         * modules/pthread-rwlock-tests: New file.
13082 2019-07-14  Bruno Haible  <bruno@clisp.org>
13084         pthread-mutex: Add tests.
13085         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
13086         tests/test-mtx.c.
13087         * modules/pthread-mutex-tests: New file.
13089 2019-07-14  Bruno Haible  <bruno@clisp.org>
13091         pthread-once: Add tests.
13092         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
13093         tests/test-call_once.c.
13094         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
13095         tests/test-mtx.c.
13096         * modules/pthread-once-tests: New file.
13098 2019-07-14  Bruno Haible  <bruno@clisp.org>
13100         pthread-thread: Add tests.
13101         * tests/test-pthread-thread.c: New file, based on
13102         tests/test-thread_create.c and tests/test-thrd_create.c.
13103         * modules/pthread-thread-tests: New file.
13105 2019-07-14  Bruno Haible  <bruno@clisp.org>
13107         pthread: Turn into a convenience module.
13108         * lib/pthread.in.h: Remove declarations for extern inline functions.
13109         * lib/pthread.c: Remove file.
13110         * modules/pthread (Files): Remove it.
13111         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
13112         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
13113         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
13114         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
13115         GNULIB_PTHREAD.
13116         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
13118 2019-07-14  Bruno Haible  <bruno@clisp.org>
13120         pthread-spin: New module.
13121         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
13122         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
13123         inline definitions.
13124         * lib/pthread-spin.c: New file.
13125         * m4/pthread-spin.m4: New file.
13126         * modules/pthread-spin: New file.
13127         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
13128         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
13129         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
13130         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
13131         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
13133 2019-07-14  Bruno Haible  <bruno@clisp.org>
13135         pthread-tss: New module.
13136         * lib/pthread-tss.c: New file.
13137         * m4/pthread-tss.m4: New file.
13138         * modules/pthread-tss: New file.
13139         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
13140         * doc/posix-functions/pthread_setspecific.texi: Likewise.
13141         * doc/posix-functions/pthread_getspecific.texi: Likewise.
13142         * doc/posix-functions/pthread_key_delete.texi: Likewise.
13144 2019-07-14  Bruno Haible  <bruno@clisp.org>
13146         pthread-cond: New module.
13147         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
13148         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
13149         * lib/pthread-cond.c: New file.
13150         * m4/pthread-cond.m4: New file.
13151         * modules/pthread-cond: New file.
13152         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
13153         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
13154         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
13155         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
13156         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
13157         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
13158         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
13159         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
13161 2019-07-14  Bruno Haible  <bruno@clisp.org>
13163         pthread-rwlock: New module.
13164         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
13165         * m4/pthread-rwlock.m4: New file.
13166         * modules/pthread-rwlock: New file.
13167         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
13168         and the Android problem.
13169         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
13170         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
13171         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
13172         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
13173         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
13174         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
13175         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
13176         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
13177         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
13178         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
13180 2019-07-14  Bruno Haible  <bruno@clisp.org>
13182         pthread-mutex: New module.
13183         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
13184         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
13185         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
13186         pthread_mutex_unlock): Remove inline definitions.
13187         * lib/pthread-mutex.c: New file.
13188         * m4/pthread-mutex.m4: New file.
13189         * modules/pthread-mutex: New file.
13190         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
13191         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
13192         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
13193         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
13194         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13195         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13196         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
13197         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
13198         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
13199         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
13200         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
13201         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
13203 2019-07-14  Bruno Haible  <bruno@clisp.org>
13205         pthread-once: New module.
13206         * lib/pthread-once.c: New file.
13207         * m4/pthread-once.m4: New file.
13208         * modules/pthread-once: New file.
13209         * doc/posix-functions/pthread_once.texi: Mention the new module.
13211 2019-07-14  Bruno Haible  <bruno@clisp.org>
13213         pthread-thread: New module.
13214         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
13215         inline definitions.
13216         * lib/pthread-thread.c: New file.
13217         * m4/pthread-thread.m4: New file.
13218         * modules/pthread-thread: New file.
13219         * doc/posix-functions/pthread_create.texi: Mention the new module.
13220         * doc/posix-functions/pthread_attr_init.texi: Likewise.
13221         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
13222         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
13223         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
13224         * doc/posix-functions/pthread_self.texi: Likewise.
13225         * doc/posix-functions/pthread_equal.texi: Likewise.
13226         * doc/posix-functions/pthread_detach.texi: Likewise.
13227         * doc/posix-functions/pthread_join.texi: Likewise.
13228         * doc/posix-functions/pthread_exit.texi: Likewise.
13230 2019-07-14  Bruno Haible  <bruno@clisp.org>
13232         pthread-h: Prepare for adding new modules.
13233         * lib/pthread.in.h: Define the types and macros for each of the
13234         facilities separately.
13235         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
13236         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13237         HAVE_PTHREAD_PROCESS_SHARED.
13238         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
13239         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
13240         HAVE_PTHREAD_PROCESS_SHARED.
13241         * modules/pthread-h (Makefile.am): Substitute
13242         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
13243         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
13245 2019-07-14  Bruno Haible  <bruno@clisp.org>
13247         pthread-h: Add declarations of essential pthread functions.
13248         * lib/pthread.in.h: Include snippets.
13249         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
13250         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
13251         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
13252         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
13253         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
13254         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
13255         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
13256         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
13257         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
13258         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
13259         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
13260         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
13261         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
13262         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
13263         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
13264         pthread_key_create, pthread_setspecific, pthread_getspecific,
13265         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
13266         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
13267         declarations.
13268         (pthread_mutex_timedlock): Move declaration.
13269         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
13270         declared.
13271         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
13272         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
13273         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
13274         HAVE_* and REPLACE_* variables for the new functions.
13275         * modules/pthread-h (Depends-on): Add snippet/c++defs,
13276         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
13277         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
13278         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
13279         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
13280         variables for the new functions. Split the sed script, to avoid the
13281         limit of 99 commands of HP-UX sed.
13282         * tests/test-pthread-c++.cc: Check the signature of the new functions.
13284 2019-07-14  Bruno Haible  <bruno@clisp.org>
13286         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
13287         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
13288         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
13289         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
13290         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
13291         * modules/pthread-h (Depends-on): Add threadlib.
13292         (Link): Change to $(LIBTHREAD).
13293         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
13294         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
13296 2019-07-14  Bruno Haible  <bruno@clisp.org>
13298         pthread-h: Add C++ tests.
13299         * tests/test-pthread-c++.cc: New file.
13300         * modules/pthread-h-c++-tests: New file.
13302 2019-07-14  Bruno Haible  <bruno@clisp.org>
13304         pthread-h: Add tests.
13305         * tests/test-pthread.c: New file.
13306         * modules/pthread-h-tests: New file.
13308 2019-07-14  Bruno Haible  <bruno@clisp.org>
13310         pthread-h: New module.
13311         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
13312         is 1.
13313         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
13314         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
13315         <pthread.h> pollutes the namespace; instead, prepare for generating a
13316         pthread.h always. Substitute HAVE_PTHREAD_H here.
13317         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
13318         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
13319         * modules/pthread-h: New file, based on modules/pthread.
13320         * modules/pthread: Rely on 'pthread-h'.
13321         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
13322         Update.
13323         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
13324         pthread.
13326 2019-07-14  Bruno Haible  <bruno@clisp.org>
13328         sched_yield: New module.
13329         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
13330         (sched_yield): New declaration.
13331         * lib/sched_yield.c: New file.
13332         * m4/sched_yield.m4: New file.
13333         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
13334         provide a replacement sched.h always. Test whether sched_yield is
13335         declared.
13336         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
13337         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
13338         (Makefile.am): Provide a replacement sched.h always. Substitute
13339         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
13340         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
13341         * modules/sched_yield: New file.
13342         * doc/posix-functions/sched_yield.texi: Mention the new module.
13344 2019-07-14  Bruno Haible  <bruno@clisp.org>
13346         windows-spin: New module.
13347         * lib/windows-spin.h: New file.
13348         * lib/windows-spin.c: New file.
13349         * modules/windows-spin: New file.
13351 2019-07-14  Bruno Haible  <bruno@clisp.org>
13353         windows-timedrwlock: New module.
13354         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
13355         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
13356         windows-cond.c.
13357         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
13358         redefinition conflict with windows-timedrwlock.h.
13359         * modules/windows-timedrwlock: New file.
13361 2019-07-14  Bruno Haible  <bruno@clisp.org>
13363         windows-rwlock: New module.
13364         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
13365         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
13366         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
13367         windows-initguard.h.
13368         (gl_rwlock_t): Define using glwthread_rwlock_t.
13369         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
13370         (glthread_rwlock_init): Define using glwthread_rwlock_init.
13371         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
13372         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
13373         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
13374         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
13375         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
13376         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
13377         glthread_rwlock_destroy_func): Remove declarations.
13378         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
13379         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
13380         gl_waitqueue_notify_all, glthread_rwlock_init_func,
13381         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
13382         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
13383         functions.
13384         * modules/windows-rwlock: New file.
13385         * modules/lock (Depends-on): Add windows-rwlock.
13387 2019-07-14  Bruno Haible  <bruno@clisp.org>
13389         windows-thread: Add support for creating a thread in detached state.
13390         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
13391         (glwthread_thread_create): Add attr argument.
13392         * lib/windows-thread.c (glwthread_thread_create): Likewise.
13393         * lib/glthread/thread.h (glthread_create): Update.
13394         * lib/thrd.c (thrd_create): Update.
13396 2019-07-14  Bruno Haible  <bruno@clisp.org>
13398         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
13399         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
13400         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
13401         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
13402         * lib/windows-mutex.h: Update.
13403         * lib/windows-recmutex.h: Likewise.
13404         * lib/windows-timedmutex.h: Likewise.
13405         * lib/windows-timedrecmutex.h: Likewise.
13406         * lib/windows-cond.h: Likewise.
13407         * lib/glthread/lock.h: Likewise.
13408         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
13409         lib/windows-spinlock.h.
13410         * modules/windows-recmutex (Files): Likewise.
13411         * modules/windows-timedmutex (Files): Likewise.
13412         * modules/windows-timedrecmutex (Files): Likewise.
13413         * modules/windows-cond (Files): Likewise.
13414         * modules/threads-h (Files): Likewise.
13416 2019-07-14  Bruno Haible  <bruno@clisp.org>
13418         doc: Fix info about pthread API in HP-UX.
13419         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
13421 2019-07-14  Bruno Haible  <bruno@clisp.org>
13423         threads-h: Fix generation of threads.h.
13424         * modules/threads-h (Makefile.am): Insert the required header file
13425         snippets.
13427 2019-07-09  Bruno Haible  <bruno@clisp.org>
13429         striconveh test: Fix a compilation failure when iconv is not available.
13430         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13431         * tests/test-striconveh.c (main): Move iconv_close invocations inside
13432         HAVE_ICONV.
13434 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
13436         argmatch: adjust columns for help2man.
13437         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
13438         requires column 20 or more, return 20.
13440 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13442         areadlink-with-size: avoid realloc when size==0
13443         * lib/areadlink-with-size.c (areadlink_with_size):
13444         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
13445         Reallocate at the end to the actual size, to avoid memory waste,
13446         as suggested by Bruno Haible.  But when the guessed size is zero -
13447         useful when the size is unknown - do the initial small readlink
13448         into the stack, to avoid that realloc in the usual case.
13450 2019-07-06  Pádraig Brady  <P@draigBrady.com>
13452         areadlink-with-size: guess a buffer size with 0 size
13453         The size is usually taken from st_size, which can be zero,
13454         resulting in inefficient operation.
13455         Instead let zero select an initial memory allocation
13456         of 128 bytes, which most symlinks fit within.
13457         * lib/areadlink-with-size.c (areadlink_with_size):
13458         Start with a 128 byte buffer, for SIZE == 0.
13459         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
13461 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
13463         Replace manually crafted hex regexes with [:xdigit:]
13464         * build-aux/gitlog-to-changelog (parse_amend_file)
13465         (git_dir_option):
13466         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
13467         This patch is backported from Emacs (Bug#36167).
13469 2019-07-06  Bruno Haible  <bruno@clisp.org>
13471         error: Fix documentation.
13472         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
13473         module provides.
13474         * doc/glibc-functions/error_message_count.texi: Likewise.
13475         * doc/glibc-functions/error_one_per_line.texi: Likewise.
13476         * doc/glibc-functions/error_print_progname.texi: Likewise.
13478 2019-07-06  Bruno Haible  <bruno@clisp.org>
13480         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
13481         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
13482         and older is unsupported.
13483         * doc/**/*.texi: Update.
13485 2019-07-06  Bruno Haible  <bruno@clisp.org>
13487         doc: Remove documentation of Linux libc5 as a supported platform.
13488         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
13489         to Linux libc5.
13490         * doc/posix-functions/iswalpha.texi: Likewise.
13491         * doc/posix-functions/iswblank.texi: Likewise.
13492         * doc/posix-functions/iswcntrl.texi: Likewise.
13493         * doc/posix-functions/iswdigit.texi: Likewise.
13494         * doc/posix-functions/iswgraph.texi: Likewise.
13495         * doc/posix-functions/iswlower.texi: Likewise.
13496         * doc/posix-functions/iswprint.texi: Likewise.
13497         * doc/posix-functions/iswpunct.texi: Likewise.
13498         * doc/posix-functions/iswspace.texi: Likewise.
13499         * doc/posix-functions/iswupper.texi: Likewise.
13500         * doc/posix-functions/iswxdigit.texi: Likewise.
13501         * doc/posix-functions/snprintf.texi: Likewise.
13502         * doc/posix-functions/vsnprintf.texi: Likewise.
13504 2019-07-06  Bruno Haible  <bruno@clisp.org>
13506         doc: Remove documentation of Tandem/NSK as a supported platform.
13507         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
13508         Tandem/NSK.
13509         * doc/**/*.texi: Update.
13511 2019-07-06  Bruno Haible  <bruno@clisp.org>
13513         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
13514         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
13515         and older is unsupported.
13516         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
13517         Mac OS X 10.4 and older.
13518         * doc/posix-functions/asinl.texi: Likewise.
13519         * doc/posix-functions/atanl.texi: Likewise.
13520         * doc/posix-functions/cosl.texi: Likewise.
13521         * doc/posix-functions/expl.texi: Likewise.
13522         * doc/posix-functions/frexpl.texi: Likewise.
13523         * doc/posix-functions/gettimeofday.texi: Likewise.
13524         * doc/posix-functions/logl.texi: Likewise.
13525         * doc/posix-functions/mkstemp.texi: Likewise.
13526         * doc/posix-functions/sinl.texi: Likewise.
13527         * doc/posix-functions/sqrtl.texi: Likewise.
13528         * doc/posix-functions/tanl.texi: Likewise.
13529         * doc/posix-functions/wcswidth.texi: Likewise.
13530         * doc/**/*.texi: Update.
13532 2019-07-06  Bruno Haible  <bruno@clisp.org>
13534         doc: Remove documentation of AIX 4 as a supported platform.
13535         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
13536         unsupported.
13537         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
13538         workarounds.
13539         * doc/posix-functions/strnlen.texi: Likewise.
13540         * doc/posix-headers/inttypes.texi: Likewise.
13541         * doc/**/*.texi: Update.
13543 2019-07-06  Bruno Haible  <bruno@clisp.org>
13545         doc: Remove documentation of HP-UX 10 as a supported platform.
13546         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
13547         unsupported.
13548         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
13549         workarounds.
13550         * doc/posix-functions/gmtime_r.texi: Likewise.
13551         * doc/posix-functions/localtime_r.texi: Likewise.
13552         * doc/posix-functions/mkstemp.texi: Likewise.
13553         * doc/**/*.texi: Update.
13555 2019-07-06  Bruno Haible  <bruno@clisp.org>
13557         doc: Remove documentation of Interix 3.5 as a supported platform.
13558         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
13559         unsupported.
13560         * doc/posix-functions/select.texi: Don't mention Interix specific
13561         workarounds.
13562         * doc/posix-headers/signal.texi: Likewise.
13563         * doc/**/*.texi: Update.
13565 2019-07-06  Bruno Haible  <bruno@clisp.org>
13567         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
13568         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
13569         unsupported.
13570         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
13571         workarounds.
13572         * doc/posix-functions/nl_langinfo.texi: Likewise.
13573         * doc/posix-functions/remainder.texi: Likewise.
13574         * doc/posix-functions/towlower.texi: Likewise.
13575         * doc/posix-functions/towupper.texi: Likewise.
13576         * doc/posix-functions/vsnprintf.texi: Likewise.
13577         * doc/posix-functions/wcscat.texi: Likewise.
13578         * doc/posix-functions/wcschr.texi: Likewise.
13579         * doc/posix-functions/wcscmp.texi: Likewise.
13580         * doc/posix-functions/wcscpy.texi: Likewise.
13581         * doc/posix-functions/wcscspn.texi: Likewise.
13582         * doc/posix-functions/wcslen.texi: Likewise.
13583         * doc/posix-functions/wcsncat.texi: Likewise.
13584         * doc/posix-functions/wcsncmp.texi: Likewise.
13585         * doc/posix-functions/wcsncpy.texi: Likewise.
13586         * doc/posix-functions/wcspbrk.texi: Likewise.
13587         * doc/posix-functions/wcsrchr.texi: Likewise.
13588         * doc/posix-functions/wcsspn.texi: Likewise.
13589         * doc/posix-headers/langinfo.texi: Likewise.
13590         * doc/posix-headers/signal.texi: Likewise.
13591         * doc/posix-headers/wchar.texi: Likewise.
13592         * doc/posix-headers/wctype.texi: Likewise.
13593         * doc/**/*.texi: Update.
13595 2019-07-05  Bruno Haible  <bruno@clisp.org>
13597         doc: Remove documentation of OSF/1 as supported platform.
13598         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
13599         unsupported.
13600         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
13601         workarounds.
13602         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
13603         * doc/glibc-functions/ptsname_r.texi: Likewise.
13604         * doc/posix-functions/ceil.texi: Likewise.
13605         * doc/posix-functions/ceilf.texi: Likewise.
13606         * doc/posix-functions/ceill.texi: Likewise.
13607         * doc/posix-functions/fchdir.texi: Likewise.
13608         * doc/posix-functions/floor.texi: Likewise.
13609         * doc/posix-functions/floorf.texi: Likewise.
13610         * doc/posix-functions/fmod.texi: Likewise.
13611         * doc/posix-functions/fmodf.texi: Likewise.
13612         * doc/posix-functions/fmodl.texi: Likewise.
13613         * doc/posix-functions/log.texi: Likewise.
13614         * doc/posix-functions/logf.texi: Likewise.
13615         * doc/posix-functions/logl.texi: Likewise.
13616         * doc/posix-functions/log10.texi: Likewise.
13617         * doc/posix-functions/log10f.texi: Likewise.
13618         * doc/posix-functions/log10l.texi: Likewise.
13619         * doc/posix-functions/log2.texi: Likewise.
13620         * doc/posix-functions/log2f.texi: Likewise.
13621         * doc/posix-functions/log2l.texi: Likewise.
13622         * doc/posix-functions/mbrtowc.texi: Likewise.
13623         * doc/posix-functions/recv.texi: Likewise.
13624         * doc/posix-functions/recvfrom.texi: Likewise.
13625         * doc/posix-functions/remainder.texi: Likewise.
13626         * doc/posix-functions/remainderf.texi: Likewise.
13627         * doc/posix-functions/remainderl.texi: Likewise.
13628         * doc/posix-functions/round.texi: Likewise.
13629         * doc/posix-functions/roundf.texi: Likewise.
13630         * doc/posix-functions/roundl.texi: Likewise.
13631         * doc/posix-functions/send.texi: Likewise.
13632         * doc/posix-functions/sendto.texi: Likewise.
13633         * doc/posix-functions/setenv.texi: Likewise.
13634         * doc/posix-functions/snprintf.texi: Likewise.
13635         * doc/posix-functions/tcgetsid.texi: Likewise.
13636         * doc/posix-functions/trunc.texi: Likewise.
13637         * doc/posix-functions/truncf.texi: Likewise.
13638         * doc/posix-functions/truncl.texi: Likewise.
13639         * doc/posix-functions/ttyname_r.texi: Likewise.
13640         * doc/posix-functions/unsetenv.texi: Likewise.
13641         * doc/posix-functions/wcsrtombs.texi: Likewise.
13642         * doc/posix-headers/sys_select.texi: Likewise.
13643         * doc/posix-headers/wchar.texi: Likewise.
13644         * doc/posix-headers/wctype.texi: Likewise.
13645         * doc/**/*.texi: Update.
13647 2019-07-05  Bruno Haible  <bruno@clisp.org>
13649         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
13650         * doc/**/*.texi: Update.
13652 2019-07-05  Bruno Haible  <bruno@clisp.org>
13654         doc: Remove documentation of Solaris 8 and older as supported platforms.
13655         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
13656         unsupported.
13657         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
13658         workarounds.
13659         * doc/posix-functions/memcmp.texi: Likewise.
13660         * doc/posix-functions/rename.texi: Likewise.
13661         * doc/posix-functions/tzset.texi: Likewise.
13662         * doc/posix-headers/wctype.texi: Likewise.
13663         * doc/**/*.texi: Update.
13665 2019-07-05  Bruno Haible  <bruno@clisp.org>
13667         doc: Remove documentation of Interix 3.5 as a supported platform.
13668         * doc/**/*.texi: Update.
13670 2019-07-05  Bruno Haible  <bruno@clisp.org>
13672         doc: Remove documentation of BeOS as a supported platform.
13673         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
13674         unsupported.
13675         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
13676         * doc/posix-functions/getdelim.texi: Likewise.
13677         * doc/**/*.texi: Update.
13679 2019-07-05  Bruno Haible  <bruno@clisp.org>
13681         thread, lock, cond, tls: Remove support for Pth threads.
13682         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13683         --enable-threads=pth any more.
13684         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
13685         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
13686         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
13687         threads and ISO C11 threads.
13688         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
13689         * lib/glthread/lock.h: Likewise.
13690         * lib/glthread/lock.c: Likewise.
13691         * lib/glthread/cond.h: Likewise.
13692         * lib/glthread/cond.c: Likewise.
13693         * lib/glthread/tls.h: Likewise.
13694         * lib/glthread/tls.c: Likewise.
13695         * lib/glthread/yield.h: Likewise.
13696         * lib/regex_internal.h: Likewise.
13697         * tests/test-thread_create.c: Likewise.
13698         * tests/test-lock.c: Likewise.
13699         * tests/test-cond.c: Likewise.
13700         * tests/test-tls.c: Likewise.
13701         * tests/test-rwlock1.c: Don't include glthread/yield.h.
13702         (main): Sleep without calling gl_thread_yield.
13704 2019-07-05  Bruno Haible  <bruno@clisp.org>
13706         thread, lock, cond, tls: Remove support for old Solaris threads.
13707         Solaris >= 2.5.1 has POSIX threads.
13708         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13709         --enable-threads=solaris any more.
13710         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
13711         * lib/glthread/thread.c: Update comment.
13712         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
13713         * lib/glthread/lock.h: Likewise.
13714         * lib/glthread/lock.c: Likewise.
13715         * lib/glthread/cond.h: Likewise.
13716         * lib/glthread/cond.c: Likewise.
13717         * lib/glthread/tls.h: Likewise.
13718         * lib/glthread/tls.c: Likewise.
13719         * lib/glthread/yield.h: Likewise.
13720         * lib/regex_internal.h: Likewise.
13721         * tests/test-thread_create.c: Likewise.
13722         * tests/test-lock.c: Likewise.
13723         * tests/test-cond.c: Likewise.
13724         * tests/test-tls.c: Likewise.
13726 2019-07-05  Bruno Haible  <bruno@clisp.org>
13728         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
13729         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
13730         needed size is equal to the allocated size.
13731         * lib/getcwd.c (__getcwd): Likewise.
13733 2019-07-05  Bruno Haible  <bruno@clisp.org>
13735         xgetdomainname: Don't return an excessive memory allocation.
13736         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
13737         before returning it.
13739 2019-07-05  Bruno Haible  <bruno@clisp.org>
13741         xgethostname: Don't return an excessive memory allocation.
13742         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
13743         returning it.
13745 2019-07-05  Bruno Haible  <bruno@clisp.org>
13747         areadlinkat-with-size: Don't return an excessive memory allocation.
13748         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
13749         before returning it.
13751 2019-07-05  Bruno Haible  <bruno@clisp.org>
13753         areadlink-with-size: Don't return an excessive memory allocation.
13754         Reported by Andreas Dilger <adilger@whamcloud.com>.
13755         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
13756         before returning it.
13758 2019-07-03  Bruno Haible  <bruno@clisp.org>
13760         renameatu: Fix test failure on MSVC.
13761         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
13762         empty string.
13764 2019-07-03  Bruno Haible  <bruno@clisp.org>
13766         mbrtowc: Fix invalid use of mbtowc() on MSVC.
13767         * lib/mbrtowc.c: Include glthread/lock.h.
13768         (mbtowc_lock): New variable.
13769         (mbrtowc): Treat UTF-8 encoding without locking. For the other
13770         encodings, explicitly reset the internal state of mbtowc, and protect
13771         this through a lock.
13772         * modules/mbrtowc (Depends-on): Add lock.
13774 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
13776         argmatch: don't define _ in the header.
13777         Reported by Jim Meyering.
13778         * lib/argmatch.h (N_, _): Don't define.
13779         Use gettext instead.
13780         * lib/argmatch.h (_): Define.
13781         * tests/test-argmatch.c (N_): Define.
13783 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13785         verify: document ‘assume’ better
13786         * lib/verify.h: Reword doc (Bug#36370).
13788 2019-07-02  Bruno Haible  <bruno@clisp.org>
13790         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
13791         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
13792         "CPutf8".
13793         * lib/nl_langinfo.c (ctype_codeset): Likewise.
13795 2019-07-02  Bruno Haible  <bruno@clisp.org>
13797         getcwd: Fix crash when invoked with size = 0 on MSVC.
13798         * lib/getcwd.c: Include msvc-inval.h.
13799         (getcwd_nothrow): New function/macro.
13800         (getcwd_system): New macro.
13801         (__getcwd): Use it instead of getcwd.
13802         * modules/getcwd (Depends-on): Add msvc-inval.
13803         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
13805 2019-07-02  Bruno Haible  <bruno@clisp.org>
13807         nonblocking-pipe tests: Fix test failure on MSVC.
13808         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
13809         native Windows.
13811 2019-07-02  Bruno Haible  <bruno@clisp.org>
13813         usleep: Implement with millisecond resolution on native Windows.
13814         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
13815         * doc/pastposix-functions/usleep.texi: Update accordingly.
13817 2019-07-02  Bruno Haible  <bruno@clisp.org>
13819         lstat tests: Fix test failure on MSVC.
13820         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
13821         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13823 2019-07-02  Bruno Haible  <bruno@clisp.org>
13825         stat tests: Fix test failure on MSVC.
13826         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
13827         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13829 2019-07-02  Bruno Haible  <bruno@clisp.org>
13831         getaddrinfo tests: Fix test failure on MSVC.
13832         * tests/test-getaddrinfo.c: Include sockets.h.
13833         (main): Invoke gl_sockets_startup.
13834         * modules/getaddrinfo-tests (Depends-on): Add sockets.
13836 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
13838         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
13839         * lib/poll.c: Call Windows native select() with Windows native timeval.
13841 2019-06-30  Bruno Haible  <bruno@clisp.org>
13843         argmatch: Fix compilation errors.
13844         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
13845         * tests/test-argmatch.c (main): Update after last-minute function names
13846         change.
13848 2019-06-30  Bruno Haible  <bruno@clisp.org>
13850         Include <stdlib.h> when needed.
13851         * lib/cnd.c: Include <stdlib.h>, needed for abort().
13852         * lib/fcntl.c: Likewise.
13853         * lib/mbscasestr.c: Likewise.
13854         * lib/mbssep.c: Likewise.
13855         * lib/mbsstr.c: Likewise.
13856         * lib/openat.c: Include <stdlib.h>, needed for free().
13857         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
13858         abort().
13860 2019-06-30  Bruno Haible  <bruno@clisp.org>
13862         Include <stdlib.h> when needed.
13863         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
13864         * lib/faccessat.c: Likewise.
13865         * lib/fchmodat.c: Likewise.
13866         * lib/fchownat.c: Likewise.
13867         * lib/fstatat.c: Likewise.
13868         * lib/mkfifoat.c: Likewise.
13869         * lib/mknodat.c: Likewise.
13870         * lib/readlinkat.c: Likewise.
13871         * lib/symlinkat.c: Likewise.
13872         * lib/utimensat.c: Likewise.
13873         * lib/mkdirat.c: Likewise. Include also the specification header.
13875 2019-06-30  Bruno Haible  <bruno@clisp.org>
13877         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
13878         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
13879         from gl_PREREQ_SYS_H_SOCKET.
13880         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
13881         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
13882         gl_PREREQ_SYS_H_WS2TCPIP.
13883         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
13884         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
13885         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
13887 2019-06-30  Bruno Haible  <bruno@clisp.org>
13889         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
13890         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
13891         REPLACE_INET_NTOP to 1 always.
13892         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
13893         REPLACE_INET_PTON to 1 always.
13895 2019-06-30  Bruno Haible  <bruno@clisp.org>
13897         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
13898         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
13899         not REPLACE_INET_NTOP.
13901 2019-06-30  Bruno Haible  <bruno@clisp.org>
13903         poll: Add comment.
13904         * lib/poll.c: Add comment about WSAPoll.
13906 2019-06-30  Bruno Haible  <bruno@clisp.org>
13908         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
13909         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
13910         * lib/poll.in.h: Include <winsock2.h>.
13911         (POLL*, pollfd): Override on native Windows.
13912         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13913         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
13914         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13916 2019-06-28  Bruno Haible  <bruno@clisp.org>
13918         accept4: Fix compilation error on OpenIndiana.
13919         Reported by Michal Nowak <mnowak@startmail.com>
13920         via Mark H Weaver <mhw@netris.org>.
13921         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
13922         whether it exists as a function.
13924 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13926         strverscmp: sync from glibc
13927         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
13928         comments, include libc-config.h, define __strverscmp to be
13929         strverscmp, and don’t assume types line uint8_t and int8_t that
13930         that C99 doesn’t guarantee.
13931         [!_LIBC]: Include libc-config.h; define __strverscmp.
13932         Include stdint.h.
13933         (__strverscmp): Assume C99.  Use uint_least8_t
13934         and int_least8_t instead of unsigned char and signed char.
13935         * modules/strverscmp (Depends-on): Add libc-config, stdint.
13937 2019-06-25  Bruno Haible  <bruno@clisp.org>
13939         tss tests: Add tests for destructors and races.
13940         * tests/test-tss.c (worker_thread): Fix typo in debug message.
13941         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
13942         functions.
13943         (main): Invoke them.
13944         * modules/tls-tests (Depends-on): Add mtx.
13946 2019-06-25  Bruno Haible  <bruno@clisp.org>
13948         tls tests: Add tests for destructors and races.
13949         * tests/test-tls.c: Include glthread/lock.h.
13950         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
13951         functions.
13952         (main): Invoke them.
13953         * modules/tls-tests (Depends-on): Add lock.
13955 2019-06-25  Bruno Haible  <bruno@clisp.org>
13957         windows-tls: Implement TLS key destructors for native Windows.
13958         * lib/windows-tls.h (glwthread_tls_process_destructors): New
13959         declaration.
13960         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
13961         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
13962         (dtor_table_init_once, dtor_table_lock: New variables.
13963         (struct dtor): New type.
13964         (dtor_table, dtors_count, dtors_used, dtors_allocated,
13965         dtor_processing_threads): New variables.
13966         (dtor_table_initialize, dtor_table_ensure_initialized,
13967         dtor_table_shrink_used, glwthread_tls_process_destructors): New
13968         functions.
13969         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
13970         handle non-NULL destructors.
13971         * modules/windows-tls (Depends-on): Add windows-once.
13972         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
13973         Use the functions declared in windows-tls.h.
13974         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
13975         GLWTHREAD_DESTRUCTOR_ITERATIONS.
13976         * lib/windows-thread.c: Include windows-tls.h.
13977         (wrapper_func, glwthread_thread_exit): Invoke
13978         glwthread_tls_process_destructors.
13979         * modules/windows-thread (Depends-on): Add windows-tls.
13981 2019-06-25  Bruno Haible  <bruno@clisp.org>
13983         threadlib: Avoid autoconf warning "was expanded before it was required".
13984         * modules/threadlib (configure.ac): Require gl_THREADLIB.
13986 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
13988         argmatch: remove duplicate const qualifier
13989         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
13991 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13993         unistd: stddef.h and sys/types.h namespace cleanup
13994         * lib/unistd.in.h [__GLIBC__]:
13995         Do not include stddef.h or sys/types.h.
13996         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
13997         supposed to declare off_t and ssize_t.  Problem found when looking
13998         at why @GNULIB_PWRITE@ was different from the newly-added
13999         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
14001 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14003         maintainer-makefile: restore portability to non-GNU awks
14004         Reported by Tim Rühsen.
14005         * top/maint.mk (AWK): New variable.  Use it.
14006         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
14008 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14010         Document setvbuf _IOLBF problem
14011         * doc/posix-functions/setvbuf.texi (setvbuf):
14012         Document MS-Windows portability problem with _IOLBF.
14014         Document lseek SEEK_DATA/SEEK_HOLE
14015         * doc/posix-functions/lseek.texi (lseek):
14016         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
14018 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
14020         argmatch: put all the docs member last.
14021         Reported by Bruno Haible.
14022         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
14023         member before the docs done.
14024         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
14026 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
14028         argmatch: add support to generate the usage message.
14029         * lib/argmatch.c: Move some #includes and gettext support to...
14030         * lib/argmatch.h: here.
14031         (ARGMATCH_DEFINE_GROUP): New macro.
14032         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
14033         (argmatch_backup_group): New.
14034         (CHECK): New.
14035         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
14036         argmatch_backup_argument and argmatch_backup_usage.
14037         * modules/argmatch: We depend on c99.
14038         * doc/argmatch.texi (Recognizing Option Arguments): New.
14039         * doc/gnulib.texi: Use it.
14041 2019-06-21  Bruno Haible  <bruno@clisp.org>
14043         thrd: Add comment.
14044         * lib/thrd.c (pthread_main_func): Add comment.
14046 2019-06-21  Bruno Haible  <bruno@clisp.org>
14048         threads-h: Define 'thread_local' if and only if it actually works.
14049         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
14050         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
14051         Oracle Solaris Studio C. Compile a simple program, to see whether
14052         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
14053         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
14054         * lib/threads.in.h (thread_local): Undefine if it does not work.
14055         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
14056         (Link): Mention LIBTHREADLOCAL.
14057         * tests/test-threads.c: Don't check that thread_local is defined.
14058         * tests/test-thread_local.c: New file.
14059         * modules/threads-h-tests (Files): Add it and macros.h.
14060         (Depends-on): Add thrd and stdint.
14061         (configure.ac): Test whether 'alarm' is declared.
14062         (Makefile.am): Arrange to build and link test-thread_local.
14063         * doc/posix-headers/threads.texi: Mention the platforms that don't
14064         support 'thread_local'.
14066 2019-06-20  Bruno Haible  <bruno@clisp.org>
14068         threads-h: Simplify link dependencies.
14069         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
14070         Don't set LTLIBSTDTHREAD.
14071         * modules/thrd (Link): Simplify accordingly.
14072         * modules/mtx (Link): Likewise.
14073         * modules/cnd (Link): Likewise.
14074         * modules/tss (Link): Likewise.
14075         * modules/threads (Link): Likewise.
14077 2019-06-20  Bruno Haible  <bruno@clisp.org>
14079         threads-h: Fix link error on FreeBSD 11.
14080         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
14081         also with -lpthread.
14083 2019-06-20  Bruno Haible  <bruno@clisp.org>
14085         threadlib: Fix typo (regression from today).
14086         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
14088 2019-06-20  Bruno Haible  <bruno@clisp.org>
14090         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
14091         * lib/windows-thread.c: Include <errno.h>.
14092         * lib/windows-tls.c: Likewise.
14094 2019-06-20  Bruno Haible  <bruno@clisp.org>
14096         tss tests: Small improvement.
14097         * tests/test-tss.c (test_tss): Pass a different id to each thread.
14099 2019-06-20  Bruno Haible  <bruno@clisp.org>
14101         threads: New module.
14102         * modules/threads: New file.
14104 2019-06-20  Bruno Haible  <bruno@clisp.org>
14106         tss: Add tests.
14107         * tests/test-tss.c: New file, based on tests/test-tls.c.
14108         * modules/tss-tests: New file.
14110 2019-06-20  Bruno Haible  <bruno@clisp.org>
14112         cnd: Add tests.
14113         * tests/test-cnd.c: New file, based on tests/test-cond.c.
14114         * modules/cnd-tests: New file.
14116 2019-06-20  Bruno Haible  <bruno@clisp.org>
14118         mtx: Add tests.
14119         * tests/test-mtx.c: New file, based on tests/test-lock.c.
14120         * tests/test-call_once.c: New file, based on tests/test-once.c.
14121         * modules/mtx-tests: New file.
14123 2019-06-20  Bruno Haible  <bruno@clisp.org>
14125         thrd: Add tests.
14126         * tests/test-thrd_create.c: New file, based on
14127         tests/test-thread_create.c.
14128         * tests/test-thrd_current.c: New file, based on
14129         tests/test-thread_self.c.
14130         * modules/thrd-tests: New file.
14132 2019-06-20  Bruno Haible  <bruno@clisp.org>
14134         tss: New module.
14135         * lib/tss.c: New file.
14136         * modules/tss: New file.
14137         * doc/posix-functions/tss_create.texi: Mention the new module.
14138         * doc/posix-functions/tss_set.texi: Likewise.
14139         * doc/posix-functions/tss_get.texi: Likewise.
14140         * doc/posix-functions/tss_delete.texi: Likewise.
14142 2019-06-20  Bruno Haible  <bruno@clisp.org>
14144         cnd: New module.
14145         * lib/cnd.c: New file.
14146         * modules/cnd: New file.
14147         * doc/posix-functions/cnd_init.texi: Mention the new module.
14148         * doc/posix-functions/cnd_wait.texi: Likewise.
14149         * doc/posix-functions/cnd_timedwait.texi: Likewise.
14150         * doc/posix-functions/cnd_signal.texi: Likewise.
14151         * doc/posix-functions/cnd_broadcast.texi: Likewise.
14152         * doc/posix-functions/cnd_destroy.texi: Likewise.
14154 2019-06-20  Bruno Haible  <bruno@clisp.org>
14156         mtx: New module.
14157         * lib/mtx.c: New file.
14158         * modules/mtx: New file.
14159         * doc/posix-functions/call_once.texi: Mention the new module.
14160         * doc/posix-functions/mtx_init.texi: Likewise.
14161         * doc/posix-functions/mtx_lock.texi: Likewise.
14162         * doc/posix-functions/mtx_trylock.texi: Likewise.
14163         * doc/posix-functions/mtx_timedlock.texi: Likewise.
14164         * doc/posix-functions/mtx_unlock.texi: Likewise.
14165         * doc/posix-functions/mtx_destroy.texi: Likewise.
14167 2019-06-20  Bruno Haible  <bruno@clisp.org>
14169         thrd: New module.
14170         * lib/thrd.c: New file.
14171         * m4/thrd.m4: New file.
14172         * modules/thrd: New file.
14173         * doc/posix-functions/thrd_current.texi: Mention the new module.
14174         * doc/posix-functions/thrd_detach.texi: Likewise.
14175         * doc/posix-functions/thrd_equal.texi: Likewise.
14176         * doc/posix-functions/thrd_exit.texi: Likewise.
14177         * doc/posix-functions/thrd_sleep.texi: Likewise.
14178         * doc/posix-functions/thrd_yield.texi: Likewise.
14179         * doc/posix-functions/thrd_create.texi: Mention the new module and the
14180         AIX bug.
14181         * doc/posix-functions/thrd_join.texi: Mention the new module and the
14182         AIX and Solaris bugs.
14184 2019-06-20  Bruno Haible  <bruno@clisp.org>
14186         threads-h: Add tests.
14187         * tests/test-threads.c: New file.
14188         * modules/threads-h-tests: New file.
14189         * tests/test-threads-c++.cc: New file.
14190         * modules/threads-h-c++-tests: New file.
14192 2019-06-20  Bruno Haible  <bruno@clisp.org>
14194         threads-h: New module.
14195         * lib/threads.in.h: New file.
14196         * m4/threads.m4: New file.
14197         * m4/yield.m4 (gl_YIELD): Update comment.
14198         * modules/threads-h: New file.
14199         * modules/yields (configure.ac): Use AC_REQUIRE.
14200         * doc/posix-headers/threads.texi: Mention the new module and the AIX
14201         bugs.
14203 2019-06-20  Bruno Haible  <bruno@clisp.org>
14205         windows-thread: New module.
14206         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
14207         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
14208         * lib/glthread/thread.h: Include windows-thread.h.
14209         (gl_thread_t): Define using glwthread_thread_t.
14210         (glthread_create): Define using glwthread_thread_create.
14211         (glthread_join): Define using glwthread_thread_join.
14212         (gl_thread_self): Define using glwthread_thread_self.
14213         (gl_thread_exit): Define using glwthread_thread_exit.
14214         (glthread_create_func, glthread_join_func, gl_thread_self_func,
14215         gl_thread_exit_func): Remove declarations.
14216         * lib/glthread/thread.c (self_key): Remove variable.
14217         (do_init_self_key, init_self_key): Remove functions.
14218         (struct gl_thread_struct): Remove type.
14219         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
14220         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
14221         functions.
14222         * modules/windows-thread: New file.
14223         * modules/thread (Depends-on): Add windows-thread.
14225 2019-06-20  Bruno Haible  <bruno@clisp.org>
14227         windows-tls: New module.
14228         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
14229         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
14230         * lib/glthread/tls.h: Include windows-tls.h.
14231         (gl_tls_key_t): Define using glwthread_tls_key_t.
14232         * modules/windows-tls: New file.
14233         * modules/tls (Depends-on): Add windows-tls.
14235 2019-06-20  Bruno Haible  <bruno@clisp.org>
14237         windows-cond: New module.
14238         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
14239         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
14240         * lib/glthread/cond.h: Include windows-cond.h.
14241         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
14242         (gl_cond_t): Define using glwthread_cond_t.
14243         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
14244         (glthread_cond_init): Define using glwthread_cond_init.
14245         (glthread_cond_wait): Define using glwthread_cond_wait.
14246         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
14247         (glthread_cond_signal): Define using glwthread_cond_signal.
14248         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
14249         (glthread_cond_destroy): Define using glwthread_cond_destroy.
14250         (glthread_cond_init_func, glthread_cond_wait_func,
14251         glthread_cond_timedwait_func, glthread_cond_signal_func,
14252         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14253         declarations.
14254         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
14255         types.
14256         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
14257         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
14258         glthread_cond_init_func, glthread_cond_wait_func,
14259         glthread_cond_timedwait_func, glthread_cond_signal_func,
14260         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
14261         functions.
14262         * modules/windows-cond: New file.
14263         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
14265 2019-06-20  Bruno Haible  <bruno@clisp.org>
14267         windows-timedrecmutex: New module.
14268         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
14269         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
14270         * modules/windows-timedrecmutex: New file.
14272 2019-06-20  Bruno Haible  <bruno@clisp.org>
14274         windows-timedmutex: New module.
14275         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
14276         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
14277         * modules/windows-timedmutex: New file.
14279 2019-06-20  Bruno Haible  <bruno@clisp.org>
14281         windows-recmutex: New module.
14282         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
14283         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
14284         * lib/glthread/lock.h: Include windows-recmutex.h.
14285         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
14286         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
14287         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
14288         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
14289         (glthread_recursive_lock_unlock): Define using
14290         glwthread_recmutex_unlock.
14291         (glthread_recursive_lock_destroy): Define using
14292         glwthread_recmutex_destroy.
14293         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
14294         glthread_recursive_lock_unlock_func,
14295         glthread_recursive_lock_destroy_func): Remove declarations.
14296         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
14297         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
14298         glthread_recursive_lock_destroy_func): Remove functions.
14299         * modules/windows-recmutex: New file.
14300         * modules/lock (Depends-on): Add windows-recmutex.
14302 2019-06-20  Bruno Haible  <bruno@clisp.org>
14304         windows-mutex: New module.
14305         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
14306         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
14307         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
14308         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
14309         (gl_spinlock_t): Remove type.
14310         (gl_lock_t): Define using glwthread_mutex_t.
14311         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
14312         (glthread_lock_init): Define using glwthread_mutex_init.
14313         (glthread_lock_lock): Define using glwthread_mutex_lock.
14314         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
14315         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
14316         (glthread_lock_init_func, glthread_lock_lock_func,
14317         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14318         declarations.
14319         Use glwthread_spinlock_t instead of gl_spinlock_t.
14320         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
14321         GLWTHREAD_SPINLOCK_INIT.
14322         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
14323         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
14324         functions.
14325         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
14326         gl_spinlock_t.
14327         * modules/windows-mutex: New file.
14328         * modules/lock (Depends-on): Add windows-mutex.
14330 2019-06-20  Bruno Haible  <bruno@clisp.org>
14332         windows-once: New module.
14333         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
14334         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
14335         * lib/glthread/lock.h: Include windows-once.h.
14336         (gl_once_t): Define using glwthread_once_t.
14337         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
14338         (glthread_once): Define using glwthread_once.
14339         (glthread_once_func): Remove declaration.
14340         * lib/glthread/lock.c (glthread_once_func): Remove function.
14341         * modules/windows-once: New file.
14342         * modules/lock (Depends-on): Add windows-once.
14344 2019-06-20  Bruno Haible  <bruno@clisp.org>
14346         lock, cond: Avoid possible counter wraparound on Windows.
14347         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
14348         field of the guard unchanged if it was already positive.
14349         (glthread_rwlock_rdlock_func): Likewise.
14350         (glthread_rwlock_wrlock_func): Likewise.
14351         (glthread_recursive_lock_lock_func): Likewise.
14352         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
14353         (glthread_cond_timedwait_func): Likewise.
14355 2019-06-20  Bruno Haible  <bruno@clisp.org>
14357         cond: Make glthread_cond_timedwait more reliable on Windows.
14358         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
14359         condition variable before looking at the current time.
14361 2019-06-20  Bruno Haible  <bruno@clisp.org>
14363         pthread_mutex_timedlock: New module.
14364         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
14365         new declaration.
14366         * lib/pthread_mutex_timedlock.c: New file.
14367         * m4/pthread_mutex_timedlock.m4: New file.
14368         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
14369         whether pthread_mutex_timedlock is declared.
14370         (gl_PTHREAD_MODULE_INDICATOR): New macro.
14371         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14372         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14373         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
14374         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
14375         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
14376         * modules/pthread_mutex_timedlock: New file.
14377         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
14378         module.
14380 2019-06-20  Bruno Haible  <bruno@clisp.org>
14382         thread, lock, cond, tls: Recognize C11 multithreaded applications.
14383         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
14384         * lib/glthread/thread.h (c11_threads_in_use): New macro.
14385         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14386         * lib/glthread/lock.h (c11_threads_in_use): New macro.
14387         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14388         * lib/glthread/cond.h (c11_threads_in_use): New macro.
14389         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14390         * lib/glthread/tls.h (c11_threads_in_use): New macro.
14391         (pthread_in_use, pth_in_use, thread_in_use): Use it.
14393 2019-06-20  Bruno Haible  <bruno@clisp.org>
14395         tls tests: Small improvements.
14396         * tests/test-tls.c: Include <stdint.h>.
14397         (worker_thread): Avoid gcc warning on 64-bit mingw.
14398         (test_tls): Pass a different id to each thread.
14399         * modules/tls-tests (Depends-on): Add stdint.
14401 2019-06-20  Bruno Haible  <bruno@clisp.org>
14403         cond tests: Simplify.
14404         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
14406 2019-06-20  Bruno Haible  <bruno@clisp.org>
14408         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
14409         * tests/test-lock.c (test_once): Don't reference fire_signal if
14410         !ENABLE_LOCKING.
14412 2019-06-19  Bruno Haible  <bruno@clisp.org>
14414         nanosleep: Relicense under LGPLv2+.
14415         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
14416         * modules/nanosleep (License): Change to LGPLv2+.
14418 2019-06-19  Bruno Haible  <bruno@clisp.org>
14420         Reorder pieces of header in perl scripts.
14421         The desired order is
14422         - Prologue part 1 (2 lines with #!)
14423         - Program short description
14424         - Copyright and license notice
14425         - Written-by notice
14426         - Program short description (optional)
14427         - Program long description (optional)
14428         - Prologue part 2
14429         - Time stamp
14430         - Code
14431         Reported by Paul Eggert.
14432         * build-aux/announce-gen: Reorder header.
14433         * build-aux/gitlog-to-changelog: Likewise.
14434         * build-aux/useless-if-before-free: Likewise.
14435         * build-aux/prefix-gnulib-mk: Add copyright notice and short
14436         description.
14437         * build-aux/update-copyright: Likewise. Add short description. Bump
14438         time-stamp-line-limit to 200.
14440 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
14442         verify-tests: work around xlc bug
14443         Problem reported by Bruno Haible in:
14444         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
14445         * tests/test-verify.c (item): Move the arithmetic inside the
14446         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
14448 2019-06-16  Bruno Haible  <bruno@clisp.org>
14450         Restore Emacs time-stamp hook applicability.
14451         Reported by Darshit Shah <darnir@gnu.org>.
14452         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
14453         * build-aux/announce-gen: Likewise.
14454         * build-aux/gitlog-to-changelog: Likewise.
14455         * build-aux/prefix-gnulib-mk: Likewise.
14456         * build-aux/update-copyright: Likewise.
14458 2019-06-15  Bruno Haible  <bruno@clisp.org>
14460         Fix scripts to have valid executable format on Alpine Linux.
14461         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14462         Idea by Paul Eggert.
14463         * build-aux/useless-if-before-free: Use a prologue that starts with
14464         '#!/bin/sh'.
14465         * build-aux/announce-gen: Likewise.
14466         * build-aux/gitlog-to-changelog: Likewise.
14467         * build-aux/prefix-gnulib-mk: Likewise.
14468         * build-aux/update-copyright: Likewise.
14469         * tests/test-update-copyright.sh: Update test program accordingly.
14471 2019-06-10  Bruno Haible  <bruno@clisp.org>
14473         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
14474         Reported by Nikita Ermakov <arei@altlinux.org> in
14475         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
14476         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
14477         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
14479 2019-06-10  Bruno Haible  <bruno@clisp.org>
14481         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
14482         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14483         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
14484         a copy of the path argument.
14485         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14486         it.
14488 2019-06-10  Bruno Haible  <bruno@clisp.org>
14490         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
14491         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
14492         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
14493         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
14494         a copy of the path argument.
14495         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
14496         it.
14498 2019-06-10  Bruno Haible  <bruno@clisp.org>
14500         posix_spawn_file_actions_addfchdir: Add tests.
14501         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
14502         * tests/test-posix_spawn5.c: New file.
14503         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
14505 2019-06-10  Bruno Haible  <bruno@clisp.org>
14507         posix_spawn_file_actions_addfchdir: New module.
14508         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
14509         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
14510         union member 'fchdir_action'.
14511         * lib/spawn_faction_addfchdir.c: New file.
14512         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
14513         * m4/posix_spawn_faction_addfchdir.m4: New file.
14514         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
14515         'posix_spawn_file_actions_addfchdir' is present and whether
14516         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
14517         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
14518         posix_spawn_file_actions_addfchdir is declared.
14519         (gl_SPAWN_H_DEFAULTS): Initialize
14520         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14521         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14522         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
14523         * modules/spawn (Makefile.am): Substitute
14524         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14525         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
14526         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
14527         * modules/posix_spawn_file_actions_addfchdir: New file.
14528         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
14529         signature.
14530         * doc/posix-functions/posix_spawn.texi: Mention the new module.
14531         * doc/posix-functions/posix_spawnp.texi: Likewise.
14532         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
14533         Likewise.
14535 2019-06-10  Bruno Haible  <bruno@clisp.org>
14537         doc: Document existence of posix_spawn_file_actions_addchdir module.
14538         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
14539         the posix_spawn_file_actions_addchdir module.
14541 2019-06-10  Bruno Haible  <bruno@clisp.org>
14543         posix_spawn-internal: Fix module description.
14544         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
14545         from here...
14546         * modules/posix_spawnp (configure.ac): ... and here...
14547         * modules/posix_spawn-internal (configure.ac): ... to here.
14549 2019-06-10  Bruno Haible  <bruno@clisp.org>
14551         doc: Update and improve documentation of glibc functions.
14552         This is a series of commits that
14553         - updates the documentation to the state of glibc 2.29,
14554         - adds references to Linux man pages and glibc documentation,
14555         - marks Linux specific functions as such.
14556         These are the commits:
14557         doc: Update after removal of crypt functions from glibc 2.28.
14558         doc: Remove mention of function vm86 (does not exist on x86_64).
14559         doc: Remove mention of functions that are gone from glibc.
14560         doc: Mention that glibc no longer provides h_errno.
14561         doc: Mention the availability of specific functions in glibc versions.
14562         doc: Mention eaccess.
14563         doc: Add references to Linux man pages.
14564         doc: Add references to glibc documentation.
14565         doc: Mention inotify_* functions.
14566         doc: Mention ppoll.
14567         doc: Mention sched_getcpu.
14568         doc: Mention sync_file_range.
14569         doc: Mention epoll_pwait.
14570         doc: Mention eventfd, eventfd_read, eventfd_write.
14571         doc: Mention signalfd.
14572         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
14573         doc: Mention epoll_create1.
14574         doc: Mention getauxval.
14575         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
14576         doc: Mention nextdown, nextup.
14577         doc: Mention more ISO TS 18661-1 <math.h> functions.
14578         doc: Mention ISO TS 18661-1 <fenv.h> functions.
14579         doc: Mention getrandom, getentropy.
14580         doc: Mention strfromf, strfromd, strfroml.
14581         doc: Mention preadv2, pwritev2.
14582         doc: Mention copy_file_range.
14583         doc: Mention memfd_create.
14584         doc: Mention mlock2.
14585         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
14586         doc: Mention more ISO TS 18661-1 <math.h> functions.
14587         doc: Mention renameat2.
14588         doc: Mention statx.
14589         doc: Mention the ISO C11 multithreading header and functions.
14590         doc: Mention getcpu.
14591         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
14592         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
14593         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
14594         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
14595         doc: Some glibc functions also exist on Solaris 11.
14596         doc: Some glibc functions also exist on Solaris 11.4.
14597         doc: Some glibc functions also exist on FreeBSD.
14598         doc: Some glibc functions also exist on BeOS.
14599         doc: Some glibc functions also exist on Haiku.
14600         doc: Mark functions which exist only on Linux.
14601         doc: Mark functions which exist only on Linux and illumos.
14603 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14605         copy-file: fix typo
14606         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
14608         copy-file-range: simplify into a stub
14609         Based on a comment by Florian Weimer in:
14610         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
14611         It turns out that Emacs (which will use this module) won’t need an
14612         emulation and I suspect other programs won’t either, because these
14613         programs will need to fall back on read+write anyway.  Perhaps I
14614         am wrong and other programs will be able to use an emulation; if
14615         so, this patch can be reverted.
14616         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
14617         Just call it copy_file_range.
14618         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
14619         Check via AC_LINK_IFELSE.
14620         * modules/copy-file-range (Depends-on): Remove modules no longer used.
14622 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
14624         copy-file: prefer copy_file_range
14625         * lib/copy-file.c: Do not include xalloc.h.
14626         (qcopy_file_preserving): Allocate a buffer only if
14627         copy_file_range does not suffice.  If the allocation fails
14628         don't give up; just use a small stack-based buffer.
14629         Prefer copy_file_range if it works.
14630         * modules/copy-file (Depends-on): Add copy-file-range.
14631         Remove xalloc.
14633         copy-file-range: new module
14634         * MODULES.html.sh: Add copy-file-range.
14635         * lib/copy-file-range.c, m4/copy-file-range.m4:
14636         * modules/copy-file-range: New files.
14637         * lib/unistd.in.h (copy_file_range): Declare.
14638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
14639         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
14640         * modules/unistd (unistd.h): Substitute them.
14642 2019-05-28  Bruno Haible  <bruno@clisp.org>
14644         binary-io: Attempted use of O_BINARY on consoles no longer fails.
14645         Reported by KO Myung-Hun <komh78@gmail.com> in
14646         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
14647         * lib/binary-io.h (__gl_setmode_check): Remove function.
14648         (set_binary_mode): Declare as notinline on DJGPP and EMX.
14649         * lib/binary-io.c (__gl_setmode_check): Remove function.
14650         (set_binary_mode): Define here on DJGPP and EMX. Inline
14651         __gl_setmode_check. In case of a tty, don't return an error code.
14653 2019-05-28  James Youngman  <jay@gnu.org>
14655         dirent-safer: Make opendir_safer usable from C++.
14656         * lib/dirent-safer.h: use extern "C".
14658 2019-05-28  James Youngman  <jay@gnu.org>
14660         canonicalize: Make canonicalize_filename_mode usable from C++.
14661         * lib/canonicalize.h: use extern "C".
14663 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
14665         prefix-gnulib-mk: Fix CPPFLAGS migration.
14666         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
14667         _a part of the library name.
14669 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14671         flexmember: update comments again
14672         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
14674         flexmember: update comment
14675         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
14677 2019-05-20  Bruno Haible  <bruno@clisp.org>
14679         setlocale: Improve fallback on macOS.
14680         * lib/setlocale.c (search): Optimize away a redundant strcmp()
14681         invocation.
14682         (locales_with_principal_territory): New array.
14683         (langcmp, get_main_locale_with_same_language): New functions.
14684         (locales_with_principal_language): New array.
14685         (terrcmp, get_main_locale_with_same_territory): New functions.
14686         (rpl_setlocale): When setlocale_single failed, try again with a locale
14687         that is more likely to exist. Don't warn if the environment variable
14688         SETLOCALE_VERBOSE is not set.
14690 2019-05-19  Bruno Haible  <bruno@clisp.org>
14692         localename: Fix default on macOS.
14693         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
14694         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
14695         (gl_locale_name_environ, gl_locale_name_default): Remove code for
14696         HAVE_CFLOCALECOPYCURRENT.
14697         * lib/localename.h (gl_locale_name_default): Update.
14699 2019-05-19  Karl Berry  <karl@freefriends.org>
14701         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
14702         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
14703         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
14705 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
14707         maintainer-makefile: catch uses of $< in non-implicit rules
14708         * top/maint.mk (sc_prohibit_magic_number_exit): New.
14710 2019-05-18  Bruno Haible  <bruno@clisp.org>
14712         threadlib: Provide an easy way to avoid mingw's winpthreads library.
14713         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
14714         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
14715         gl_use_threads accordingly.
14717 2019-05-18  Bruno Haible  <bruno@clisp.org>
14719         pthread_sigmask: Fix compilation error with --enable-threads=windows.
14720         Reported by Tim Rühsen in
14721         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
14722         and Michele Locati in
14723         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
14724         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
14725         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
14726         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
14727         in use and regardless which threads API is chosen.
14729 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14731         close-stream, closein, closeout: simplify
14732         I noticed this opportunity for simplification while drafting a
14733         new, related module that I haven’t had time to finish yet.
14734         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
14735         * modules/close-stream (Files): Remove m4/close-stream.m4.
14736         (configure.ac): Omit gl_CLOSE_STREAM.
14737         * modules/closein (Files): Remove m4/closein.m4
14738         (configure.ac): Omit gl_CLOSEIN.
14739         * modules/closeout (Files): Remove m4/closeout.m4.
14740         (configure.ac): Omit gl_CLOSEOUT.
14742 2019-05-12  Bruno Haible  <bruno@clisp.org>
14744         libtool-next-version: New program.
14745         * build-aux/libtool-next-version: New file.
14747 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
14748             Bruno Haible  <bruno@clisp.org>
14750         version-etc: Ease translation.
14751         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
14752         URLs and formatting newlines out of translatable string.
14754 2019-05-11  Bruno Haible  <bruno@clisp.org>
14756         gnupload: Explain how to create symlinks.
14757         * build-aux/gnupload (usage): Add an example that creates symlinks.
14759 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14761         fpucw: port to gcc -pedantic
14762         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
14763         Use __extension__ if using ({ ... }).
14765         crypto/af_alg: port to strict C compilers
14766         * lib/af_alg.c: Include af_alg.h regardless, so that the
14767         compilation unit is nonempty.
14769 2019-05-10  Bruno Haible  <bruno@clisp.org>
14771         base64: Avoid false positive warning from Coverity.
14772         Reported by Kamil Dudka <kdudka@redhat.com>.
14773         Idea by Paul Eggert.
14774         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
14775         '& 0x3f' to the array index expressions. This convinces Coverity that
14776         there is no out-of-bounds array reference, regardless of the input.
14778 2019-05-09  Bruno Haible  <bruno@clisp.org>
14780         gettext: Update to gettext 0.20.
14781         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
14782         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
14783         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
14784         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
14785         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
14786         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
14787         (configure.ac): Request infrastructure compatible with gettext 0.20.
14788         * m4/glibc2.m4: Remove file.
14789         * m4/intdiv0.m4: Remove file.
14790         * m4/intl.m4: Remove file.
14791         * m4/intldir.m4: Remove file.
14792         * m4/intmax.m4: Remove file.
14793         * m4/printf-posix.m4: Remove file.
14794         * m4/uintmax_t.m4: Remove file.
14795         * m4/gettext.m4: Update from gettext 0.20.
14796         * m4/po.m4: Likewise.
14798 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14800         verify: remove verify_true
14801         * NEWS: Mention this.
14802         * lib/verify.h (verify_true): Remove.
14803         * tests/test-verify.c (item): Test verify_expr, not verify_true.
14805         Support C2X and C++17 static_assert
14806         C2X and C++17 finally added support for a simple, single-argument
14807         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
14808         doing back in 2005.  Implement static_assert on older platforms.
14809         The only remaining advantage of ‘verify’ is a shorter name.
14810         * doc/posix-headers/assert.texi (assert.h):
14811         * doc/verify.texi (Compile-time Assertions):
14812         Modernize for C2X and C++17.
14813         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
14814         New macros.
14815         (_GL_HAVE__STATIC_ASSERT): Remove.
14816         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
14817         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
14818         string.  All callers changed.
14819         (_GL_VERIFY): Require 3 or more args, of which only the first 2
14820         are used.  All callers changed.
14821         (_Static_assert): Allow either 1 or 2 args, and define if
14822         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
14823         !_GL_HAVE__STATIC_ASSERT.
14824         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
14825         of defining if !_GL_HAVE_STATIC_ASSERT.
14826         (verify_expr, verify): Don’t bother trying to copy the expression
14827         into the diagnostic, since 1-argument static_assert doesn’t.
14828         (verify): Prefer 1-argument _Static_assert if it works.
14829         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
14831 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14833         Fix _GL_HAVE__STATIC_ASSERT typo
14834         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
14835         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
14837 2019-05-05  Bruno Haible  <bruno@clisp.org>
14839         wcwidth: Ensure width 1, not 2, for ambiguous characters.
14840         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
14841         via Akim Demaille <akim.demaille@gmail.com>.
14842         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
14843         en_US.UTF-8 locale, since that is more likely to be present than an
14844         fr_FR.UTF-8 locale.
14845         * tests/test-wcwidth.c (main): Check the width of U+2202.
14846         * doc/posix-functions/wcwidth.texi: Mention the issue.
14848 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
14850         Port manywarnings to GCC 9
14851         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
14852         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
14853         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
14854         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
14855         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
14856         --help=warnings output.
14857         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
14858         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
14859         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
14861 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
14863         Sync lib/mktime-internal.h from glibc
14864         * config/srclist.txt: Add entry for lib/mktime-internal.h.
14865         * lib/mktime-internal.h: Autoupdate.
14867 2019-04-28  Bruno Haible  <bruno@clisp.org>
14869         tls tests: Prevent that the test takes too long.
14870         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
14871         (main): Let the test fail if it takes more than 10 minutes.
14872         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
14874 2019-04-27  Bruno Haible  <bruno@clisp.org>
14876         lock tests: Prevent that the test takes too long.
14877         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
14878         (main): Let the test fail if it takes more than 10 minutes.
14879         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
14881 2019-04-27  Bruno Haible  <bruno@clisp.org>
14883         localename: Fix crash on mingw (regression from 2018-11-23).
14884         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
14885         locale name that is null.
14887 2019-04-27  Bruno Haible  <bruno@clisp.org>
14889         Fix gcc warnings on 64-bit mode mingw.
14890         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
14891         * lib/gl_array_list.c: Likewise.
14892         * lib/gl_array_map.c: Likewise.
14893         * lib/gl_array_set.c: Likewise.
14894         * lib/gl_carray_list.c: Likewise.
14895         * lib/gl_sublist.c: Likewise.
14896         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
14897         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
14898         * lib/gl_hash_map.c (uintptr_t): Likewise.
14899         * lib/gl_hash_set.c (uintptr_t): Likewise.
14900         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
14901         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
14902         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
14903         * lib/iconv.c (uintptr_t): Likewise.
14904         * lib/iconv_close.c (uintptr_t): Likewise.
14905         * tests/test-lock.c: Include <stdint.h>.
14906         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
14907         'long'.
14908         * modules/clean-temp (Depends-on): Add stdint.
14909         * modules/array-list (Depends-on): Likewise.
14910         * modules/array-map (Depends-on): Likewise.
14911         * modules/array-set (Depends-on): Likewise.
14912         * modules/carray-list (Depends-on): Likewise.
14913         * modules/sublist (Depends-on): Likewise.
14914         * modules/lock-tests (Depends-on): Likewise.
14916 2019-04-27  Bruno Haible  <bruno@clisp.org>
14918         error: Tweak indentation.
14919         * lib/error.c: Correct indentation.
14921 2019-04-27  Bruno Haible  <bruno@clisp.org>
14923         term-style-control: Fix gcc warning on mingw.
14924         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
14925         of i.
14927 2019-04-26  Bruno Haible  <bruno@clisp.org>
14929         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
14930         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
14932 2019-04-26  Bruno Haible  <bruno@clisp.org>
14934         relocatable-prog: Fix gcc warning on mingw.
14935         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
14936         on EMX.
14938 2019-04-02  Bruno Haible  <bruno@clisp.org>
14940         gitsub.sh: New file.
14941         * top/gitsub.sh: New file.
14943 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
14945         argmatch: use void* for raw memory pointers
14946         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
14947         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
14948         to "values", keep char* for strings.
14950 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
14952         prefix-gnulib-mk: fix the support for gnulib-po
14953         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
14954         Don't touch HAVE_* variables.
14955         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
14957 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
14959         di-set: allow free with 'ino_map' being NULL.
14960         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
14961         is NULL.  Bug introduced in commit 3703dbbe88dd.
14962         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
14963         as a test.
14965 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
14967         * lib/str-two-way.h: Fix comment typo.
14969 2019-04-13  Bruno Haible  <bruno@clisp.org>
14971         x-to-1: Restore ability to use original calling convention.
14972         * build-aux/x-to-1.in: Add comments. Accept the original form of
14973         HELP2MAN argument as well as the form expected since 2012-12-12.
14975 2019-04-13  Bruno Haible  <bruno@clisp.org>
14977         x-to-1: Avoid failure due to missing perl modules.
14978         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
14979         needs are installed.
14981 2019-04-13  Bruno Haible  <bruno@clisp.org>
14983         openmp-init: New module.
14984         * modules/openmp-init: New file.
14985         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
14986         the changes from 2019-04-09.
14988 2019-04-12  Bruno Haible  <bruno@clisp.org>
14990         signbit: Fix compilation error when gnulib's math.h exists twice.
14991         * lib/math.in.h (GNULIB_defined_signbit): New macro.
14993 2019-04-12  Bruno Haible  <bruno@clisp.org>
14995         openmp: Fix compilation error on platforms without OpenMP.
14996         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
14998 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
15000         mountlist: make parsing /proc/self/mountinfo more robust
15001         Cater for the following issues with mountinfo parsing (the first
15002         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
15003         in <https://bugs.gnu.org/35137>).
15004         1. The fields source, target, mntroot and fstype may contain characters
15005         like '\r'; sscanf(3) fails to read such values with the %s format
15006         specifier because it would stop at such characters.
15007         Example: "mount -t tmpfs tmpfs /foo^Mbar".
15008         The only true separator in that file is the ' ' character.
15009         2. The source field may be an empty string, which happens e.g. with
15010         "mount -t tmpfs '' /target".
15011         3. The fstype field may contain mangled characters as well which need
15012         unescaping.
15013         * lib/mountlist.c (terminate_at_blank): Add utility function.
15014         (read_file_system_list): In the block trying to read the mountinfo file,
15015         avoid using sscanf(3) with %s format; instead, parse the above fields
15016         separated by spaces one by one.
15017         This also handles the case when the source field is an empty string.
15018         Unescape the fstype field.
15020 2019-04-09  Bruno Haible  <bruno@clisp.org>
15022         openmp: Add workaround for 32-bit programs on AIX.
15023         * lib/omp.in.h: New file.
15024         * lib/omp-init.c: New file, based on lib/nproc.c.
15025         * m4/omp_h.m4: New file.
15026         * modules/openmp (Files): Add them.
15027         (Depends-on): Add include_next, c-ctype, setenv.
15028         (configure.ac): Invoke gl_OMP_H.
15029         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
15030         (Include): Mention <omp.h>.
15032 2019-04-09  Bruno Haible  <bruno@clisp.org>
15034         nproc: Fix return value for privileged processes.
15035         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
15036         getpid().
15038 2019-04-07  Bruno Haible  <bruno@clisp.org>
15040         Add copyright notices in several files.
15041         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
15042         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
15043         * lib/libunistring.valgrind: Likewise.
15044         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
15045         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
15046         * lib/memchr.valgrind: Likewise.
15047         * lib/memchr2.valgrind: Likewise.
15048         * lib/rawmemchr.valgrind: Likewise.
15049         * lib/relocatable.valgrind: Likewise.
15050         * lib/strchrnul.valgrind: Likewise.
15052 2019-03-25  Bruno Haible  <bruno@clisp.org>
15054         term-style-control tests: Fix link error.
15055         Reported by Tom G. Christensen in
15056         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
15057         * modules/term-style-control-tests (Makefile.am): Link
15058         test-term-style-control-hello and test-term-style-control-yes against
15059         LIBINTL.
15061 2019-03-24  Bruno Haible  <bruno@clisp.org>
15063         term-style-control: Add tests.
15064         * tests/test-term-style-control-hello.c: New file.
15065         * tests/test-term-style-control-yes.c: New file.
15066         * modules/term-style-control-tests: New file.
15068         term-style-control: New module.
15069         * lib/term-style-control.h: New file, based on libtextstyle's
15070         term-ostream.oo.h and term-ostream.oo.c.
15071         * lib/term-style-control.c: New file, based on libtextstyle's
15072         term-ostream.oo.c.
15073         * modules/term-style-control: New file.
15075 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15077         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
15078         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
15079         C++98 appears to be supported by Clang, but not by GCC nor ICC.
15081 2019-03-23  Bruno Haible  <bruno@clisp.org>
15083         Support cross-compilation to musl libc.
15084         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
15085         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
15086         musl libc.
15087         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15088         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
15089         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15090         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15091         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15092         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
15093         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15094         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15095         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
15096         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15097         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
15098         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
15099         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15100         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15101         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15102         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15103         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15104         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15105         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
15106         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15107         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
15108         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15109         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
15110         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15111         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
15112         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15113         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15114         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15115         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
15116         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15117         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15118         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15119         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
15120         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15121         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15122         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
15123         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15124         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15125         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15126         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15127         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15128         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
15129         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
15130         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15131         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15132         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15133         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15134         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
15135         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
15136         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
15137         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
15138         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
15139         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15140         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
15141         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15142         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
15143         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15144         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15145         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15146         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
15147         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15148         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15149         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15150         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
15151         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
15152         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15153         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15154         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
15155         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15156         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
15157         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15158         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15159         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15160         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
15161         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
15162         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15163         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15164         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15166 2019-03-23  Bruno Haible  <bruno@clisp.org>
15168         posix_spawn_file_actions_*: Document musl libc bugs.
15169         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
15170         the bug.
15171         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
15172         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
15173         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
15174         cross-compiling to a musl system, guess no.
15175         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
15176         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
15178 2019-03-23  Bruno Haible  <bruno@clisp.org>
15180         futimens: Document musl libc bug.
15181         * doc/posix-functions/futimens.texi: Mention the bug.
15182         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
15183         cross-compiling, guess no on glibc and musl systems.
15185 2019-03-23  Bruno Haible  <bruno@clisp.org>
15187         Clarify that cross-compilation guesses are guesses.
15188         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
15189         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
15190         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
15191         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
15192         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
15193         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
15194         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
15195         gl_cv_glob_lists_symlinks.
15196         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
15197         'guessing ' to ac_cv_func_malloc_0_nonnull.
15198         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
15199         'guessing ' to ac_cv_func_realloc_0_nonnull.
15200         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
15201         'guessing ' to gl_cv_func_poll.
15202         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
15203         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
15204         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
15206 2019-03-23  Bruno Haible  <bruno@clisp.org>
15208         strtold: Fix typo.
15209         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
15211 2019-03-23  Bruno Haible  <bruno@clisp.org>
15213         noreturn: In C++ mode with clang, use _Noreturn as fallback.
15214         Reported by Akim Demaille.
15215         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
15216         [[noreturn]] would not work, use _Noreturn instead.
15218 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
15220         libtextstyle-optional: Fix compiler warnings.
15221         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
15222         as unused.
15224 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15226         bitset: fix memory leaks
15227         Reported by Bruno Haible.
15228         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
15229         * lib/bitset/vector.c (vbitset_free): New.
15230         (vbitset_vtable): Use it.
15232 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15234         bitset: minor changes
15235         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
15236         * lib/bitset/table.c: Formatting changes.
15237         Remove useless braces.
15238         Prefer using else in cascades of if/else-if with returns.
15239         * lib/bitset/vector.c: Reduce scopes.
15241 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
15243         bitset: expose bitset_resize
15244         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
15245         * tests/test-bitset.c (check_attributes): Check bitset_resize.
15246         (main): Use a variable bitset as reference, since fixed does not support resize.
15248 2019-03-19  Bruno Haible  <bruno@clisp.org>
15250         doc: Document the 'stdnoreturn' and 'noreturn' modules.
15251         Reported by Akim Demaille.
15252         * doc/noreturn.texi: New file.
15253         * doc/gnulib.texi: Include it.
15255 2019-03-19  Bruno Haible  <bruno@clisp.org>
15257         doc: Document how to use 'static inline'.
15258         * doc/static-inline.texi: New file.
15259         * doc/gnulib.texi: Include it.
15261 2019-03-19  Bruno Haible  <bruno@clisp.org>
15263         libtextstyle-optional: Add tests.
15264         * tests/test-libtextstyle.c: New file, based on libtextstyle's
15265         adhoc-tests/hello.c.
15266         * tests/test-libtextstyle-default.css: New file, copied from
15267         libtextstyle's adhoc-tests/hello-default.css.
15268         * modules/libtextstyle-optional-tests: New file.
15270         libtextstyle-optional: New module.
15271         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
15272         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
15273         * modules/libtextstyle-optional: New file.
15275 2019-03-19  Bruno Haible  <bruno@clisp.org>
15277         c-stack: Make signal handlers more reliable.
15278         * lib/c-stack.c (progname): New variable.
15279         (die): Use it.
15280         (c_stack_action): Initialize it.
15281         (segv_handler): Save and restore errno.
15283 2019-03-19  Bruno Haible  <bruno@clisp.org>
15285         Help making signal handlers more reliable.
15286         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
15287         _GL_ASYNC_SAFE into config.h.
15288         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
15289         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
15290         argument.
15291         * lib/fatal-signal.c (action_t, uninstall_handlers,
15292         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
15293         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
15294         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
15295         _GL_ASYNC_SAFE.
15296         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
15297         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
15299 2019-03-18  Bruno Haible  <bruno@clisp.org>
15301         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
15302         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
15303         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
15305 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15307         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
15308         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
15309         GCC 4.8.
15311 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
15313         fts: minor simplification
15314         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
15316 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
15318         bitset, timevar: Depend on c99.
15319         Reported by Bruno Haible.
15320         * modules/bitset, modules/timevar (Depends-on): Add c99.
15322 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15324         bitset: a bit (...) more tests
15325         * tests/test-bitset.c (check_attributes): Check zero and ones.
15327 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
15329         bitset: fix overflows.
15330         Reported by Bruno Haible.
15331         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
15332         * lib/bitset/table.c (tbitset_test): last_bit is the position of
15333         the bit in the array of bitset_word, so be sure to take its modulo
15334         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
15335         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
15337 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
15339         bitset: style changes.
15340         * lib/bitset/table.c: Use NULL, not 0, for pointers.
15341         Formatting changes.
15342         (tbitset_list): Reduce scopes.
15344 2019-03-16  Bruno Haible  <bruno@clisp.org>
15346         fatal-signal: Pass the signal number to the action.
15347         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
15348         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
15349         (fatal_signal_handler): Pass the signal number to the action.
15350         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
15351         signal number as parameter.
15352         (create_temp_dir): Update.
15353         * lib/wait-process.c (cleanup_slaves_action): New function.
15354         (register_slave_subprocess): Update at_fatal_signal invocation.
15355         * NEWS: Mention the change.
15357 2019-03-16  Bruno Haible  <bruno@clisp.org>
15359         fatal-signal: Add function that lists the fatal signals.
15360         * lib/fatal-signal.h (get_fatal_signals): New declaration.
15361         * lib/fatal-signal.c (get_fatal_signals): New function.
15363 2019-03-14  Bruno Haible  <bruno@clisp.org>
15365         isatty: Make it return true in Cygwin consoles on native Windows.
15366         * lib/isatty.c: Include <string.h>.
15367         (GetProcAddress): New macro.
15368         (GetNamedPipeClientProcessIdFuncType): New type.
15369         (GetNamedPipeClientProcessIdFunc): New variable.
15370         (QueryFullProcessImageNameFuncType): New type.
15371         (QueryFullProcessImageNameFunc): New variable.
15372         (initialized): New variable.
15373         (initialize): New function.
15374         (IsCygwinConsoleHandle): New function.
15375         (isatty): Invoke it.
15376         * doc/posix-functions/isatty.texi: Mention the issue.
15378 2019-03-14  Bruno Haible  <bruno@clisp.org>
15380         all: Update URLs to msdn.microsoft.com.
15381         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
15382         was moved to docs.microsoft.com.
15384 2019-03-13  Bruno Haible  <bruno@clisp.org>
15386         gnulib-tool: Clarify the coding style.
15387         Suggested by Pavel Raiskup <praiskup@redhat.com>.
15388         * gnulib-tool: Add comment about coding style.
15390 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15392         strtod: fix clash with strtold
15393         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
15394         * lib/strtod.c (compute_minus_zero, minus_zero):
15395         Simplify by remving the macro / external variable,
15396         and having just a function.  User changed.  This avoids
15397         the need for an external variable that might clash.
15399 2019-03-10  Bruno Haible  <bruno@clisp.org>
15401         alloca-opt: Fix conflict mingw's new <alloca.h> file.
15402         Reported by Eli Zaretskii <eliz@gnu.org>.
15403         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
15404         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
15405         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
15407 2019-03-10  Bruno Haible  <bruno@clisp.org>
15409         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
15410         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
15411         is in use.
15412         * tests/test-printf-posix2.c: Likewise.
15414 2019-03-10  Bruno Haible  <bruno@clisp.org>
15416         uninorm tests: Free allocated memory.
15417         * tests/uninorm/test-u32-normalize-big.h
15418         (struct normalization_test_file): Remove 'const' from allocated member.
15419         (free_normalization_test_file): New declaration.
15420         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
15421         memory.
15422         (free_normalization_test_file): New function.
15423         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
15424         'struct normalization_test_file' contents.
15425         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
15426         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
15427         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
15429 2019-03-10  Bruno Haible  <bruno@clisp.org>
15431         di-set: Fix memory leak.
15432         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
15433         not free().
15435 2019-03-10  Bruno Haible  <bruno@clisp.org>
15437         tests: Free allocated memory.
15438         Reported by <deltatau@protonmail.com> via Assaf Gordon.
15439         * tests/test-astrxfrm.c (main): Free allocated memory.
15440         * tests/test-bitset.c (compare, check_attributes): Free allocated
15441         bitsets.
15442         * tests/test-filenamecat.c (main): Free allocated memory.
15443         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
15444         * tests/test-freadptr.c (main): Likewise.
15445         * tests/test-freadptr2.c (main): Free allocated memory.
15446         * tests/test-freadseek.c (main): Likewise.
15447         * tests/test-gc-arcfour.c (main): Close allocated context.
15448         * tests/test-gc-arctwo.c (main): Likewise.
15449         * tests/test-gc-des.c (main): Close all allocated contexts.
15450         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
15451         * tests/test-pipe-filter-ii1.c (main): Likewise.
15452         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
15453         allocated file actions.
15454         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
15455         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
15456         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
15457         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
15458         * tests/test-strfmon_l.c (main): Free allocated locales.
15459         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
15460         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
15461         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15462         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15463         * tests/unistr/test-chr.h (main): Free input32.
15464         * tests/unistr/test-strchr.h (test_strchr): Likewise.
15466 2019-03-10  Bruno Haible  <bruno@clisp.org>
15468         tests: Prepare for using valgrind.
15469         * tests/*.sh: Invoke all test programs through ${CHECKER}.
15470         * tests/*/*.sh: Likewise.
15471         * tests/test-freadptr.c (main): Update accordingly.
15472         * tests/test-freadseek.c (main): Likewise.
15474 2019-03-09  Bruno Haible  <bruno@clisp.org>
15476         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
15477         * lib/get-rusage-as.c (get_rusage_as): When compiled by
15478         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
15479         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
15480         before exiting.
15482 2019-03-09  Jim Meyering  <meyering@fb.com>
15484         test-userspec.c: don't print NULL
15485         * tests/test-userspec.c (main): A test release of gcc,
15486         9.0.1 20190310, warned that this test would attempt to
15487         print a NULL pointer via a %s printf format.  Fix that
15488         and remove the unnecessary preceding "!diag" conjunct.
15489         Also add a comment.
15491 2019-03-03  Bruno Haible  <bruno@clisp.org>
15493         getloadavg: Write NULL for the null pointer.
15494         Reported by Michal Privoznik <mprivozn@redhat.com>.
15495         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
15497 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
15499         alloca, tsearch-tests: Write NULL for the null pointer.
15500         * lib/alloca.c (i00afunc): Write NULL instead of 0.
15501         * tests/test-tsearch.c (mangle_tree): Likewise.
15503 2019-03-09  Bruno Haible  <bruno@clisp.org>
15505         strfmon_l: Fix -fsanitize=address finding.
15506         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
15507         <string.h>.
15508         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
15509         (directive_t, directives_t): New types.
15510         (fmon_parse): New function.
15511         (rpl_strfmon_l): Don't call va_arg more often than needed for the
15512         format string. Consume 'long double' arguments in places where the
15513         format string indicates so.
15514         * modules/strfmon_l (Depends-on): Add 'stdbool'.
15516 2019-03-09  Bruno Haible  <bruno@clisp.org>
15518         crypto/des: Fix undefined behaviour.
15519         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
15520         shift operations on 'int'.
15522 2019-03-09  Bruno Haible  <bruno@clisp.org>
15524         Fix undefined behaviour.
15525         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
15526         'unsigned int', to avoid shift operations on 'int'.
15527         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
15528         * tests/test-count-leading-zeros.c (main): Use a random number that has
15529         as many bits as TYPE, not only 2*15 or 2*31 bits.
15530         * tests/test-count-trailing-zeros.c (main): Likewise.
15531         * tests/test-count-one-bits.c (main): Likewise.
15532         * tests/test-memmem.c: Don't include "null-ptr.h".
15533         (main): Use zerosize_ptr() instead of null_ptr().
15534         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
15536 2019-03-08  Bruno Haible  <bruno@clisp.org>
15538         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
15539         Reported by Jeffrey Walton <noloader@gmail.com>.
15540         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
15541         invoke memset with a zero size.
15542         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
15543         Likewise.
15544         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
15545         Adjust accordingly.
15547 2019-03-08  Bruno Haible  <bruno@clisp.org>
15549         unistr/*, uniconv/*: Fix undefined behaviour.
15550         Reported by Jeffrey Walton <noloader@gmail.com>.
15551         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
15552         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
15553         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15554         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15556 2019-03-08  Bruno Haible  <bruno@clisp.org>
15558         unistr/u8-cmp: Fix undefined behaviour.
15559         Reported by Jeffrey Walton <noloader@gmail.com>.
15560         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
15562 2019-03-08  Bruno Haible  <bruno@clisp.org>
15564         unictype/numeric: Fix undefined behaviour.
15565         Reported by Jeffrey Walton <noloader@gmail.com>.
15566         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
15567         on shift overflow, caught by "gcc -fsanitize=undefined".
15568         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
15569         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
15570         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
15572 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
15574         git-version-gen: fix --version copyright year
15575         * build-aux/git-version-gen, build-aux/move-if-change (version):
15576         --version output copyright year is now taken from script year,
15577         so that it no longer needs to be updated by hand.
15579 2019-03-04  Bruno Haible  <bruno@clisp.org>
15581         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
15582         This approach supports relocatable installation of shared libraries
15583         which depend on other shared libraries from the same package.
15584         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15585         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
15586         wrapper around the original LIBTOOL.
15587         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
15588         token '@loader_path' instead of '$ORIGIN'.
15589         * build-aux/libtool-reloc: New file.
15590         * modules/relocatable-prog (Files): Add it.
15591         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15592         the recent changes. Document the need to set the *_LDFLAGS of libraries.
15593         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
15594         Makefile.am, not in configure.ac.
15596 2019-03-04  Bruno Haible  <bruno@clisp.org>
15598         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
15599         * build-aux/install-reloc: Revert change.
15600         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
15602 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15604         nstrftime: support the ‘+’ flag
15605         * lib/nstrftime.c (add, __strftime_internal):
15606         Add support for the ‘+’ flag introduced in POSIX.1-2017.
15607         (__strftime_internal): New arg ‘width’.  All uses changed.
15608         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
15610 2019-02-24  Bruno Haible  <bruno@clisp.org>
15612         relocatable-prog: Improve verbose output.
15613         * build-aux/install-reloc (func_verbose): Escape characters that would
15614         be interpreted by the shell.
15616 2019-02-24  Bruno Haible  <bruno@clisp.org>
15618         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
15619         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
15620         "sys/stat.h".
15621         * lib/lstat.c: Likewise.
15622         * lib/fstat.c: Likewise.
15623         * lib/fstatat.c: Likewise.
15625 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
15627         long-options: add parse_gnu_standard_options_only
15628         Discussed in https://bugs.gnu.org/33468 .
15630         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
15631         (parse_gnu_standard_options_only): Add function to process
15632         the GNU default options --help and --version and fail for
15633         any other unknown long or short option. See
15634         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
15635         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
15636         * modules/long-options (depends-on): Add stdbool, exitfail.
15637         * top/maint.mk (sc_prohibit_long_options_without_use): Update
15638         syntax-check rule, add new function name.
15640 2019-02-23  Bruno Haible  <bruno@clisp.org>
15642         relocatable-prog: Update documentation.
15643         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15644         the recent changes.
15646 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
15648         nstrftime: tweak arg order
15649         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
15650         All callers changed.  Suggested by TAMUKI Shoichi in:
15651         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
15653 2019-02-23  Bruno Haible  <bruno@clisp.org>
15655         relocatable-prog: Use wrapper-free installation also on Mac OS X.
15656         Reported by Paul Smith <psmith@gnu.org>.
15657         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
15658         (func_relativize): New function, from gnulib-tool.
15659         Handle mode 'macosx' through invocations of 'otool' and
15660         'install_name_tool'.
15661         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15662         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
15663         'install-reloc' invocation with mode 'macosx'.
15665 2019-02-23  Bruno Haible  <bruno@clisp.org>
15667         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
15668         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15669         Hurd with glibc >= 2.27.
15671 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
15673         nstrftime: merge glibc strftime changes
15674         This incorporates:
15675         2019-02-11 Fix a few whitespace arrangement inconsistencies
15676         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
15677         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
15678         2019-01-11 strftime: use the "L_" macro with character literals
15679         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
15680         callers changed.  Default width of %Ey is now 2.  This is needed
15681         for proper handling of Japanese dates starting on 2019-05-01.
15683 2019-02-19  Bruno Haible  <bruno@clisp.org>
15685         relocatable-prog: Use $ORIGIN trick on more platforms.
15686         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15687         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
15688         Solaris >= 10, Haiku. But don't use it on Android.
15689         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
15690         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
15692 2019-02-19  Bruno Haible  <bruno@clisp.org>
15694         progreloc: Speed up executable lookup on various platforms.
15695         * lib/progreloc.c: Include <errno.h>.
15696         (safe_read, full_read): New functions.
15697         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
15698         prefer the information from the /proc file system to a PATH search.
15700 2019-02-19  Bruno Haible  <bruno@clisp.org>
15702         progreloc: Simplify code for Android.
15703         * lib/progreloc.c (executable_fd): Don't define on Android.
15704         (maybe_executable, find_executable): Don't use executable_fd on Android.
15706 2019-02-15  Bruno Haible  <bruno@clisp.org>
15708         gnulib-tool: Support --import with just a few tests, not --with-tests.
15709         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
15710         'inctests' when generating files; use 'inctests' only for computing the
15711         transitive closure.
15713 2019-02-14  Bruno Haible  <bruno@clisp.org>
15715         gnulib-tool: Improve handling of multiple --local-dir options.
15716         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
15717         options work.
15718         * gnulib-tool (func_path_prepend): Remove function.
15719         (func_path_foreach): Make IFS handling more robust.
15720         (local_gnulib_path): Collect --local-dir values using func_path_append,
15721         not func_path_prepend.
15722         (func_determine_path_separator): Make IFS handling more robust.
15723         (func_lookup_file_cb): New function.
15724         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
15725         func_lookup_local_file. Apply the patches in the reverse order of their
15726         origin in $local_gnulib_path.
15727         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
15728         * NEWS: Mention that the first --local-dir option is the one with
15729         highest priority.
15731 2019-02-10  Bruno Haible  <bruno@clisp.org>
15733         libtextstyle: New module.
15734         * m4/libtextstyle.m4: New file.
15735         * modules/libtextstyle: New file.
15737 2019-02-05  Bruno Haible  <bruno@clisp.org>
15739         declared.sh: Fix bug with variables of pointer type.
15740         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
15741         before the symbol to be omitted if the preceding character is a '*'.
15743 2019-02-04  Bruno Haible  <bruno@clisp.org>
15745         Add script for running tests under valgrind.
15746         * build-aux/run-test: New file, from GNU libunistring.
15747         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
15748         as well.
15750 2019-02-04  Bruno Haible  <bruno@clisp.org>
15752         declared.sh: Fix --version output.
15753         * build-aux/declared.sh (func_version): Update package name.
15755 2019-02-03  Bruno Haible  <bruno@clisp.org>
15757         Add script for determining the set of symbols to export from a library.
15758         * build-aux/declared.sh: New file, from GNU libunistring.
15759         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
15760         Mention it.
15762 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
15764         vla: add commentary about VLA_ELEMS
15765         * lib/vla.h (VLA_ELEMS): Add commentary,
15766         some inspired by Bruno Haible’s proposal in:
15767         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
15769         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
15770         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
15771         assume the C99 signatures for strtod and strtold.  Programs that
15772         require stricter adherence to C99 should also use the strtod and
15773         strtold modules as needed, and we no longer need the
15774         HAVE_C99_STRTOLD macro.
15775         * NEWS: Mention this.
15776         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
15777         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
15778         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
15779         (Files): Remove m4/c-strtod.m4.
15780         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
15781         exists.
15783 2019-02-02  Bruno Haible  <bruno@clisp.org>
15785         fma: Improve code style.
15786         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
15788 2019-02-02  Colin Watson  <cjwatson@debian.org>
15790         *-map tests: Fix compilation error.
15791         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
15792         * tests/test-hash_map.c: Likewise.
15793         * tests/test-linkedhash_map.c: Likewise.
15795 2019-01-31  Bruno Haible  <bruno@clisp.org>
15797         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
15798         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
15799         GNULIB_defined_strtold_function): New macros.
15800         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
15801         (STRTOD): Ignore HAVE_C99_STRTOLD.
15802         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
15803         deemed buggy. But do use it on platforms where uselocale exists and is
15804         usable.
15805         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
15806         deemed buggy. On platforms where uselocale exists and is usable, use
15807         uselocale and strtod/strtold.
15808         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
15809         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
15810         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
15811         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
15812         (Depends-on): Add strtod.
15813         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
15814         (Depends-on): Add strtold.
15816 2019-01-31  Bruno Haible  <bruno@clisp.org>
15818         strtod, strtold: Use the locale's decimal point.
15819         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
15820         (decimal_point_char): New function, copied from lib/vasnprintf.c.
15821         (parse_number): Add a radixchar argument. Use it instead of '.'.
15822         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
15823         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
15824         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
15825         * tests/test-strtod1.c: New file.
15826         * tests/test-strtod1.sh: New file.
15827         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
15828         locale-fr.m4 and its dependencies.
15829         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15830         (Makefile.am): Arrange to compile test-strtod1.c and run
15831         test-strtod1.sh.
15832         * tests/test-strtold1.c: New file.
15833         * tests/test-strtold1.sh: New file.
15834         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
15835         locale-fr.m4 and its dependencies.
15836         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15837         (Makefile.am): Arrange to compile test-strtold1.c and run
15838         test-strtold1.sh.
15840 2019-01-31  Bruno Haible  <bruno@clisp.org>
15842         strtod, strtold tests: Simplify tests.
15843         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
15844         * tests/test-strtold.c (main): Likewise.
15846 2019-01-31  Bruno Haible  <bruno@clisp.org>
15848         strtod, strtold: Avoid unnecessary rounding errors.
15849         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
15850         decimal to DOUBLE conversion.
15852 2019-01-31  Bruno Haible  <bruno@clisp.org>
15854         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
15855         * lib/strtod.c (STRTOD): When there is an extra character after the
15856         exponent marker 'p', reparse the number.
15857         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
15858         * doc/posix-functions/strtold.texi: Likewise.
15860 2019-01-29  Bruno Haible  <bruno@clisp.org>
15862         strtold: Add tests.
15863         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
15864         * modules/strtold-tests: New file.
15866 2019-01-29  Bruno Haible  <bruno@clisp.org>
15868         strtold: New module.
15869         * lib/stdlib.in.h (strtold): New declaration.
15870         * lib/strtold.c: New file.
15871         * lib/strtod.c: Consider USE_LONG_DOUBLE.
15872         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
15873         USE_LDEXP): New macros.
15874         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
15875         USE_LONG_DOUBLE.
15876         (underlying_strtod): Remove function. Replace with some macros.
15877         Re-add the code for a missing underlying function that was removed on
15878         2013-02-19.
15879         * m4/strtold.m4: New file.
15880         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
15881         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
15882         REPLACE_STRTOLD.
15883         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
15884         REPLACE_STRTOLD.
15885         * modules/strtold: New file.
15886         * doc/posix-functions/strtold.texi: Document the new module.
15888 2019-01-29  Bruno Haible  <bruno@clisp.org>
15890         strtod: Fix compilation error on IRIX 6.5.
15891         * modules/strtod (Depends-on): Add 'math'.
15893 2019-01-28  Bruno Haible  <bruno@clisp.org>
15895         Fix build error when building a shared libunistring on Android.
15896         * tests/uninorm/test-nfc.c (n): Don't define on Android.
15897         (main): Add 'volatile', to defeat a GCC optimization that would
15898         eliminate the reference.
15899         * tests/uninorm/test-nfd.c (n): Don't define on Android.
15900         (main): Add 'volatile', to defeat a GCC optimization that would
15901         eliminate the reference.
15902         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
15903         (main): Add 'volatile', to defeat a GCC optimization that would
15904         eliminate the reference.
15905         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
15906         (main): Add 'volatile', to defeat a GCC optimization that would
15907         eliminate the reference.
15909 2019-01-27  Bruno Haible  <bruno@clisp.org>
15911         Avoid build errors due to wrong references between modules.
15912         * lib/uninorm/canonical-decomposition.c: Include
15913         "uninorm/decomposition-table.h", not "decomposition-table.h".
15914         * lib/uninorm/decomposition.c: Likewise.
15915         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
15916         not "decompose-internal.h".
15917         * lib/uninorm/u16-normalize.c: Likewise.
15918         * lib/uninorm/u32-normalize.c: Likewise.
15919         * lib/uninorm/uninorm-filter.c: Likewise.
15920         * lib/uninorm/nfkc.c: Likewise.
15921         * lib/uninorm/nfkd.c: Likewise.
15922         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
15923         "caseprop.h".
15924         * lib/unicase/u8-ct-totitle.c: Likewise.
15925         * lib/unicase/u8-prefix-context.c: Likewise.
15926         * lib/unicase/u8-suffix-context.c: Likewise.
15927         * lib/unicase/u16-casemap.c: Likewise.
15928         * lib/unicase/u16-ct-totitle.c: Likewise.
15929         * lib/unicase/u16-prefix-context.c: Likewise.
15930         * lib/unicase/u16-suffix-context.c: Likewise.
15931         * lib/unicase/u32-casemap.c: Likewise.
15932         * lib/unicase/u32-ct-totitle.c: Likewise.
15933         * lib/unicase/u32-prefix-context.c: Likewise.
15934         * lib/unicase/u32-suffix-context.c: Likewise.
15935         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
15936         "unicasemap.h".
15937         * lib/unicase/u8-toupper.c: Likewise.
15938         * lib/unicase/u8-ct-tolower.c: Likewise.
15939         * lib/unicase/u8-ct-toupper.c: Likewise.
15940         * lib/unicase/u16-tolower.c: Likewise.
15941         * lib/unicase/u16-toupper.c: Likewise.
15942         * lib/unicase/u16-ct-tolower.c: Likewise.
15943         * lib/unicase/u16-ct-toupper.c: Likewise.
15944         * lib/unicase/u32-tolower.c: Likewise.
15945         * lib/unicase/u32-toupper.c: Likewise.
15946         * lib/unicase/u32-ct-tolower.c: Likewise.
15947         * lib/unicase/u32-ct-toupper.c: Likewise.
15948         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
15949         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
15950         * lib/unicase/u16-ct-casefold.c: Likewise.
15951         * lib/unicase/u32-ct-casefold.c: Likewise.
15953 2019-01-27  Bruno Haible  <bruno@clisp.org>
15955         gperf: Fix error when this module is required by some test module.
15956         * modules/gperf (Applicability): Set to 'all'.
15958 2019-01-27  Bruno Haible  <bruno@clisp.org>
15960         tmpfile: Add support for Android.
15961         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
15962         works.
15963         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
15964         Android.
15965         * modules/tmpfile (Depends-on): Add 'stdbool'.
15966         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
15967         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
15969 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
15971         bitsetv: allow free on NULL.
15972         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
15974 2019-01-27  Bruno Haible  <bruno@clisp.org>
15976         test-framework-sh: Improve maintainability.
15977         * tests/init.sh: Clarify what belongs together. Reorder definitions.
15979 2019-01-27  Bruno Haible  <bruno@clisp.org>
15981         tests: Don't assume that /tmp exists.
15982         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
15983         * tests/test-copy-acl-1.sh: Likewise.
15984         * tests/test-file-has-acl-1.sh: Likewise.
15985         * tests/test-copy-file-1.sh: Likewise.
15987 2019-01-27  Bruno Haible  <bruno@clisp.org>
15989         tests: Accommodate a shell that is not in /bin/sh.
15990         * tests/init.sh (setup_): Set srcdir and builddir.
15991         (BOURNE_SHELL): New variable.
15992         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
15993         * modules/file-has-acl-tests (Depends-on): Likewise.
15994         * modules/copy-file-tests (Depends-on): Likewise.
15995         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
15996         scripts through $BOURNE_SHELL.
15997         * tests/test-set-mode-acl-2.sh: Likewise.
15998         * tests/test-copy-acl-1.sh: Likewise.
15999         * tests/test-copy-acl-2.sh: Likewise.
16000         * tests/test-file-has-acl-1.sh: Likewise.
16001         * tests/test-file-has-acl-2.sh: Likewise.
16002         * tests/test-copy-file-1.sh: Likewise.
16003         * tests/test-copy-file-2.sh: Likewise.
16004         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
16005         invoker.
16006         * tests/test-copy-acl.sh (builddir): Likewise.
16007         * tests/test-file-has-acl.sh (builddir): Likewise.
16008         * tests/test-copy-file.sh (builddir): Likewise.
16009         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
16010         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
16011         * tests/test-vc-list-files-git.sh: Likewise.
16013 2019-01-27  Bruno Haible  <bruno@clisp.org>
16015         tests: Fix some "unused variable" warnings.
16016         * tests/test-fts.c (fts_dealloc): Remove unused variable.
16017         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
16018         * tests/test-striconveh.c (main): Move some variable into the
16019         '#if HAVE_ICONV'.
16020         * tests/test-striconveha.c (main): Likewise.
16021         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
16022         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16023         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16024         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
16025         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
16026         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
16027         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16028         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16029         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16030         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
16031         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
16032         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
16033         * tests/test-tsearch.c (main): Move some variable into the
16034         '#if HAVE_INITSTATE'.
16036 2019-01-27  Bruno Haible  <bruno@clisp.org>
16038         unigbrk/uc-grapheme-breaks: Fix build failure.
16039         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
16040         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
16042 2019-01-27  Bruno Haible  <bruno@clisp.org>
16044         mountlist: Merge two .m4 files.
16045         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
16046         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
16047         * m4/ls-mntd-fs.m4: Remove file.
16048         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
16050 2019-01-27  Bruno Haible  <bruno@clisp.org>
16052         tests: Enable Linux specific tests on Android.
16053         * tests/test-flock.c (main): Treat Android like Linux.
16054         * tests/test-openat-safer.c (main): Likewise.
16056 2019-01-27  Bruno Haible  <bruno@clisp.org>
16058         relocatable-prog: Use Linux code on Android.
16059         * lib/progreloc.c: Treat Android like Linux.
16061 2019-01-26  Bruno Haible  <bruno@clisp.org>
16063         getloadavg: Add support for Android.
16064         * lib/getloadavg.c: Treat Android like Linux.
16066 2019-01-26  Bruno Haible  <bruno@clisp.org>
16068         vma-iter: Add support for Android.
16069         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
16070         * lib/vma-iter.c: Treat Android like Linux.
16071         * lib/get-rusage-data.c (get_rusage_data): Likewise.
16073 2019-01-26  Bruno Haible  <bruno@clisp.org>
16075         fts: Optimize on Android.
16076         * lib/fts.c: Treat Android like Linux.
16078 2019-01-26  Bruno Haible  <bruno@clisp.org>
16080         fts: Add support for Android.
16081         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
16082         defined by this module and the ones in libc.
16083         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
16085 2019-01-26  Bruno Haible  <bruno@clisp.org>
16087         mountlist: Use Linux code on Android.
16088         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
16089         (unescape_tab, read_file_system_list): Enable Linux code on Android
16090         as well.
16091         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
16092         and endmntent.
16093         * modules/mountlist (Depends-on): Add 'getline'.
16095 2019-01-26  Bruno Haible  <bruno@clisp.org>
16097         localename tests: Fix test failure on Android.
16098         * modules/localename-tests (Depends-on): Add 'setlocale'.
16100 2019-01-26  Bruno Haible  <bruno@clisp.org>
16102         mountlist: Port better to Android.
16103         * lib/mountlist.c (MOUNTED): Redefine on Android.
16104         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
16105         Android.
16107 2019-01-26  Bruno Haible  <bruno@clisp.org>
16109         striconveh: Fix use of uninitialized iconv_t.
16110         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
16111         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
16112         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
16114 2019-01-26  Bruno Haible  <bruno@clisp.org>
16116         nonblocking-socket-tests: Fix test failure on Android 4.3.
16117         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
16118         also on Android.
16120 2019-01-26  Bruno Haible  <bruno@clisp.org>
16122         sh-filename: Add support for Android 4.3.
16123         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
16125 2019-01-26  Bruno Haible  <bruno@clisp.org>
16127         ptsname_r: Work around bug on Android 4.3.
16128         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
16129         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
16130         correct.
16131         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
16132         is defined, just fix the return value.
16133         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
16134         The behaviour of musl libc is nothing to be "fixed", since it is
16135         compliant with the next POSIX standard.
16137 2019-01-26  Bruno Haible  <bruno@clisp.org>
16139         ttyname_r: Work around bug on Android 4.3.
16140         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
16141         * lib/ttyname_r.c (ttyname_r): Implement for Android.
16142         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
16143         * doc/posix-functions/ttyname.texi: Likewise.
16145 2019-01-25  Bruno Haible  <bruno@clisp.org>
16147         getprogname: Port to Android 4.3.
16148         * lib/getprogname.c (getprogname): On Android, take only the last
16149         component of __progname.
16151 2019-01-25  Bruno Haible  <bruno@clisp.org>
16153         wcrtomb: Work around bug on Android 4.3.
16154         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
16155         the C locale.
16156         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
16157         which does not have the 'wctomb' function.
16158         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
16159         * tests/test-wcrtomb.c (main): Accept argument '5'.
16160         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
16162 2019-01-25  Bruno Haible  <bruno@clisp.org>
16164         setlocale: Work around bug on Android 4.3.
16165         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
16166         the "C" locale.
16167         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
16168         * doc/posix-functions/setlocale.texi: Mention the Android bug.
16170 2019-01-24  Bruno Haible  <bruno@clisp.org>
16172         memchr: Work around bug on Android <= 5.0.
16173         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
16174         * doc/posix-functions/memchr.texi: Mention the Android bug.
16176 2019-01-24  Bruno Haible  <bruno@clisp.org>
16178         random: Fix compilation error on Android 4.3.
16179         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
16180         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
16181         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
16182         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
16183         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16184         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
16185         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16186         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
16187         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
16188         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
16189         REPLACE_INITSTATE, REPLACE_SETSTATE.
16190         * doc/posix-functions/random.texi: Correct the description of the
16191         situation on Android.
16192         * doc/posix-functions/srandom.texi: Likewise.
16193         * doc/posix-functions/rand.texi: Likewise.
16194         * doc/posix-functions/srand.texi: Likewise.
16196 2019-01-24  Bruno Haible  <bruno@clisp.org>
16198         mbtowc: Fix compilation error on Android 4.3.
16199         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
16200         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
16201         HAVE_MBTOWC.
16202         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
16203         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
16204         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
16205         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
16206         * doc/posix-functions/mbtowc.texi: Mention the change.
16208 2019-01-24  Bruno Haible  <bruno@clisp.org>
16210         fdatasync: Fix compilation error on Android 4.3.
16211         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
16212         test whether fdatasync() exists.
16214 2019-01-24  Bruno Haible  <bruno@clisp.org>
16216         unlinkat: Fix compilation error on Android 4.3.
16217         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
16218         also on Android.
16219         * doc/posix-functions/unlinkat.texi: Mention the issue.
16221 2019-01-24  Bruno Haible  <bruno@clisp.org>
16223         renameat: Fix compilation error on Android 4.3.
16224         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
16225         * doc/posix-functions/renameat.texi: Mention the issue.
16227 2019-01-24  Bruno Haible  <bruno@clisp.org>
16229         fchownat: Fix compilation error on Android 4.3.
16230         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
16231         use.
16232         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
16233         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
16234         * doc/posix-functions/fchownat.texi: Mention the issue.
16236 2019-01-23  Bruno Haible  <bruno@clisp.org>
16238         gnulib-tool: Support running testdirs on Android.
16239         * build-aux/test-driver.diff: New file.
16240         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
16241         build-aux/test-driver after running automake.
16243 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16245         relocatable-prog: avoid warnings from Automake
16246         * modules/relocatable-prog: Don't declare PHONY dependencies in
16247         Automake conditionals.
16249 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
16251         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
16252         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
16254 2019-01-23  Bruno Haible  <bruno@clisp.org>
16256         threadlib: Revert commit from 2018-06-25. We now have a better fix.
16257         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
16258         preceding -Wl,--as-needed option. Don't check whether the linker
16259         supports --as-needed/--no-as-needed and --push-state/--pop-state.
16261 2019-01-23  Bruno Haible  <bruno@clisp.org>
16263         thread: Force linking with -lpthread, even when --as-needed is in use.
16264         Reported by Richard W.M. Jones <rjones@redhat.com> in
16265         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
16266         * lib/glthread/thread.h (pthread_create): Don't declare weak.
16268 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
16269             Bruno Haible  <bruno@clisp.org>
16271         relocatable: avoid compiler warnings (-Wshadow)
16272         * lib/relocatable.c (compute_curr_prefix): Rename local variables
16273         to avoid name collisions with global variables.
16275 2019-01-22  Bruno Haible  <bruno@clisp.org>
16277         vasnprintf: Don't use %n on Android.
16278         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
16279         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
16280         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
16282 2019-01-22  Bruno Haible  <bruno@clisp.org>
16284         *printf: Support cross-compilation to Android.
16285         * m4/printf.m4: Add cross-compilation guesses for Android.
16287 2019-01-21  Bruno Haible  <bruno@clisp.org>
16289         diacrit: Mark deprecated.
16290         * modules/diacrit (Status, Notice): Mark as deprecated.
16291         * NEWS: Mention it.
16293 2019-01-20  Bruno Haible  <bruno@clisp.org>
16295         rintl: Override broken implementation on NetBSD.
16296         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
16297         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
16298         REPLACE_RINTL.
16299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
16300         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
16301         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
16302         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
16304 2019-01-20  Bruno Haible  <bruno@clisp.org>
16306         log10l: Work around inaccurate implementation on NetBSD.
16307         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
16308         * lib/log10l.c: Comment out too simplistic override.
16309         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
16311 2019-01-20  Bruno Haible  <bruno@clisp.org>
16313         logl: Work around inaccurate implementation on NetBSD.
16314         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
16315         * lib/logl.c: Comment out unused code.
16316         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
16318 2019-01-20  Bruno Haible  <bruno@clisp.org>
16320         expm1l: Work around inaccurate implementation on NetBSD.
16321         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
16322         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
16323         REPLACE_EXPM1L.
16324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
16325         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
16326         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
16327         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
16329 2019-01-20  Bruno Haible  <bruno@clisp.org>
16331         expl: Work around inaccurate implementation on NetBSD.
16332         * lib/math.in.h (expl): Test also REPLACE_EXPL.
16333         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
16334         REPLACE_EXPL.
16335         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
16336         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
16337         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
16338         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
16340 2019-01-20  Bruno Haible  <bruno@clisp.org>
16342         exp2l: Work around inaccurate implementation on NetBSD.
16343         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
16344         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
16346 2019-01-20  Bruno Haible  <bruno@clisp.org>
16348         floor, floorl: Avoid autoconf warnings.
16349         * modules/floor (configure.ac): Use AC_REQUIRE.
16350         * modules/floorl (configure.ac): Likewise.
16352 2019-01-20  Bruno Haible  <bruno@clisp.org>
16354         Defeat current GCC optimizations in math autoconf tests.
16355         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
16356         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16357         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16358         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16359         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16360         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16361         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16362         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16363         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16364         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16365         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16366         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16367         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
16368         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
16369         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16370         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16371         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
16372         * m4/log.m4 (gl_FUNC_LOG): Likewise.
16373         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
16374         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
16375         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
16376         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16377         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
16378         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16379         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
16380         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
16381         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16382         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16383         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16384         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16385         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
16386         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
16387         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16388         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16389         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16390         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16391         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16392         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16394 2019-01-19  Pádraig Brady  <P@draigBrady.com>
16396         gettext: support disabling use of VLAs
16397         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
16399 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16401         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
16402         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
16404 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
16406         fcntl: Fix syntax error (regression from 2018-10-05).
16407         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
16409 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16411         relocatable: improve documentation.
16412         * doc/relocatable-maint.texi (Supporting Relocation): For
16413         substitutions performed by config.status, we need more variables
16414         (for instance datarootdir defaults to '${prefix}/share' so we need
16415         prefix).
16417 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
16419         backup: update dependencies
16420         * modules/backup-rename (Depends-on): It now depends on opendirat
16421         instead of opendir.  It also uses stdint, and xalloc-oversized.
16422         But no longer dirfd.
16423         * modules/backupfile (Depends-on): Add xalloc-oversized.
16425 2019-01-13  Bruno Haible  <bruno@clisp.org>
16427         getcwd: Fix test failure when building on a Linux 9p file system.
16428         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
16429         EINVAL from mkdir like ENAMETOOLONG.
16430         * tests/test-getcwd.c (test_long_name): Likewise.
16432 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
16434         Fix typos found by codespell.
16435         * lib/*.[hc]: Fix typos in comments.
16436         * pygnulib/*.py: Fix typos in error messages and comments.
16438 2019-01-12  Bruno Haible  <bruno@clisp.org>
16440         doc: Fix documentation about container data types.
16441         Reported by Werner Lemberg <wl@gnu.org>.
16442         * doc/containers.texi (Container data types): Fix typo.
16444 2019-01-10  Bruno Haible  <bruno@clisp.org>
16446         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
16447         Reported by Reuben Thomas <rrt@sc3d.org>.
16448         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
16450 2019-01-06  Bruno Haible  <bruno@clisp.org>
16452         maintainer-makefile: Make the configure.ac section optional.
16453         * top/maint.mk (GREP, SED): Define if not defined.
16455 2019-01-06  Bruno Haible  <bruno@clisp.org>
16457         localename: Assume setlocale function.
16458         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
16459         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
16461 2019-01-06  Bruno Haible  <bruno@clisp.org>
16463         doc: Add documentation about container data types.
16464         * doc/containers.texi: New file.
16465         * doc/gnulib.texi (Particular Modules): Include it.
16467 2019-01-06  Bruno Haible  <bruno@clisp.org>
16469         doc: Update documentation about 'progname' module.
16470         * doc/progname.texi: Rename from doc/error.texi. Change node name and
16471         title. Rewrite.
16472         * doc/gnulib.texi (Particular Modules): Update.
16474 2019-01-06  Bruno Haible  <bruno@clisp.org>
16476         doc: Document the xstdopen and *-safer modules.
16477         * doc/xstdopen.texi: New file.
16478         * doc/gnulib.texi (Particular Modules): Include it.
16480 2019-01-06  Bruno Haible  <bruno@clisp.org>
16482         xstdopen: Add tests.
16483         * tests/test-xstdopen.c: New file.
16484         * tests/test-xstdopen.sh: New file.
16485         * modules/xstdopen-tests: New file.
16487         xstdopen: New module.
16488         * lib/xstdopen.h: New file.
16489         * lib/xstdopen.c: New file.
16490         * modules/xstdopen: New file.
16492 2019-01-06  Bruno Haible  <bruno@clisp.org>
16494         stdopen: Fix compilation error with IRIX cc.
16495         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
16497 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
16499         xfreopen need not include stdio--.h
16500         * lib/xfreopen.c: Do not include stdio--.h.
16502         xfreopen need not depend on freopen-safer
16503         * modules/xfreopen (Depends-on):
16504         Depend on freopen, not freopen-safer.
16506         stdopen: modernize and simplify
16507         * lib/stdopen.c: Update copyright date
16508         Do not include sys/types.h; no longer needed these days.
16509         (stdopen): Use C99-style decl in loop.  Return int errno
16510         value, rather than just a bool.  Do not worry about fd mismatches,
16511         since the caller cares only if 0, 1, 2 are occupied.
16512         * lib/stdopen.h: No need to include <stdbool.h>.
16513         * m4/stdopen.m4: Remove.
16514         * modules/stdopen: New file.
16516         stdopen: copy from last use in coreutils
16517         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
16518         New files, taken from their last commit in coreutils
16519         2007-07-23T12:35:58Z!jim@meyering.net
16520         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
16522 2019-01-05  Bruno Haible  <bruno@clisp.org>
16524         argp: Don't pass an invalid argument to dgettext().
16525         Reported by He X <xw897002528@gmail.com>.
16526         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
16527         dgettext().
16529 2019-01-05  Bruno Haible  <bruno@clisp.org>
16531         argp: Don't pass an invalid argument to dgettext().
16532         Reported by He X <xw897002528@gmail.com>.
16533         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
16534         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
16535         dgettext().
16537 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
16539         stdioext: port to newer 32-bit Android
16540         Problem reported by Tom Yan in:
16541         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
16542         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
16543         (fp_) [__ANDROID__]: Use it.
16545 2019-01-04  Bruno Haible  <bruno@clisp.org>
16547         lock: Fix link error with --enable-threads=pth.
16548         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
16549         Mark as weak.
16551 2019-01-04  Bruno Haible  <bruno@clisp.org>
16553         Fix link errors in unit tests.
16554         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16555         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
16556         * modules/array-map-tests (Makefile.am): Link test-array_map against
16557         libintl.
16558         * modules/array-set-tests (Makefile.am): Link test-array_set against
16559         libintl.
16560         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
16561         libintl.
16562         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
16563         libintl.
16564         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
16565         against libintl.
16566         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
16567         against libintl.
16569 2019-01-04  Bruno Haible  <bruno@clisp.org>
16571         Fix incorrect 'Link' sections.
16572         * modules/regex (Link): Mention the link requirement of module 'lock'.
16573         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
16575 2019-01-04  Bruno Haible  <bruno@clisp.org>
16577         Fix some 'Link' sections.
16578         * modules/c-stack (Link): Add link directive from the 'gettext-h'
16579         dependency.
16580         * modules/getaddrinfo (Link): Likewise.
16582 2019-01-04  Bruno Haible  <bruno@clisp.org>
16584         Remove redundant 'Link' sections.
16585         * modules/canon-host (Link): Remove section.
16586         * modules/timevar (Link): Likewise.
16588 2019-01-04  Bruno Haible  <bruno@clisp.org>
16590         Remove incorrect 'Link' sections.
16591         * modules/acl (Link): Remove section. Use combined 'Link' sections from
16592         the dependencies instead.
16593         * modules/crypto/md5 (Link): Likewise.
16594         * modules/crypto/sha1 (Link): Likewise.
16595         * modules/crypto/sha256 (Link): Likewise.
16596         * modules/crypto/sha512 (Link): Likewise.
16597         * modules/faccessat (Link): Likewise.
16598         * modules/fdutimensat (Link): Likewise.
16599         * modules/iconv_open-utf (Link): Likewise.
16600         * modules/propername (Link): Likewise.
16601         * modules/qacl (Link): Likewise.
16602         * modules/unicodeio (Link): Likewise.
16603         * modules/utimecmp (Link): Likewise.
16604         * modules/utimensat (Link): Likewise.
16605         * modules/xstriconv (Link): Likewise.
16606         * modules/xstriconveh (Link): Likewise.
16608 2019-01-04  Bruno Haible  <bruno@clisp.org>
16610         gnulib-tool: New option --extract-recursive-link-directive.
16611         * gnulib-tool (func_usage): Document the new options
16612         --extract-recursive-dependencies, --extract-recursive-link-directive.
16613         (func_verify_module): Document output variables.
16614         (func_get_dependencies_recursively): New function.
16615         (func_get_link_directive_recursively): New function.
16616         Use them to implement the new options
16617         --extract-recursive-dependencies, --extract-recursive-link-directive.
16618         * doc/gnulib-tool.texi (Link-time requirements): New section.
16620 2019-01-04  Bruno Haible  <bruno@clisp.org>
16622         Clarify meaning of 'Link' section in module description.
16623         * doc/gnulib.texi (Module description): Clarify the meaning of the
16624         'Link' section versus the one of the dependencies.
16625         * NEWS: Mention the change.
16627 2019-01-04  Bruno Haible  <bruno@clisp.org>
16629         pselect: Fix module description.
16630         * modules/pselect (Link): Put one link option per line.
16632 2019-01-04  Bruno Haible  <bruno@clisp.org>
16634         cosl: Fix module description.
16635         * modules/cosl (Link): Fix typo.
16636         * modules/mathl (configure.ac): Likewise.
16638 2019-01-04  Bruno Haible  <bruno@clisp.org>
16640         c-xvasprintf: Fix module dependencies.
16641         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
16643 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
16645         bootstrap: die when some submodules are not initialized
16646         * build-aux/bootstrap: Make sure all submodules are initialized.
16648 2019-01-04  Bruno Haible  <bruno@clisp.org>
16650         bitsetv: Fix module dependencies.
16651         * lib/bitsetv.c: Include xalloc.h.
16652         * modules/bitsetv (Depends-on): Add 'xalloc'.
16654 2019-01-04  Bruno Haible  <bruno@clisp.org>
16656         xmemdup0: Remove redundant code.
16657         * lib/xmemdup0.h (xalloc_die): Remove declaration.
16659 2019-01-04  Bruno Haible  <bruno@clisp.org>
16661         backupfile: Fix module dependencies.
16662         * modules/backupfile (Depends-on): Add 'xalloc'.
16664 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16666         bitset, crypto/gc: fix conflicts with Solaris 11
16667         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
16668         avoid clash with Solaris 11 <sys/bitset.h>.
16669         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
16670         with Solaris 11 <xorg/gc.h>.
16672 2019-01-04  Bruno Haible  <bruno@clisp.org>
16674         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
16675         Reported by Andy Fiddaman <andy@omniosce.org>.
16676         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
16678 2019-01-03  Eric Blake  <eblake@redhat.com>
16680         maintainer-makefile: fix typo in previous patch
16681         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
16682         of Roman's work.
16684 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
16686         maintainer-makefile: prefer $(GREP) over grep
16687         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
16688         defined.
16689         * top/maint.mk: Use it everywhere.
16691         maintainer-makefile: split long argument lines
16692         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
16693         it would be too long for exec limits on BSD.
16695 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16697         mkfifo: bring back HAVE_MKFIFO macro
16698         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
16699         Problem reported by Andrew Janke in:
16700         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
16702 2018-12-21  Bruno Haible  <bruno@clisp.org>
16704         Assume Autoconf >= 2.63.
16705         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
16706         versions < 2.60.
16708 2018-12-21  Bruno Haible  <bruno@clisp.org>
16710         memcmp: Mention the clang bug.
16711         * tests/test-memcmp.c: Add comment about a known test failure.
16712         * doc/posix-functions/memcmp.texi: Mention the clang bug.
16714 2018-12-20  Jim Meyering  <meyering@fb.com>
16716         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
16717         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
16718           echo '123-x'|LC_ALL=C grep -E '.\bx'
16719         The goal is to revert the first, but reverting it requires to restore
16720         the function deleted in the second. I ran this to restore the deleted
16721         function:
16722           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
16723             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
16724             | patch -R -p1
16725         * lib/dfa.c (charclass_context): Restore deleted function.
16726         Reverting the primary commit removes this change:
16727         dfa: Simplify a building state
16728         * lib/dfa.c (build_state): Simplify a building state.
16730 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16732         version-etc: allow zero authors
16733         * lib/version-etc.c (version_etc_arn): If no authors are given,
16734         omit authorship info instead of dumping core.
16736 2018-12-19  Bruno Haible  <bruno@clisp.org>
16738         lchown tests: Be more permissive regarding errno values.
16739         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
16740         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
16741         alternative to ENOSYS.
16742         * modules/lchown-tests (Depends-on): Add 'errno'.
16743         * modules/fchownat-tests (Depends-on): Likewise.
16745 2018-12-18  Bruno Haible  <bruno@clisp.org>
16747         duplocale: Avoid test failure on AIX 7.
16748         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
16749         (configure.ac): Invoke gt_FUNC_USELOCALE.
16750         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
16751         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
16752         works.
16754 2018-12-18  Bruno Haible  <bruno@clisp.org>
16756         localename: Fix test failure on AIX 7.
16757         Reported by Assaf Gordon in
16758         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
16759         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
16760         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
16761         instead of ac_cv_func_uselocale.
16762         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
16763         HAVE_USELOCALE.
16764         * lib/localename-table.h: Likewise.
16765         * lib/localename-table.c: Likewise.
16766         * tests/test-localename.c: Likewise.
16767         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
16769 2018-12-18  Bruno Haible  <bruno@clisp.org>
16771         localename: Update comments regarding Cygwin.
16772         * lib/localename.c: Update comment.
16773         * doc/posix-functions/uselocale.texi: Update platforms list.
16774         * doc/posix-functions/newlocale.texi: Likewise.
16775         * doc/posix-functions/duplocale.texi: Likewise.
16776         * doc/posix-functions/freelocale.texi: Likewise.
16778 2018-12-16  Bruno Haible  <bruno@clisp.org>
16780         c-stack: Fix for Linux/sparc.
16781         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
16782         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
16784 2018-12-16  Bruno Haible  <bruno@clisp.org>
16786         localename: Avoid test failure on some glibc systems.
16787         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
16788         Unset environment variables that might disturb the first setlocale call,
16789         and verify that this setlocale call succeeds.
16791 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
16793         random: Fix build error on native Windows (regression from 2018-06-21).
16794         * lib/random.c (__srandom, __initstate, __setstate, __random,
16795         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
16796         to the symbols without '__' prefix.
16798 2018-12-16  Bruno Haible  <bruno@clisp.org>
16800         obstack, libc-config: Support HP-UX cc in C99 mode.
16801         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
16802         compiler, even when in C99 mode.
16803         * lib/cdefs.h (__flexarr): Likewise.
16804         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
16806 2018-12-16  Bruno Haible  <bruno@clisp.org>
16808         localename: Fix test failure on OpenBSD >= 6.2.
16809         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
16810         locale system. Define HAVE_FAKE_LOCALES in this case.
16811         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
16812         HAVE_USELOCALE.
16813         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
16814         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
16815         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
16816         platforms list.
16817         * doc/posix-functions/newlocale.texi: Likewise.
16818         * doc/posix-functions/duplocale.texi: Update platforms list.
16819         * doc/posix-functions/freelocale.texi: Likewise.
16821 2018-12-16  Bruno Haible  <bruno@clisp.org>
16823         duplocale tests: Re-enable the test on platforms without <monetary.h>.
16824         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
16825         of the test, on platforms without <monetary.h>.
16827 2018-12-16  Bruno Haible  <bruno@clisp.org>
16829         localename: Update comments.
16830         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
16832 2018-12-15  Jim Meyering  <meyering@fb.com>
16834         regex: fix indentation
16835         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
16837 2018-12-15  Bruno Haible  <bruno@clisp.org>
16839         openat-safer tests: Avoid test failure on NetBSD 8.
16840         * tests/test-openat-safer.c (main): Execute a Linux specific test only
16841         on Linux.
16843 2018-12-15  Jim Meyering  <meyering@fb.com>
16845         regex: work around a bug in glibc-2.27 and prior
16846         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
16847         assertion for /0|()0|\1|0/.
16848         * tests/test-regex.c (main): Add the same test here.
16850 2018-12-15  Bruno Haible  <bruno@clisp.org>
16852         localename: Fix use of uninitialized shell variable.
16853         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
16854         gt_cv_locale_solaris114 always before use. Remove assignment without
16855         effect.
16857 2018-12-15  Bruno Haible  <bruno@clisp.org>
16859         dfa tests: Avoid test failure on Alpine Linux.
16860         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
16861         command found on Alpine Linux.
16863 2018-12-15  Jim Meyering  <meyering@fb.com>
16865         dfa: avoid new warnings from gcc
16866         These would prevent building with -Werror and a Dec snapshot of gcc.
16867         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
16868         Rename each inner instance to "p".
16869         (charclass_context): Remove unused static function.
16871 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
16873         mkdir-p: improve diagnostic for FUSE mounts
16874         Problem reported by Niklas Hambüchen in:
16875         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
16876         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
16877         errno to mkdir errno if the stat errno is likely more interesting.
16879 2018-12-14  Bruno Haible  <bruno@clisp.org>
16881         hash-map: Add tests.
16882         * tests/test-hash_map.c: New file.
16883         * modules/hash-map-tests: New file.
16885         linkedhash-map: Add tests.
16886         * tests/test-linkedhash_map.c: New file.
16887         * modules/linkedhash-map-tests: New file.
16889         array-map: Add tests.
16890         * tests/test-array_map.c: New file.
16891         * modules/array-map-tests: New file.
16893         xmap: New module.
16894         * lib/gl_xmap.h: New file.
16895         * lib/gl_xmap.c: New file.
16896         * modules/xmap: New file.
16898         hash-map: New module.
16899         * lib/gl_hash_map.h: New file.
16900         * lib/gl_hash_map.c: New file.
16901         * modules/hash-map: New file.
16903         linkedhash-map: New module.
16904         * lib/gl_linkedhash_map.h: New file.
16905         * lib/gl_linkedhash_map.c: New file.
16906         * lib/gl_anyhash1.h: Update comments.
16907         * lib/gl_anyhash2.h: Likewise.
16908         * modules/linkedhash-map: New file.
16910         array-map: New module.
16911         * lib/gl_array_map.h: New file.
16912         * lib/gl_array_map.c: New file.
16913         * modules/array-map: New file.
16915         map: New module.
16916         * lib/gl_map.h: New file.
16917         * lib/gl_map.c: New file.
16918         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
16919         conflict with gl_map.h.
16920         * modules/map: New file.
16922 2018-12-13  Bruno Haible  <bruno@clisp.org>
16924         select tests: Avoid test failure on Cygwin.
16925         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
16927 2018-12-13  Bruno Haible  <bruno@clisp.org>
16929         localtime-buffer: Avoid endless recursion in localtime and gmtime.
16930         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
16932 2018-12-13  Bruno Haible  <bruno@clisp.org>
16934         localeconv tests: Avoid test failure on Cygwin.
16935         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
16936         'mon_grouping' tests.
16938 2018-12-11  Bruno Haible  <bruno@clisp.org>
16940         omap: Don't dispose the old value when the function returns it.
16941         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
16942         here.
16943         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16944         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16945         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
16946         here.
16948         array-omap, avltree-omap, rbtree-omap: Tweak style.
16949         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
16950         false.
16951         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
16953         rbtree-omap: Add tests.
16954         * tests/test-rbtree_omap.c: New file.
16955         * modules/rbtree-omap-tests: New file.
16957         avltree-omap: Add tests.
16958         * tests/test-avltree_omap.c: New file.
16959         * modules/avltree-omap-tests: New file.
16961         array-omap: Add tests.
16962         * tests/test-array_omap.c: New file.
16963         * modules/array-omap-tests: New file.
16965         xomap: New module.
16966         * lib/gl_xomap.h: New file.
16967         * lib/gl_xomap.c: New file.
16968         * modules/xomap: New file.
16970         rbtree-omap: New module.
16971         * lib/gl_rbtree_omap.h: New file.
16972         * lib/gl_rbtree_omap.c: New file.
16973         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
16974         Parameterize.
16975         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
16976         * modules/rbtree-omap: New file.
16977         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
16978         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
16980         avltree-omap: New module.
16981         * lib/gl_avltree_omap.h: New file.
16982         * lib/gl_avltree_omap.c: New file.
16983         * lib/gl_avltree_ordered.h: Code moved to here from
16984         lib/gl_avltree_oset.c. Parameterize.
16985         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
16986         * lib/gl_anytree_omap.h: New file.
16987         * modules/avltree-omap: New file.
16988         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
16989         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
16991         array-omap: New module.
16992         * lib/gl_array_omap.h: New file.
16993         * lib/gl_array_omap.c: New file.
16994         * modules/array-omap: New file.
16996         omap: New module.
16997         * lib/gl_omap.h: New file.
16998         * lib/gl_omap.c: New file.
16999         * modules/omap: New file.
17001 2018-12-11  Bruno Haible  <bruno@clisp.org>
17003         hash-set, linkedhash-set: Reduce code duplication.
17004         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
17005         lib/gl_anyhash_set1.h.
17006         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
17007         lib/gl_anyhash_set2.h. Parameterize.
17008         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
17009         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
17010         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
17011         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
17012         * lib/gl_rbtreehash_list.c: Likewise.
17013         * lib/gl_linkedhash_list.c: Likewise.
17014         (hash_resize_after_add): Remove function.
17015         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
17016         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
17017         * gl_hash_set.c: Likewise.
17018         * modules/avltreehash-list (Files, Makefile.am): Update file list.
17019         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
17020         * modules/linkedhash-list (Files, Makefile.am): Likewise.
17021         * modules/linkedhash-set (Files, Makefile.am): Likewise.
17022         * modules/hash-set (Files, Makefile.am): Likewise.
17024 2018-12-11  Bruno Haible  <bruno@clisp.org>
17026         array-set: Optimize.
17027         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
17028         outside the loop, not inside the loop.
17030 2018-12-11  Bruno Haible  <bruno@clisp.org>
17032         times: Fix tests.
17033         * tests/test-times.c (doublecmp): Implement a total order.
17035 2018-12-11  Bruno Haible  <bruno@clisp.org>
17037         array-set, linkedhash-set, hash-set: Fix tests.
17038         * tests/test-array_set.c (cmp_objects_in_array): New function.
17039         (check_equals): Use it.
17040         * tests/test-hash_set.c: Likewise.
17041         * tests/test-linkedhash_set.c: Likewise.
17043 2018-12-08  Bruno Haible  <bruno@clisp.org>
17045         Fix comments.
17046         * lib/gl_list.h (gl_list_free): Clarify what it does.
17047         * lib/gl_oset.h (gl_oset_free): Likewise.
17048         * lib/gl_set.h (gl_set_free): Likewise.
17049         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
17050         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
17051         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
17052         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
17054 2018-12-03  Bruno Haible  <bruno@clisp.org>
17056         hash-set: Add tests.
17057         * tests/test-hash_set.c: New file.
17058         * modules/hash-set-tests: New file.
17060         linkedhash-set: Add tests.
17061         * tests/test-linkedhash_set.c: New file.
17062         * modules/linkedhash-set-tests: New file.
17064         array-set: Add tests.
17065         * tests/test-array_set.c: New file.
17066         * modules/array-set-tests: New file.
17068         xset: New module.
17069         * lib/gl_xset.h: New file.
17070         * lib/gl_xset.c: New file.
17071         * modules/xset: New file.
17073         hash-set: New module.
17074         * lib/gl_hash_set.h: New file.
17075         * lib/gl_hash_set.c: New file.
17076         * modules/hash-set: New file.
17078         linkedhash-set: New module.
17079         * lib/gl_linkedhash_set.h: New file.
17080         * lib/gl_linkedhash_set.c: New file.
17081         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
17082         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
17083         * lib/gl_anyhash_primes.h: New file, extracted from
17084         lib/gl_anyhash_list2.h.
17085         * lib/gl_anyhash_list2.h: Include it.
17086         (primes, next_prime): Remove definitions.
17087         * modules/linkedhash-set: New file.
17088         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
17089         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17090         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
17091         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17092         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
17093         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
17095         array-set: New module.
17096         * lib/gl_array_set.h: New file.
17097         * lib/gl_array_set.c: New file.
17098         * modules/array-set: New file.
17100         set: New module.
17101         * lib/gl_set.h: New file.
17102         * lib/gl_set.c: New file.
17103         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
17104         gl_set.h.
17105         * modules/set: New file.
17107 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
17109         bison: don't force the Yacc mode
17110         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
17111         errors when Bison features are used in the grammar file.  Some of
17112         these features (such as %expect) were flagged non-yacc recently.  Most
17113         of the time, -y is actually used to please Automake's ylwrap which
17114         expects the output to be y.tab.c.
17115         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
17117 2018-12-01  Bruno Haible  <bruno@clisp.org>
17119         gnupload: Document short options.
17120         * build-aux/gnupload (usage): Document the short options.
17122 2018-11-28  Ben Elliston  <bje@gnu.org>
17124         gnupload: Support option -h as alias of --help.
17125         * build-aux/gnupload: Support -h.
17127 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
17129         memrchr: port better to clang
17130         * lib/memrchr.c (__memrchr): Cast to void * instead of to
17131         longword *, to pacify clang -Wcast-align (Bug#33544).
17133 2018-11-29  Eric Blake  <eblake@redhat.com>
17135         docs: mention printf %m considerations
17136         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
17137         is not portable, and is easy enough to work around.
17138         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
17139         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
17140         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
17141         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17142         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17143         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17144         * doc/posix-functions/printf.texi (printf): Likewise.
17145         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17146         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17147         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
17148         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17149         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17150         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17151         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17152         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17153         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17154         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
17155         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17156         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17158 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
17160         bitset: rename ebitset/expandable.* as tbitset/table.*
17161         See
17162         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
17163         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
17164         * lib/bitset/table.h, lib/bitset/table.c: these.
17165         Rename all the ebitset* symbols as tbitset*.
17166         Adjust dependencies.
17168 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17170         bitset: check the operations
17171         * tests/test-bitset.c (bitset_random): New.
17172         Use it.
17173         * lib/bitset/expandable.c (ebitset_not): Fix typo.
17175 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17177         bitset: properly use false/true instead of 0/1 for Booleans
17178         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
17179         0/1, as Booleans.
17181 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
17183         bitset: rename BITSET_VARRAY as BITSET_VECTOR
17184         For consistency with the name of the file.
17185         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
17186         * lib/bitset/stats.c, lib/bitset/vector.c
17187         (BITSET_VARRAY): Rename as...
17188         (BITSET_VECTOR): this.
17190 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17192         strerror_r-posix: memmove, not memcpy
17193         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
17194         since the source and destination might overlap in the call
17195         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
17196         Simplify.
17198 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17200         bitsetv: new module
17201         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
17203 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17205         bitset: add tests and doc
17206         First stabs at providing a documentation and test for the bitset
17207         module.
17208         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
17210 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
17212         bitset: new module
17213         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
17214         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
17215         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
17216         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
17217         * lib/bitset/vector.h, modules/bitset:
17218         New.
17220 2018-11-23  Bruno Haible  <bruno@clisp.org>
17222         localename: Fix gettext test failures on mingw.
17223         * lib/localename.c (gl_locale_name_posix): Convert the result of
17224         gl_locale_name_environ to XPG syntax.
17226 2018-11-23  Karl Berry  <karl@freefriends.org>
17228         * config/srclistvars.txt,
17229         * config/srclist.txt: remove all gettext references;
17230         the gettext maintainers will sync as needed.
17232 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17234         mktime: add libc-config dependency
17235         I missed this when we synced from glibc.
17236         * modules/mktime (Depends-on): Add libc-config.
17238 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17240         longlong: fix comment typo
17241         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
17243 2018-11-11  Bruno Haible  <bruno@clisp.org>
17245         havelib: Remove the need to include asm-underscore.m4.
17246         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
17247         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
17248         gl_HOST_CPU_C_ABI.
17249         * modules/havelib (Files): Add host-cpu-c-abi.m4.
17250         (Depends-on): Remove host-cpu-c-abi.
17252 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17254         parse-datetime: simplify test for mktime failure
17255         * lib/parse-datetime.y (mktime_ok): Simplify.
17256         Remove args TZ and T; no longer needed.  Callers changed.
17258         posixtm: simplify test for mktime failure
17259         * lib/posixtm.c (posixtime): Simplify.
17261         nstrftime: simplify test for mktime failure
17262         * lib/nstrftime.c (__strftime_internal): Simplify.
17264 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17266         gnulib-common.m4: port _Noreturn to C++
17267         Problem reported by Akim Demaille in:
17268         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
17269         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
17270         Merge adjustments from _Noreturn.h and from glibc into the non-C++
17271         version.
17272         * lib/_Noreturn.h: Match gnulib-common.
17274 2018-10-30  Bruno Haible  <bruno@clisp.org>
17276         gnu-make: Fix for NetBSD 8 'make'.
17277         Reported by Reuben Thomas in
17278         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
17279         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
17280         output, ignoring exit codes.
17282 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
17284         maintainer-makefile: fix syntax-check rule for "same.h"
17285         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
17286         for 'same_nameat', too.
17288 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
17290         havelib: fix nested ‘configure’ chatter
17291         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
17292         AC_CACHE_CHECK calls, which resulted in confusing output like
17293         “checking for the common suffixes of directories in the library
17294         search path... checking for 64-bit host... no lib,lib”.
17296         backupfile: tweak for better code
17297         * lib/backupfile.c: Sort include directives, and remove
17298         unnecessary <limits.h> include.
17299         (FALLTHROUGH): New macro, copied from other modules.
17300         (backupfile_internal): Use it to avoid code duplication.
17301         This lets GCC 8.2.1 generate better code by inlining the
17302         call to check_extension.
17304 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
17306         backupfile: new dir_fd args
17307         New module opendirat with code taken from fts.
17308         Use this module to let backupfile use a directory file descriptor.
17309         * NEWS: Document the incompatible change.
17310         * lib/backup-find.c (find_backup_file_name):
17311         * lib/backup-rename.c (backup_file_rename):
17312         New arg DIR_FD.
17313         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
17314         (SIZE_MAX): Remove.
17315         Include opendirat.h rather than dirent--.h.
17316         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
17317         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
17318         (backupfile_internal): New arg DIR_FD.  All callers changed.
17319         * lib/fts.c: Include opendirat.h.
17320         (opendirat): Move to opendirat.c.
17321         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
17322         * modules/backupfile (Depends-on): Remove dirfd, opendir.
17323         Add opendirat.
17324         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
17325         Add opendirat.
17327 2018-10-23  Bruno Haible  <bruno@clisp.org>
17329         localename: Simplify support for per-thread locales on Solaris 11.4.
17330         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
17331         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
17332         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
17333         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
17334         specific code.
17335         * lib/localename-table.h: Update comments.
17336         * lib/localename-table.c: Update comments.
17337         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
17338         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
17339         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
17340         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
17341         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
17342         HAVE_NAMELESS_LOCALES here.
17343         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
17344         m4/intlsolaris.m4.
17345         * modules/gettext (Files): Likewise.
17347 2018-10-22  Bruno Haible  <bruno@clisp.org>
17349         std-gnu11: Support Autoconf versions < 2.64.
17350         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
17351         when _AC_DO_LIMIT does not exist.
17353 2018-10-22  Bruno Haible  <bruno@clisp.org>
17355         Assume Autoconf >= 2.63.
17356         * DEPENDENCIES: Mention the requirement.
17358         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
17359         (func_get_filelist): Don't list m4/onceonly.m4 any more.
17360         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
17361         * m4/onceonly.m4: Remove file.
17363         * m4/openmp.m4: Remove file.
17364         * modules/openmp (Files): Remove m4/openmp.m4.
17366         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
17367         htmldir, dvidir, pdfdir, psdir, localedir.
17368         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
17370         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
17371         Autoconf < 2.60.
17372         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
17373         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
17375         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
17376         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
17377         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
17379         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
17380         exists.
17381         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
17383         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
17384         Autoconf < 2.61.
17386         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
17387         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
17388         Autoconf >= 2.52.
17390         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
17391         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
17392         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
17394 2018-10-22  Bruno Haible  <bruno@clisp.org>
17396         Assume Automake >= 1.11.
17397         * m4/configmake.m4: Update comments.
17398         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
17399         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
17400         of 'eval'.
17401         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
17402         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
17403         requires Automake >= 1.11.
17405 2018-10-22  Bruno Haible  <bruno@clisp.org>
17407         localename: Fix typo in comment.
17408         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
17410 2018-10-22  Bruno Haible  <bruno@clisp.org>
17412         Fix failure of 'gnulib-tool --create-testdir' with all modules.
17413         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
17415 2018-10-21  Bruno Haible  <bruno@clisp.org>
17417         locale: Ease integration with GNU libintl.
17418         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
17419         GNULIB_defined_freelocale): New macros.
17421 2018-10-21  Bruno Haible  <bruno@clisp.org>
17423         localename: Fine-tune support for per-thread locales on Solaris 11.4.
17424         * lib/localename-table.h: New file, extracted from lib/localename.c.
17425         * lib/localename-table.c: Likewise.
17426         * lib/localename.c: Include localename-table.h.
17427         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
17428         locale_hash_function instead of pointer_hash.
17429         * modules/localename (Files): Add lib/localename-table.h,
17430         lib/localename-table.c.
17431         (lib_SOURCES): Add localename-table.c.
17432         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
17433         for Solaris 11.4 locale system only on Solaris. Test for it
17434         independently whether getlocalename_l exists.
17435         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
17436         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
17437         HAVE_NAMELESS_LOCALES.
17438         * modules/gettext (Files): Add m4/intlsolaris.m4.
17440 2018-10-21  Bruno Haible  <bruno@clisp.org>
17442         Small update from gettext.
17443         * m4/intl.m4: Update from gettext:
17444         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
17445         mode on AIX.
17446         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
17447         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
17449 2018-10-16  Bruno Haible  <bruno@clisp.org>
17451         mountlist: Remove support for Cray with UNICOS 9.
17452         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17453         MOUNTED_LISTMNTENT.
17454         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
17456 2018-10-16  Bruno Haible  <bruno@clisp.org>
17458         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
17459         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
17460         STAT_STATFS2_FS_DATA.
17461         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
17462         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17463         MOUNTED_GETMNT.
17464         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
17465         * lib/getloadavg.c (decstation): Remove definition and case.
17466         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
17467         * lib/getgroups.c: Likewise.
17468         * doc/posix-functions/getgroups.texi: Likewise.
17469         * lib/time.in.h: Update comments.
17471 2018-10-16  Bruno Haible  <bruno@clisp.org>
17473         getloadavg: Remove support for ConvexOS.
17474         * lib/getloadavg.c: Remove convex case.
17476 2018-10-16  Bruno Haible  <bruno@clisp.org>
17478         getloadavg: Remove support for Sony NEWS.
17479         * lib/getloadavg.c: Remove sony_news case.
17481 2018-10-16  Bruno Haible  <bruno@clisp.org>
17483         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
17484         * lib/fsusage.c: Remove _SEQUENT_ case.
17485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17486         * lib/mountlist.c: Don't test for MNTTABNAME.
17487         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
17488         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
17489         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
17490         * lib/stat-size.h: Don't mention the Sequent bug.
17491         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
17493 2018-10-16  Bruno Haible  <bruno@clisp.org>
17495         fsusage: Remove support for AIX 3.
17496         * lib/fsusage.c: Remove code for AIX 3.
17497         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
17499 2018-10-16  Bruno Haible  <bruno@clisp.org>
17501         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
17502         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
17503         * lib/fsusage.c: Remove code for AIX PS/2.
17504         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
17505         * lib/getloadavg.c: Likewise.
17507 2018-10-16  Bruno Haible  <bruno@clisp.org>
17509         getloadavg: Remove support for HP-UX on m68k.
17510         * lib/getloadavg.c: Remove hp9000s300 case.
17512 2018-10-16  Bruno Haible  <bruno@clisp.org>
17514         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
17515         * lib/fsusage.c: Remove DOLPHIN case.
17516         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
17517         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
17519 2018-10-16  Bruno Haible  <bruno@clisp.org>
17521         getloadavg: Remove support for Alliant FX/2800.
17522         * lib/getloadavg.c: Remove alliant case.
17524 2018-10-16  Bruno Haible  <bruno@clisp.org>
17526         getloadavg: Remove support for tek4300.
17527         * lib/getloadavg.c: Remove tek4300 case.
17529 2018-10-16  Bruno Haible  <bruno@clisp.org>
17531         getloadavg: Remove support for Ardent.
17532         * lib/getloadavg.c: Remove ardent case.
17534 2018-10-16  Bruno Haible  <bruno@clisp.org>
17536         mountlist: Remove support for SVR2.
17537         Reported by Andrew Borodin <aborodin@vmail.ru> in
17538         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
17539         * lib/mountlist.c: Remove MOUNTED_FREAD case.
17540         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
17541         MOUNTED_FREAD.
17543 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
17545         libc-config: merge from glibc
17546         * lib/cdefs.h (__glibc_has_attribute): New macro.
17548         regex: depend on libc-config
17549         * modules/regex (Depends-on): Add libc-config.
17550         This is needed after the recent autoupdate from glibc.
17552 2018-10-14  Bruno Haible  <bruno@clisp.org>
17554         localename: Add support for per-thread locales on Solaris 11.4.
17555         * lib/locale.in.h (newlocale, freelocale): New declarations.
17556         (duplocale): Declare also when the 'localename' module requests it.
17557         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
17558         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
17559         (struniq): Update.
17560         (struct locale_categories_names, struct locale_hash_node): New types.
17561         (LOCALE_HASH_TABLE_SIZE): New constant.
17562         (locale_hash_table, locale_lock): New variables.
17563         (pointer_hash, get_locale_t_name): New functions.
17564         (newlocale, duplocale, freelocale): New overridden functions.
17565         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
17566         * m4/intlsolaris.m4: New file.
17567         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
17568         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
17569         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
17570         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
17571         declared.
17572         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
17573         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17574         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
17575         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17576         * modules/localename (Files): Add intlsolaris.m4.
17577         (Depends-on): Add 'locale'.
17578         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
17579         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
17580         the signatures.
17582 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
17584         timevar: use gethrxtime to get wall clock time
17585         clock_gettime is not portable.  gethrxtime takes the best available
17586         option to get the wall clock time, including clock_gettime (monotonic
17587         clock), and gettime (non monotonic).
17588         Also, using xtime_t instead of float preserves the precision.
17589         Suggested by Bruno Haible.
17590         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
17591         * modules/timevar (Depends-on): We need gethrxtime.
17592         We no longer use times().
17593         (Link): Update.
17594         * lib/timevar.h (timevar_time_def): Use xtime_t.
17595         * lib/timevar.c (set_to_current_time): Use gethrxtime.
17596         (timevar_print): Instead of checking whether the timings themselves
17597         are large enough for the timevar to be printed, check the percentages.
17599 2018-10-14  Bruno Haible  <bruno@clisp.org>
17601         wcsnrtombs: Work around Solaris 11.4 bug.
17602         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
17603         macro.
17604         (gl_FUNC_WCSNRTOMBS): Invoke it.
17605         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
17607 2018-10-14  Bruno Haible  <bruno@clisp.org>
17609         mbsnrtowcs: Work around Solaris 11.4 bug.
17610         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
17611         macro.
17612         (gl_FUNC_MBSNRTOWCS): Invoke it.
17613         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
17615 2018-10-14  Bruno Haible  <bruno@clisp.org>
17617         doc: Update for Solaris 11.4.
17618         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
17619         mention Solaris 11.4.
17620         * m4/printf.m4: Update comments about Solaris.
17621         * m4/log.m4: Likewise.
17622         * m4/log10.m4: Likewise.
17623         * m4/logb.m4: Likewise.
17624         * m4/logbf.m4: Likewise.
17625         * m4/logbl.m4: Likewise.
17626         * m4/rename.m4: Likewise.
17627         * m4/wcrtomb.m4: Likewise.
17628         * m4/hostent.m4: Likewise.
17629         * m4/servent.m4: Likewise.
17631 2018-10-14  Bruno Haible  <bruno@clisp.org>
17633         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
17634         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
17635         pointer.
17636         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
17637         pointer.
17638         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
17639         pointer.
17640         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
17641         pointer.
17642         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
17643         pointer.
17645 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17647         bootstrap: fix wget command for po files.
17648         * build-aux/bootstrap (po_download_command_format): Fix comment,
17649         and adjust callers.
17651 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17653         timevar: improve the output format
17654         Suggested by Bruno Haible.
17655         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
17656         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
17657         wall, since its resolution is much higher.
17659 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17661         timevar: expect that getrusage is available.
17662         Don't keep both times and getrusage as backend: both are guaranteed by
17663         gnulib, a single one suffices.  Using getrusage is open to possibly
17664         tracking other types of resources in the future.
17665         * modules/timevar (Depends-on): Add getrusage.
17666         (configure.ac): Remove gl_TIMEVAR.
17667         (Files): Remove m4/timevar.m4.
17668         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
17669         * lib/timevar.h (timevar_enabled): Clarify documentation.
17670         * lib/timevar.c: Remove all the code about times.
17671         Remove all the CPP guards about getrusage: expect it to be present
17672         (courtesy of gnulib).
17674 2018-10-12  Bruno Haible  <bruno@clisp.org>
17676         mountlist: Improve support for Solaris in 64-bit mode.
17677         Reported by David Wood <David.Wood@deshaw.com> in
17678         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
17679         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
17680         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
17681         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
17683 2018-10-12  Bruno Haible  <bruno@clisp.org>
17685         mountlist: Add support for Minix.
17686         Reported by Assaf Gordon in
17687         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
17688         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
17689         AC_CHECK_FUNCS to check for 'getmntinfo'.
17690         * lib/mountlist.c: Update comments.
17692 2018-10-12  Bruno Haible  <bruno@clisp.org>
17694         Make better use of Autoconf.
17695         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
17696         * m4/manywarnings.m4: Likewise.
17697         * m4/manywarnings-c++.m4: Likewise.
17698         * m4/socklen.m4: Likewise.
17699         * m4/sockpfaf.m4: Likewise.
17700         * m4/stdarg.m4: Likewise.
17701         * m4/visibility.m4: Likewise.
17702         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
17703         indentation.
17704         * m4/ls-mntd-fs.m4: Likewise.
17706 2018-10-11  Bruno Haible  <bruno@clisp.org>
17708         mountlist: Modernize platform lists.
17709         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
17710         platforms, deemphasizing the obsolete ones.
17711         * lib/mountlist.c: Likewise.
17713 2018-10-11  Bruno Haible  <bruno@clisp.org>
17715         getprogname: Add support for 32-bit programs on HP-UX.
17716         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
17717         try the similar functions 32-bit programs on 64-bit HP-UX.
17719 2018-10-11  Bruno Haible  <bruno@clisp.org>
17721         getprogname: Work around program name truncation when possible.
17722         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
17723         possibly use pst_cmd instead.
17725 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17727         fts: cleanup after FTS_NOATIME removal
17728         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
17729         (FTS_STOP): Shrink to minimal values.  We don’t need to
17730         worry about binary compatibility in Gnulib, and the old way
17731         of doing things had a hole in the user options that caused
17732         FTS_OPTIONMASK to not work as desired.
17734 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
17736         fts: remove FTS_NOATIME
17737         This reverts commit da4d6974013c822af1498941e32db774b2031765.
17738         We cannot guarantee that O_NOATIME works: e.g. openat fails
17739         with EPERM if the effective user ID of the caller does not match
17740         the owner of the file and the caller is not privileged.
17741         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
17742         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
17743         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
17744         (FTS_OPTIONMASK): Adjust.
17745         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
17746         (fd_ring_check): Likewise.
17748 2018-10-08  Bruno Haible  <bruno@clisp.org>
17750         csharpcomp*, csharpexec*: Remove support for pnet.
17751         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
17752         HAVE_CSCC.
17753         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
17754         Don't test HAVE_CSCC.
17755         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
17756         (compile_csharp_class): Don't invoke it.
17757         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
17758         HAVE_ILRUN.
17759         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
17760         Don't test HAVE_ILRUN.
17761         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
17762         (execute_csharp_program): Don't invoke it.
17763         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
17764         any more.
17766 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
17768         renameatu: prefer renameat2 to syscall
17769         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
17770         Use renameat2 instead of syscall (Bug#32796).
17771         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
17773 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17775         bootstrap, gnulib-tool: use https instead of insecure rsync
17776         * build-aux/bootstrap (download_po_files, po_download_command_format):
17777         Don't try using rsync; always use wget over https to fetch PO files.
17778         * gnulib-tool (func_import): Likewise.
17779         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17781 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17783         bootstrap, gnulib-tool: correct the translations wget command
17784         * build-aux/bootstrap (po_download_command_format2): Restrict
17785         recursion to a single level.
17786         * gnulib-tool (func_import): Likewise.
17787         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17789 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17791         doc: the gnulib snapshots are not maintained
17792         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
17794 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17796         timevar: add to lib_SOURCES
17797         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
17799 2018-10-07  Bruno Haible  <bruno@clisp.org>
17801         dirent: Update documentation.
17802         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
17804 2018-10-05  Bruno Haible  <bruno@clisp.org>
17806         strpbrk: Make it possible to namespace the defined symbol.
17807         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
17809 2018-10-05  Bruno Haible  <bruno@clisp.org>
17811         strcspn: Make it possible to namespace the defined symbol.
17812         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
17814 2018-10-05  Bruno Haible  <bruno@clisp.org>
17816         raise: Make it possible to namespace the defined symbol.
17817         * lib/raise.c (raise): Undefine only after the replacement function has
17818         been defined.
17819         (raise): Renamed from rpl_raise.
17820         (raise_nothrow): Move to the end of the compilation unit.
17822 2018-10-05  Bruno Haible  <bruno@clisp.org>
17824         memcmp: Make it possible to namespace the defined symbol.
17825         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
17827 2018-10-05  Bruno Haible  <bruno@clisp.org>
17829         explicit_bzero: Make it possible to namespace the defined symbol.
17830         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
17831         glibc.
17833 2018-10-05  Bruno Haible  <bruno@clisp.org>
17835         mkdir-p: Depend on 'mkdir'.
17836         * modules/mkdir-p (Depends-on): Add 'mkdir'.
17838 2018-10-05  Bruno Haible  <bruno@clisp.org>
17840         tempname: Depend on 'mkdir'.
17841         Reported by Maarten Bosmans <mkbosmans@gmail.com>
17842         at <https://savannah.gnu.org/bugs/?33379>.
17843         * modules/tempname (Depends-on): Add 'mkdir'.
17845 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
17847         timevar: rely on gnulib modules for time portability.
17848         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
17849         * m4/timevar.m4: Don't check for clock_t and struct tms,
17850         guaranteed by gnulib.
17851         * lib/timevar.h: Use extern "C" protection.
17852         Include <stdio.h> for FILE.
17853         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
17854         they are guaranteed by gnulib.
17855         Remove uses of clock as (now useless) fallback.
17857 2018-10-04  Bruno Haible  <bruno@clisp.org>
17859         sh-filename: New module.
17860         * m4/sh-filename.m4: New file.
17861         * modules/sh-filename: New file.
17862         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
17863         "/bin/sh".
17864         * tests/test-posix_spawn1.c (main): Likewise.
17865         * tests/test-posix_spawn2.c (main): Likewise.
17866         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
17867         is_envjavac_gcj43): Likewise.
17868         * lib/javaexec.c (execute_java_class): Likewise.
17869         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
17870         * modules/posix_spawnp-tests (Depends-on): Likewise.
17871         * modules/javacomp (Depends-on): Likewise.
17872         * modules/javaexec (Depends-on): Likewise.
17874 2018-10-04  Bruno Haible  <bruno@clisp.org>
17876         spawn-pipe tests: Avoid test failure on native Windows.
17877         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
17878         that fd 2 is closed.
17880 2018-10-04  Bruno Haible  <bruno@clisp.org>
17882         fcntl: Make it possible to namespace the defined symbol.
17883         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
17884         been defined.
17885         (fcntl): Renamed from rpl_fcntl.
17886         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
17887         from fcntl.
17888         (klibc_fcntl): Move to the end of the compilation unit.
17890 2018-10-02  Bruno Haible  <bruno@clisp.org>
17892         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
17893         * tests/test-vasnprintf.c (test_function): Change the test added on
17894         2018-09-23 to check only the 18 most significant digits.
17896         vasnprintf tests: Avoid test failure on Cygwin.
17897         * tests/test-vasnprintf.c (test_function): Change the test added on
17898         2018-09-23 to check only the 42 most significant digits.
17900 2018-10-01  Bruno Haible  <bruno@clisp.org>
17902         mkostemp, mkostemps: Update documentation.
17903         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
17904         * doc/glibc-functions/mkostemps.texi: Likewise.
17906 2018-10-01  Tom Tromey  <tom@tromey.com>
17908         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
17909         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
17910         on OS X.
17912 2018-09-30  Pádraig Brady  <P@draigBrady.com>
17914         hmac-*: refactor to remove repetitive code
17915         * lib/hmac.c: A new parameterized single implementation.
17916         * lib/hmac-md5.c: Define parameters and include implementation.
17917         * lib/hmac-sha1.c: Likewise.
17918         * lib/hmac-sha256.c: Likewise.
17919         * lib/hmac-sha512.c: Likewise.
17920         * modules/crypto/hmac-md5: Reference the new implementation file.
17921         * modules/crypto/hmac-sha1: Likewise.
17922         * modules/crypto/hmac-sha256: Likewise.
17923         * modules/crypto/hmac-sha512: Likewise.
17924         * tests/test-hmac-md5.c: Refactor common code to a single function.
17925         * tests/test-hmac-sha1.c: Likewise.
17926         * tests/test-hmac-sha256.c: Likewise.
17927         * tests/test-hmac-sha512.c: Likewise.
17929 2018-09-30  Zhang Qing  <zhangqingl@126.com>
17931         hmac-sha512: fix hash for keys > blocksize (128 bytes)
17932         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
17933         key length to that output by sha512, not the blocksize.
17934         Otherwise uninitialized data from the stack
17935         is used when computing the hash.
17936         * tests/test-hmac-sha512.c: Add a shortened key test case.
17937         Reported at https://github.com/coreutils/gnulib/pull/5
17939 2018-09-30  Bruno Haible  <bruno@clisp.org>
17941         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
17942         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
17943         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
17944         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
17945         'unsigned int' before comparison with an unsigned value.
17947 2018-09-30  Bruno Haible  <bruno@clisp.org>
17949         grantpt: Remove unnecessary dependency.
17950         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
17952 2018-09-30  Bruno Haible  <bruno@clisp.org>
17954         timevar: Small tweaks.
17955         * lib/timevar.h: Fix comments. Add parameter names to function
17956         declarations.
17957         * lib/timevar.c: Include timevar.h immediately after config.h.
17958         * lib/timevar.def: Fix comments.
17959         * modules/timevar (Maintainer): List Akim Demaille.
17961 2018-09-30  Bruno Haible  <bruno@clisp.org>
17963         timevar: Include documentation in gnulib manual.
17964         * doc/timevar.texi: Change node and section name to 'Profiling of
17965         program phases'.
17966         In the code snippets, tweak the #includes and use GNU coding style.
17967         * doc/gnulib.texi: Include timevar.texi.
17969 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
17971         timevar: import from Bison.
17972         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
17973         New files.
17974         * lib/timevar.def: New file.
17975         * doc/timevar.texi: New file.
17977 2018-09-26  Bruno Haible  <bruno@clisp.org>
17979         javacomp-script, javacomp: Add preliminary support for Java 12..17.
17980         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
17981         * lib/javacomp.c (default_target_version): Likewise.
17983 2018-09-26  Bruno Haible  <bruno@clisp.org>
17985         javacomp-script, javacomp: Add support for Java 11.
17986         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
17987         target-version 11.
17988         * lib/javaversion.h: Update comments.
17989         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
17990         source_version_index, get_goodcode_snippet, get_failcode_snippet,
17991         TARGET_VERSION_BOUND, target_version_index,
17992         corresponding_classfile_version): Accept source_version 11 and
17993         target_version 11.
17994         * lib/javacomp.h: Update comments accordingly.
17996 2018-09-23  Bruno Haible  <bruno@clisp.org>
17998         vasnprintf: Fix heap memory overrun bug.
17999         Reported by Ben Pfaff <blp@cs.stanford.edu> in
18000         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
18001         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
18002         memory.
18003         * tests/test-vasnprintf.c (test_function): Add another test.
18005 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18007         maint: mktime.c now shared with glibc
18008         * config/srclist.txt: intprops.h, timegm.c and mktime.c
18009         are now the same in Gnulib and glibc.
18011         mktime: fix _LIBC typo
18012         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
18014 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18016         dfa: optimization for state merge
18017         * lib/dfa.c (merge2): New function.
18018         (merge_nfa_state): Use it.
18020 2018-09-18  Jim Meyering  <meyering@fb.com>
18022         dfa: trivial comment fix: s/is/if/
18023         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
18025 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18027         dfa: use more-informative function name
18028         * lib/dfa.c (maybe_disable_superset_dfa):
18029         Rename from dfautf8noss.  Use change.
18031         dfa: tweak allocation performance
18032         * lib/dfa.c (merge_nfa_state, dfaoptimize):
18033         Prefer ptrdiff_t for indexes some more.
18034         Use char for flags, as it’s wide enough.
18035         Allocate queue and flags together, with one malloc call.
18036         No need to use xnmalloc since the multiplication and
18037         addition cannot overflow (it’s already been checked by
18038         earlier allocation).  Prefer memset to open-coding.
18040         dfa: prune states as we go
18041         * lib/dfa.c (prune): Remove.
18042         dfa: reorder enum for efficiency
18043         (merge_nfa_state): Prune as we go instead of at the end.
18044         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
18046         * lib/dfa.c (END): Now -1 again.  Reorder other elements
18047         of the enumeration to make it easier for GCC to generate
18048         efficient code by using fewer comparisons to check for
18049         ranges of values.
18050         (atom): Take advantage of the reordering.
18052 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
18054         dfa: optimize alternation in NFA
18055         Even when similar states exist in alternation, the DFA treats them
18056         as separate items, which may complicate the transition in NFA and
18057         cause slowdown.  This change assembles the states into one.  For
18058         example, ab|ac is changed into a(b|c).  This change speeds-up
18059         matching for many branched patterns.  For example, grep speeds up
18060         more than 30× in:
18062           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
18063           time -p env LC_ALL=C grep -vf in in
18065         * lib/dfa.c (prune): New function.
18066         (merge_nfa_state): New function.  It merges similar NFA states.
18067         (dfaoptimize): New function.  It seeks merged and removed nodes.
18068         (dfaanalyze): Call new function.
18069         (dfautf8noss): Change name from dfaoptimize because of addition of new
18070         function.
18071         (dfacomp): Update caller.
18073         dfa: simplify initial state
18074         Simplifying the initial state enables easier optimization of the NFA.
18075         * lib/dfa.c (enum token): Add new element BEG.
18076         (prtok): Adjust due to adding element BEG.
18077         (dfaparse): Put BEG at a head of tokens.
18078         (state_index): Adjust due to adding element BEG.
18079         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
18080         build initial state.
18081         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
18083 2018-09-18  Bruno Haible  <bruno@clisp.org>
18085         file-has-acl: Fix test failure on Cygwin 2.9.
18086         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
18087         * lib/acl-internal.h: Likewise.
18088         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
18089         * lib/acl-internal.c: Update comments regarding Cygwin.
18090         * lib/acl_entries.c: Likewise.
18091         * lib/file-has-acl.c: Likewise.
18092         (file_has_acl): For Cygwin, use a different way to determine whether
18093         the "default" ACL of a directory is nontrivial.
18094         * lib/get-permissions.c: Update comments regarding Cygwin.
18095         * lib/set-permissions.c: Likewise.
18097 2018-09-18  Bruno Haible  <bruno@clisp.org>
18099         stat-time tests: Fix test failure on Cygwin.
18100         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
18102 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
18104         doc: OS X 10.11 lacked ns time functions
18105         According to <https://github.com/zeromq/libzmq/issues/2175>,
18106         nanosecond-resolution timestamp functions were introduced
18107         in macOS 10.12, so document the last version (OS X 10.11)
18108         where they were absent.
18110         gettime: nanotime never existed
18111         Problem reported by Bruno Haible in:
18112         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
18113         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
18114         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
18116 2018-09-18  Bruno Haible  <bruno@clisp.org>
18118         doc: Update statement about target platforms.
18119         Reported by Simon Sobisch.
18120         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
18121         restrictions on MSVC versions.
18123 2018-09-18  Bruno Haible  <bruno@clisp.org>
18125         posix_spawn tests: Fix link error on 64-bit Cygwin.
18126         * tests/test-posix_spawn1.c (environ): Remove declaration.
18127         * tests/test-posix_spawn2.c (environ): Likewise.
18128         * tests/test-posix_spawn3.c (environ): Likewise.
18129         * tests/test-posix_spawn4.c (environ): Likewise.
18130         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
18131         * modules/posix_spawnp-tests (Depends-on): Likewise.
18133 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18135         timespec: new function current_timespec
18136         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
18137         and don’t worry about it failing on a CLOCK_REALTIME arg.
18138         POSIX requires it to succeed and I don’t know of any
18139         counterexamples where the fallbacks would work.
18140         (current_timespec): New function, taken from Emacs.  It is more
18141         convenient than gettime, and can help register allocation.
18142         * lib/timespec.h: Include arg-nonnull.h.
18143         (current_timespec): New declaration.
18144         (gettime, settime): Declare args to be nonnull.
18145         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
18147 2018-09-16  Bruno Haible  <bruno@clisp.org>
18149         setlocale: Improve locale handling on macOS 10.12 or newer.
18150         * lib/setlocale.c: Include header files for CoreFoundation. Declare
18151         gl_locale_name_canonicalize.
18152         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
18153         and LC_MESSAGES.
18154         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
18156 2018-09-16  Bruno Haible  <bruno@clisp.org>
18158         Update list of locale names with scripts on macOS.
18159         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
18160         match Mac OS X 10.13 and recent glibc.
18162 2018-09-16  Bruno Haible  <bruno@clisp.org>
18164         gettext: Use newer macOS APIs when possible.
18165         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
18166         CFLocaleCopyPreferredLanguages.
18168 2018-09-16  Bruno Haible  <bruno@clisp.org>
18170         localename: Revisit macOS specific code.
18171         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
18172         Fix comments about Mac OS X versions.
18174 2018-09-15  Bruno Haible  <bruno@clisp.org>
18176         setlocale: Improve support for locales not supported by libc.
18177         Reported by Dapeng Gao <peter@dpgao.cc> at
18178         <https://savannah.gnu.org/bugs/?54479>.
18179         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
18180         (libintl_setlocale): Use a more error-tolerant strategy when the locale
18181         to be set is not supported by libc: Emit warnings instead of failing.
18183 2018-09-15  Bruno Haible  <bruno@clisp.org>
18185         strstr, strcasestr: Add workaround against glibc-2.28 bug.
18186         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
18187         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
18188         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
18189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
18190         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
18191         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
18192         * doc/glibc-functions/strcasestr.texi: Likewise.
18194 2018-09-14  Bruno Haible  <bruno@clisp.org>
18196         doc: Fix bottom of top-level page.
18197         Reported by Akim Demaille <akim.demaille@gmail.com> in
18198         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
18199         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
18200         mode.
18201         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
18202         accordingly.
18204 2018-09-12  Bruno Haible  <bruno@clisp.org>
18206         Add test case from a recent glibc bug.
18207         * tests/test-strstr.c (main): Add test of long needle.
18208         * tests/test-strcasestr.c (main): Likewise.
18209         * tests/test-c-strstr.c (main): Likewise.
18210         * tests/test-c-strcasestr.c (main): Likewise.
18211         * tests/test-memmem.c (main): Likewise.
18213 2018-09-12  Bruno Haible  <bruno@clisp.org>
18215         Apply Eric Blake's improvements from 2011-02-25 to more tests.
18216         * tests/test-c-strstr.c (main): Add the same tests here as well.
18218 2018-09-12  Bruno Haible  <bruno@clisp.org>
18220         Apply Jim Meyering's fix from 2015-01-11 to more tests.
18221         * tests/test-memmem.c (main): Free haystack.
18222         * tests/test-strcasestr.c (main): Likewise.
18223         * tests/test-c-strcasestr.c (main): Likewise.
18225 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18227         xstrtol: fix missing-TYPE_SIGNED typo
18228         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
18230 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18232         timespec: fix resolution confusion
18233         In normal usage, clock resolution is given in seconds, but the
18234         code was mistakenly using inverse seconds and calling it
18235         “resolution”.  Fix this, partly by renaming two identifiers.
18236         The old names will be kept for a bit, to ease transition.
18237         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
18238         New constants, replacing TIMESPEC_RESOLUTION and
18239         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
18240         All uses changed.
18242 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18244         mktime: simplify in prep for glibc merge
18245         * lib/mktime.c, lib/timegm.c [_LIBC]:
18246         Include mktime-internal.h (a small file just for glibc)
18247         instead of using a typedef.
18249 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18251         intprops: minor clarification of code
18252         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
18253         Use _GL_INT_CONVERT rather than reinventing it.
18255 2018-09-07  Bruno Haible  <bruno@clisp.org>
18257         Fix a comment.
18258         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
18260 2018-09-07  Bruno Haible  <bruno@clisp.org>
18262         posix_spawn_file_actions_addchdir: Add tests.
18263         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
18264         * tests/test-posix_spawn4.c: New file.
18265         * modules/posix_spawn_file_actions_addchdir-tests: New file.
18267 2018-09-07  Bruno Haible  <bruno@clisp.org>
18269         posix_spawn_file_actions_addchdir: New module.
18270         Suggested by Eric Blake in
18271         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
18272         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
18273         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
18274         union member 'chdir_action'.
18275         * lib/spawn_faction_addchdir.c: New file.
18276         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
18277         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
18278         HAVE_WORKING_POSIX_SPAWN.
18279         * lib/spawn_faction_adddup2.c: Likewise.
18280         * lib/spawn_faction_addopen.c: Likewise.
18281         * m4/posix_spawn_faction_addchdir.m4: New file.
18282         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
18283         'posix_spawn_file_actions_addchdir' is present and whether
18284         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
18285         instead of HAVE_WORKING_POSIX_SPAWN.
18286         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
18287         posix_spawn_file_actions_addchdir is declared.
18288         (gl_SPAWN_H_DEFAULTS): Initialize
18289         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18290         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18291         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18292         * modules/spawn (Makefile.am): Substitute
18293         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18294         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
18295         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
18296         * modules/posix_spawn_file_actions_addchdir: New file.
18297         * modules/posix_spawn_file_actions_addclose (Depends-on,
18298         configure.ac): Test also REPLACE_POSIX_SPAWN.
18299         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
18300         configure.ac): Likewise.
18301         * modules/posix_spawn_file_actions_addopen (Depends-on,
18302         configure.ac): Likewise.
18303         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
18304         signature.
18305         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18306         * doc/posix-functions/posix_spawnp.texi: Likewise.
18308 2018-09-06  Bruno Haible  <bruno@clisp.org>
18310         stddef: Override max_align_t on NetBSD 8.0/x86.
18311         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
18312         the value of __alignof__ (max_align_t).
18313         * doc/posix-headers/stddef.texi: Mention the issue.
18315 2018-09-06  Bruno Haible  <bruno@clisp.org>
18317         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
18318         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
18319         system fcntl.
18320         * doc/posix-functions/fcntl.texi: Document the issue.
18322 2018-09-06  Bruno Haible  <bruno@clisp.org>
18324         count-trailing-zeros tests: Rely on limits-h module.
18325         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
18326         definition.
18327         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
18329 2018-09-06  Bruno Haible  <bruno@clisp.org>
18331         count-leading-zeros tests: Rely on limits-h module.
18332         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
18333         definition.
18334         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
18336 2018-09-06  Bruno Haible  <bruno@clisp.org>
18338         count-one-bits tests: Rely on limits-h module.
18339         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
18340         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
18342 2018-09-06  Bruno Haible  <bruno@clisp.org>
18344         xstrtoll: Rely on limits-h module.
18345         * lib/xstrtol.c: Don't include intprops.h.
18346         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18347         * modules/xstrtol (Depends-on): Remove 'intprops'.
18348         * modules/xstrtoll (Depends-on): Add 'limits-h'.
18350 2018-09-06  Bruno Haible  <bruno@clisp.org>
18352         strtoll, strtoull: Rely on limits-h module.
18353         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
18354         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
18355         * modules/strtoll (Depends-on): Add limits-h.
18356         * modules/strtoull (Depends-on): Likewise.
18358 2018-09-06  Bruno Haible  <bruno@clisp.org>
18360         intprops tests: Fix compilation error with pre-C99 compiler.
18361         * tests/test-intprops.c (verify_stmt): New macro.
18362         (VERIFY, main): Use it.
18364 2018-09-06  Bruno Haible  <bruno@clisp.org>
18366         limits-h: Provide numerical limits macros.
18367         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
18368         IRIX and for GCC.
18369         (WORD_BIT, LONG_BIT): Define.
18370         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
18371         <limits.h> does not define LLONG_MAX or WORD_BIT.
18372         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
18373         TYPE_MAXIMUM): New macros, from intprops.h.
18374         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
18375         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
18376         provides.
18378 2018-09-05  Bruno Haible  <bruno@clisp.org>
18380         fcntl: Don't access nonexistent optional argument.
18381         Reported by Frank Busse <f.busse@imperial.ac.uk> in
18382         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
18383         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
18384         don't consume an argument. For actions that take an 'int' argument,
18385         consume an 'int' argument.
18387 2018-09-05  Eric Blake  <eblake@redhat.com>
18389         doc: mention environ pitfall
18390         * doc/posix-functions/environ.texi (environ): Assigning NULL to
18391         environ is a glibc extension.
18393 2018-09-03  Bruno Haible  <bruno@clisp.org>
18395         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
18396         Reported by Antoine Luong <antoine.luong@c-s.fr> in
18397         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
18398         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
18399         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
18400         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
18402 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18404         mktime: fix unlikely race+overflow bug
18405         Problem reported by Alexandre Oliva in:
18406         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
18407         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
18408         to avoid an unlikely race if the compiler delays a load and
18409         if this cascades into a signed integer overflow.
18411 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18413         mktime, timegm: simplify glibc time64_t
18414         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
18415         Now long int, not time_t, since long int is the longstanding type
18416         for this in glibc and there is no need to change it even if time_t
18417         becomes 64 bits - even int would do, though this would be a change
18418         to the glibc generated code.  When this change is merged into
18419         glibc, it should simplify the time_t vs time64_t situation.
18421         mktime, timegm: simplify merge to glibc
18422         Move code around to make a merge to glibc easier to audit.
18423         This should not change behavior.
18424         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
18425         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
18426         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
18427         simplify later conditionals; default the others to zero.  In uses
18428         of these conditionals, explicitly spell out how _LIBC affects
18429         things, so it’s easier to review from a glibc viewpoint.
18430         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
18431         compartmentalize tzset issues.  Move system-dependent tzsettish
18432         code here from mktime.
18433         (mktime): Move tzsettish code to my_tzset, and move
18434         localtime_offset to within mktime so that it doesn’t
18435         need a separate ifdef.
18437 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18439         intprops: avoid evaluation of some expressions
18440         This makes EXPR_SIGNED (e) easier to use, as it no longer
18441         evaluates the expression E.  Formerly, E was required to be free
18442         of side effects.
18443         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
18444         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
18445         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
18447 2018-08-23  Bruno Haible  <bruno@clisp.org>
18449         getcwd: Add cross-compilation guesses.
18450         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
18451         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
18452         Based on a patch by Paul Eggert.
18453         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
18454         guesses for all GNU systems.
18456 2018-08-19  Bruno Haible  <bruno@clisp.org>
18458         glob-h: Formalize side effects from other modules.
18459         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
18460         * m4/glob.m4 (gl_GLOB): Invoke it.
18462         fnmatch-h: Formalize side effects from other modules.
18463         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
18464         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
18466         limits-h: Formalize side effects from other modules.
18467         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
18468         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
18470 2018-08-19  Bruno Haible  <bruno@clisp.org>
18472         getpass: Move declaration to <unistd.h>.
18473         * lib/unistd.in.h (getpass): New declaration.
18474         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
18475         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
18476         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
18477         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
18478         On glibc systems, don't set REPLACE_GETPASS to 1.
18479         * modules/getpass (Depends-on): Add 'unistd'.
18480         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
18481         (Include): Specify <unistd.h> instead of "getpass.h".
18482         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
18483         (configure.ac): Sync with the configure.ac section of modules/getpass.
18484         (Include): Specify <unistd.h> instead of "getpass.h".
18485         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
18486         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
18487         REPLACE_GETPASS.
18488         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
18489         REPLACE_GETPASS.
18490         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
18491         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
18492         and musl.
18493         * NEWS: Mention the change.
18495 2018-08-19  Bruno Haible  <bruno@clisp.org>
18497         glob: Fix over-optimization due to attribute __nonnull__.
18498         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
18500 2018-08-19  Bruno Haible  <bruno@clisp.org>
18502         glob: Fix another compilation error when glob.h is not replaced.
18503         Reported by Reuben Thomas <rrt@sc3d.org> in
18504         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
18505         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
18506         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
18508 2018-08-18  Bruno Haible  <bruno@clisp.org>
18510         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
18511         Reported by Reuben Thomas <rrt@sc3d.org> in
18512         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
18513         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
18514         in config.h.
18516 2018-08-18  Bruno Haible  <bruno@clisp.org>
18518         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
18519         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
18520         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
18521         Solution proposed by Eli Zaretskii.
18522         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
18523         * lib/gettimeofday.c (GetProcAddress): Likewise.
18524         * lib/link.c (GetProcAddress): Likewise.
18525         * lib/physmem.c (GetProcAddress): Likewise.
18526         * lib/poll.c (GetProcAddress): Likewise.
18527         * lib/select.c (GetProcAddress): Likewise.
18528         * lib/stat-w32.c (GetProcAddress): Likewise.
18530 2018-08-18  Bruno Haible  <bruno@clisp.org>
18532         glob: Fix another compilation error when glob.h is not replaced.
18533         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
18534         * lib/globfree.c: Include <libc-config.h>.
18536 2018-08-18  Bruno Haible  <bruno@clisp.org>
18538         glob: Fix compilation error when glob.h is not replaced.
18539         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
18540         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
18541         * lib/glob_pattern_p.c: Include <libc-config.h>.
18542         * modules/glob (Depends-on): Add libc-config.
18544 2018-08-18  Bruno Haible  <bruno@clisp.org>
18546         scratch_buffer: Add tests.
18547         * tests/test-scratch-buffer.c: New file.
18548         * modules/scratch_buffer-tests: New file.
18550 2018-08-18  Bruno Haible  <bruno@clisp.org>
18552         scratch_buffer: Fix include file.
18553         Reported by Reuben Thomas <rrt@sc3d.org> in
18554         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
18555         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
18556         double-inclusion guard.
18558 2018-08-18  Bruno Haible  <bruno@clisp.org>
18560         glob-h: Revert Paul Eggert's revert.
18561         * m4/glob_h.m4: Revert to previous state.
18562         * modules/glob-h: Likewise.
18564 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
18566         glob-h: always build glob.h
18567         This works around a problem reported by Reuben Thomas in:
18568         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
18569         This workaround always builds glob.h, even on platforms that
18570         do not need it; perhaps this could be improved someday.
18571         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
18572         is always created now.
18573         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
18575 2018-08-13  Bruno Haible  <bruno@clisp.org>
18577         monetary: Simplify m4 code.
18578         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
18579         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
18581 2018-08-13  Bruno Haible  <bruno@clisp.org>
18583         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
18584         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
18585         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
18586         and by Paul J. Lucas <paul@lucasmail.org> in
18587         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
18588         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
18590 2018-08-11  Bruno Haible  <bruno@clisp.org>
18592         setlocale: Trivial simplification.
18593         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
18595 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18597         verify: port 'assume' to traditional tools
18598         * lib/verify.h (assume): Port better to Oracle Studio 12.6
18599         and other tools that use /*NOTREACHED*/ comments.
18601 2018-08-10  Bruno Haible  <bruno@clisp.org>
18603         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
18604         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
18605         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
18606         'fnmatch-gnu' is in use.
18608 2018-08-07  Bruno Haible  <bruno@clisp.org>
18610         glob-h: Add tests.
18611         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
18612         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
18613         tests/test-glob-h.c.
18614         * modules/glob-h-tests: New file.
18615         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
18616         conditions.
18617         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
18618         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
18620 2018-08-07  Bruno Haible  <bruno@clisp.org>
18622         glob-h: New module.
18623         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
18624         replacements.
18625         * lib/glob.c: Include <config.h>.
18626         * m4/glob_h.m4: New file.
18627         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
18628         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18629         REPLACE_GLOB_PATTERN_P as appropriate.
18630         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
18631         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
18632         * modules/glob-h: New file.
18633         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
18634         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
18635         lstat, sys_stat. Change conditions.
18636         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18637         REPLACE_GLOB_PATTERN_P. Set module indicator.
18638         (Makefile.am): Remove code that is moved to glob-h.
18639         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
18640         * modules/posixcheck (Depends-on): Add glob-h.
18642 2018-08-06  Bruno Haible  <bruno@clisp.org>
18644         Force generation of substitute .h file when C++ support is enabled.
18645         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
18646         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
18647         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
18648         FNMATCH_H to non-empty.
18649         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
18650         ICONV_H to non-empty.
18651         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
18652         MONETARY_H to non-empty.
18653         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
18654         non-empty.
18656 2018-08-06  Bruno Haible  <bruno@clisp.org>
18658         fnmatch-h: Fix test compilation error on mingw (regression from today).
18659         * lib/fnmatch.in.h: Fix conditions.
18661 2018-08-06  Bruno Haible  <bruno@clisp.org>
18663         sys_resource: Relicense under LGPLv2+.
18664         John Malmberg's approval is in
18665         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
18666         * modules/sys_resource (License): Change to LGPLv2+.
18668 2018-08-06  Bruno Haible  <bruno@clisp.org>
18670         fnmatch-h: Add tests.
18671         * tests/test-fnmatch-h.c: New file.
18672         * modules/fnmatch-h-tests: New file.
18673         * tests/test-fnmatch-h-c++.cc: New file.
18674         * modules/fnmatch-h-c++-tests: New file.
18676 2018-08-06  Bruno Haible  <bruno@clisp.org>
18678         fnmatch-h: New module.
18679         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
18680         replacements.
18681         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
18682         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
18683         'posixcheck' warning.
18684         * m4/fnmatch_h.m4: New file.
18685         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
18686         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
18687         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
18688         as appropriate.
18689         * modules/fnmatch-h: New file.
18690         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
18691         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
18692         conditions.
18693         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
18694         indicator.
18695         (Makefile.am): Remove code that is moved to fnmatch-h.
18696         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
18697         REPLACE_FNMATCH.
18698         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
18699         * modules/posixcheck (Depends-on): Add fnmatch-h.
18701 2018-08-06  Bruno Haible  <bruno@clisp.org>
18703         Enable more C++ tests.
18704         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
18705         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
18706         * modules/strings-tests (Depends-on): Add strings-c++-tests.
18707         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
18708         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
18710 2018-08-06  Bruno Haible  <bruno@clisp.org>
18712         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
18713         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
18714         getopt.h.
18715         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
18717 2018-08-05  Bruno Haible  <bruno@clisp.org>
18719         utime-h: Generate header file when module 'posixcheck' is in use.
18720         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
18721         UTIME_H to non-empty.
18723 2018-08-05  Bruno Haible  <bruno@clisp.org>
18725         monetary: Generate header file when module 'posixcheck' is in use.
18726         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
18727         use, set MONETARY_H to non-empty.
18729 2018-08-05  Bruno Haible  <bruno@clisp.org>
18731         iconv-h: Generate header file when module 'posixcheck' is in use.
18732         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
18733         set ICONV_H to non-empty.
18735 2018-08-05  Bruno Haible  <bruno@clisp.org>
18737         Optimize the "checking whether ... is declared without a macro" checks.
18738         Suggested by Paul Eggert in
18739         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
18740         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
18741         Gnulib module 'posixcheck' is not in use.
18743 2018-08-05  Bruno Haible  <bruno@clisp.org>
18745         iconv-h: Enable 'posixcheck' warnings.
18746         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
18747         iconv_open.
18748         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
18750 2018-08-05  Bruno Haible  <bruno@clisp.org>
18752         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
18753         * m4/extern-inline.m4: Add more comments.
18754         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
18755         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
18756         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
18758 2018-08-04  Bruno Haible  <bruno@clisp.org>
18760         New module 'posixcheck'.
18761         * modules/posixcheck: New file.
18762         * m4/posixcheck.m4: New file.
18763         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
18764         (Which modules?): Reference it.
18766 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
18768         dfa: fix memory leak
18769         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
18771 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
18773         ieee754-h: new module
18774         It looks like Emacs can use this for some NaN processing.
18775         Emacs uses it only on double NaNs so it should be safe.
18776         * MODULES.html.sh (func_all_modules): Add ieee754-h.
18777         * config/srclist.txt: Mention ieee754.h in a comment.
18778         * doc/glibc-headers/ieee754.texi (ieee754.h):
18779         Gnulib now has a substitute that should work
18780         except for long double and for non-IEEE platforms.
18781         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
18782         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
18784 2018-07-27  Bruno Haible  <bruno@clisp.org>
18786         iswcntrl: Mention minor problem on macOS.
18787         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
18789 2018-07-26  Colin Watson  <cjwatson@debian.org>
18791         bootstrap, gnulib-tool: fix translations rsync
18792         Previously, we created files such as $pobase/Makefile.in.in and then the
18793         subsequent rsync would immediately delete them.
18794         * build-aux/bootstrap (po_download_command_format): Avoid deleting
18795         non-.po files in target directory when rsyncing translations.
18796         * gnulib-tool (func_import): Likewise.
18797         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18799 2018-07-25  Jim Meyering  <meyering@fb.com>
18801         bootstrap: reinstate definition fo gnulib_mk.
18802         That variable is used at least by cppi.
18803         * build-aux/bootstrap (gnulib_mk): Restore definition.
18804         This reverts the deletion from v0.1-1844-gc66dba9ba.
18806 2018-07-23  Bruno Haible  <bruno@clisp.org>
18808         doc: For module names, use texinfo markup @code{} or @samp{}.
18809         * doc/alloca.texi: Mark gnulib module names with @code.
18810         * doc/alloca-opt.texi: Likewise.
18811         * doc/quote.texi: Likewise.
18812         * doc/posix-functions/freopen.texi: Likewise.
18813         * doc/posix-functions/open.texi: Likewise.
18814         * doc/posix-functions/readlink.texi: Likewise.
18815         * doc/posix-functions/readlinkat.texi: Likewise.
18816         * doc/posix-functions/stdout.texi: Likewise.
18817         * doc/posix-functions/stderr.texi: Likewise.
18818         * doc/posix-functions/unlink.texi: Likewise.
18819         * doc/posix-functions/unlinkat.texi: Likewise.
18820         * doc/posix-functions/utime.texi: Likewise.
18821         * doc/posix-functions/utimensat.texi: Likewise.
18822         * doc/posix-functions/utimes.texi: Likewise.
18823         * doc/posix-headers/stdint.texi: Likewise.
18824         * doc/glibc-functions/futimesat.texi: Likewise.
18825         * doc/glibc-functions/lutimes.texi: Likewise.
18826         * doc/glibc-functions/memmem.texi: Likewise.
18828 2018-07-23  Werner LEMBERG  <wl@gnu.org>
18830         doc: Avoid some overfull lines in the TeX output.
18831         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
18832         @example.
18833         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
18834         newline before the long URL.
18835         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
18836         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
18837         Add line breaks in code snippets.
18839 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18841         hard-locale: simplify by removing hard-locale.m4
18842         * m4/hard-locale.m4: Remove.
18843         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
18844         (configure.ac): Do not call gl_HARD_LOCALE.
18846         gnulib-tool: limit line length for git send-email
18847         * gnulib-tool (func_import): Break actioncmd log line
18848         into multiple lines.
18850 2018-07-16  Bruno Haible  <bruno@clisp.org>
18852         ffs: Ensure declaration on mingw.
18853         Reported by Daniel P. Berrangé <berrange@redhat.com>
18854         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
18855         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
18856         also declared.
18858 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
18860         regex-tests: add dependency
18861         * modules/regex-tests (Depends-on): Add gettext-h.
18862         This is needed given the recent changes to regex,
18863         which no longer depends on gettext-h.
18865 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18867         regex: now in sync with glibc
18868         * config/srclist.txt: Gnulib and glibc regex code
18869         are synchronized again.
18871 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18873         renameatu: rename from renameat2
18874         It's looking like Glibc will add a renameat2 function
18875         that is incompatible with Gnulib renameat2; see:
18876         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
18877         To help avoid future confusion, rename renameat2 to something else.
18878         Use the name 'renameatu', as the Gnulib function is close to the
18879         Glibc function.  Perhaps someday there will also be a renameat2
18880         Gnulib module, which mimicks the future glibc renameat2, but that
18881         can wait as nobody seems to need such a module now.
18882         * NEWS: Mention this.
18883         * lib/renameatu.c: Rename from lib/renameat2.c.
18884         * lib/renameatu.h: Rename from lib/renameat2.h.
18885         * modules/renameatu: Rename from modules/renameat2.
18886         * modules/renameatu-tests: Rename from modules/renameat2-tests.
18887         All uses of "renameat2" in identifiers or file name
18888         changed to "renameatu", except for two instances in
18889         lib/renameatu.c that deal with the Linux kernel's
18890         renameat2 syscall.
18892 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18894         gnulib-tool: minor tweaks for --gnu-make
18895         * gnulib-tool: Do not allow --gnu-make in test modes,
18896         since they all require automake.
18897         (func_emit_lib_Makefile_am): Don’t emit automake comment
18898         if --gnu-make.
18900         regex: work around conditional-dependencies glitch
18901         * modules/regex (Depends-on): Add langinfo.
18902         Without this change, I had problems building an experimental
18903         version of GNU Emacs.  The symptom of the bug was a message
18904         ‘./configure: line 12726: test: =: unary operator expected’.
18905         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
18906         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
18907         was unset.  Although gl_FUNC_NL_LANGINFO has
18908         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
18909         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
18910         --conditional-dependencies sometimes arranges for the
18911         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
18912         code.  Since the regex code includes <langinfo.h> it should be
18913         depending on the langinfo module anyway, and this happens to work
18914         around the bug, so install that as a workaround for now.  To
18915         reproduce the original problem, run the following shell script on
18916         the version of Gnulib just before this patch was installed.
18917                 rm -fr foo
18918                 mkdir foo
18919                 cat >foo/configure.ac <<'EOF'
18920                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
18921                 gl_EARLY
18922                 gl_INIT
18923                 AC_OUTPUT
18924                 EOF
18925                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
18926                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
18927                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
18928                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
18929                 cd foo
18930                 aclocal -I m4
18931                 autoconf
18932                 ./configure --with-included-regex
18934 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18936         wchar: fix bug when checking for ‘inline’
18937         I discovered this when looking into using the regex module
18938         with Emacs.
18939         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
18940         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
18941         conftest1.c and conftest2.c but these files were not created.
18942         As far as I can see, this check never worked and nobody reported
18943         it until now, which is a bit worrisome.
18945 2018-06-30  Jim Meyering  <meyering@fb.com>
18947         bootstrap: s/--option val/--option=val/
18948         * build-aux/bootstrap (gnulib_tool_options): Change the
18949         spelling of "--option val" pairs to "--option=val", for
18950         aesthetics, and also so that this file no longer triggers
18951         a common help2man syntax-check warning when copied into
18952         projects like grep, gzip, etc.
18954 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18956         manywarnings: omit -Wswitch-default
18957         This should make things more consistent, as we already ignore
18958         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
18959         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
18960         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
18961         Add -Wswitch-default.
18962         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
18963         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18964         Remove -Wswitch-default.
18966         regex: revert most trimming
18967         Problems reported by Bruno Haible in:
18968         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
18969         * modules/regex (Depends-on): Add lock, memcmp, memmove,
18970         and wctype back in.  lock because regex users shouldn’t
18971         need to know that regex needs locking, and the rest because
18972         gnulib-tool should ordinarily ignore them anyway.
18974 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18976         regex: trim module dependencies
18977         * modules/regex (Depends-on): Remove gettext-h and lock,
18978         since the regex code should work OK without these modules,
18979         and Emacs uses it that way.  Also remove memcmp, memmove,
18980         and wctype, as these modules are obsolete and should not be
18981         needed any more.
18983 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
18985         regex: glibc does not use intprops.h
18986         Maybe we can talk glibc into using intprops.h someday, but
18987         now doesn’t seem to be a good time.
18988         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
18989         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
18990         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
18992 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18994         regex: port to recently proposed glibc regex merge
18995         This patch is inspired by Adhemerval Zanella's recent proposal
18996         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
18997         to merge glibc and Gnulib regex.  It aims to simplify the merge on
18998         the glibc side, without keeping Gnulib portable.
18999         * lib/regex.h: Fix a problem with glibc installed-header checking,
19000         as follows:
19001         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
19002         (_Restrict_arr_): Prefer __restrict_arr if defined,
19003         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
19004         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
19005         (build_wcs_upper_buffer, build_upper_buffer)
19006         (re_string_translate_buffer, re_string_context_at):
19007         Move decls here from lib/regex_internal.h, for glibc internal tests.
19008         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
19009         glibc BZ #18496.
19010         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
19011         -Wunused-value.
19012         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
19013         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19014         (bitset_mask): Now static inline, and without any __attribute__
19015         ((unused)) decoration, for glibc internal tests.
19017 2018-06-25  Bruno Haible  <bruno@clisp.org>
19019         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
19020         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
19021         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
19022         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
19023         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
19024         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
19025         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
19026         / -lthread / -lpth does not get optimized away by a preceding
19027         --as-needed option.
19029 2018-06-25  Bruno Haible  <bruno@clisp.org>
19031         Continue to use spaces for indentation, not tabs.
19032         * MODULES.html.sh: Untabify.
19033         * doc/regex.texi: Likewise.
19034         * lib/acl-internal.c: Likewise.
19035         * lib/dfa.c: Likewise.
19036         * lib/exclude.c: Likewise.
19037         * lib/exclude.h: Likewise.
19038         * lib/get-permissions.c: Likewise.
19039         * lib/gettimeofday.c: Likewise.
19040         * lib/parse-datetime.y: Likewise.
19041         * lib/pselect.c: Likewise.
19042         * lib/set-permissions.c: Likewise.
19043         * lib/time.in.h: Likewise.
19044         * m4/canonicalize.m4: Likewise.
19045         * m4/gc.m4: Likewise.
19046         * m4/gnulib-common.m4: Likewise.
19047         * m4/pthread_sigmask.m4: Likewise.
19048         * m4/vararrays.m4: Likewise.
19049         * tests/test-digest.h: Likewise.
19050         * tests/test-fcntl-h.c: Likewise.
19051         * tests/test-timespec.c: Likewise.
19052         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
19054 2018-06-25  Bruno Haible  <bruno@clisp.org>
19056         manywarnings: Don't enable -Wjump-misses-init warnings by default.
19057         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
19058         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
19059         -Wjump-misses-init.
19061 2018-06-25  Jim Meyering  <meyering@fb.com>
19063         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
19064         * lib/acl-internal.h (free_permission_context): Remove that
19065         attribute directive.  Otherwise, it would provoke this from GCC 9:
19066         lib/acl-internal.h:300:3: error: 'const' attribute on function \
19067           returning 'void' [-Werror=attributes]
19069 2018-06-24  Jim Meyering  <meyering@fb.com>
19071         parse-datetime: accommodate gcc-4.8.5
19072         Bruno Haible reported the build failure in
19073         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
19074         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
19075         on declaration of new local.
19077 2018-06-24  Bruno Haible  <bruno@clisp.org>
19079         af_alg: Fail in continuable manner on Linux/powerpc64le.
19080         Reported by Assaf Gordon <assafgordon@gmail.com>
19081         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
19082         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
19083         byte send() as the first round.
19085 2018-06-24  Bruno Haible  <bruno@clisp.org>
19087         af_alg: Fix state of stream after sendfile() succeeds.
19088         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
19089         the stream is correctly positioned afterwards.
19090         * modules/crypto/af_alg (Depends-on): Add fflush.
19091         * tests/test-digest.h (test_digest_on_files): Verify that after the
19092         operation the stream is positioned at end of file.
19094 2018-06-24  Jim Meyering  <meyering@fb.com>
19096         canon-host: take GCC9's advice rather than ignoring warning
19097         Pádraig Brady suggested not to ignore this GCC9 advice.
19098         * lib/canon-host.c: Undo preceding change.
19099         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
19101         parse-datetime.y: avoid spurious GCC 9 warning
19102         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
19103         a function local prior to the first "goto fail".  The prior use would
19104         evoke this:
19105         parse-datetime.y: In function 'parse_datetime2':
19106         parse-datetime.y:1791:19: error: jump skips variable initialization \
19107           [-Werror=jump-misses-init]
19108         parse-datetime.y:2385:2: note: label 'fail' defined here
19109         parse-datetime.y:188:43: note: '({anonymous})' declared here
19110         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
19112         canon-host.c: avoid spurious GCC 9 warning
19113         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
19115         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
19116         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
19117         * m4/manywarnings.m4: Remove them.
19118         Otherwise, building coreutils, I would see this:
19119         cc1: error: deprecated command line option '-Wchkp' [-Werror]
19120         cc1: error: -Wabi won't warn about anything [-Werror=abi]
19121         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
19122           which is also used by default
19123         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
19125 2018-06-24  Bruno Haible  <bruno@clisp.org>
19127         af_alg tests: Add another test.
19128         * tests/test-digest.h (test_digest_on_files): Also check a large file
19129         with a skipped header.
19130         * tests/test-md5.c: Include macros.h.
19131         * tests/test-sha1.c: Likewise.
19132         * tests/test-sha256.c: Likewise.
19133         * tests/test-sha512.c: Likewise.
19134         * modules/crypto/md5-tests (Files): Add tests/macros.h.
19135         * modules/crypto/sha1-tests (Files): Likewise.
19136         * modules/crypto/sha256-tests (Files): Likewise.
19137         * modules/crypto/sha512-tests (Files): Likewise.
19139 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19141         maint: clarify comments about sticky EOF
19142         * lib/af_alg.c: Be more direct that we can't
19143         assume stickiness of EOF for portability reasons.
19144         * lib/md5.c: Clarify that this isn't just a glibc issue.
19145         * lib/sha1.c: Likewise.
19146         * lib/sha256.c: Likewise.
19147         * lib/sha512.c: Likewise.
19149 2018-06-24  Bruno Haible  <bruno@clisp.org>
19151         af_alg: Comment and style improvements.
19152         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
19153         (afalg_buffer, afalg_stream): Improve comments.
19155 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19157         af_alg: disable kernel hash functions by default
19158         All the kernel routines were seen to be significantly slower
19159         with these relatively recent components on an i3-2310M system:
19160           kernel-4.10.6-200.fc25.x86_64
19161           openssl-1.0.2m-1.fc25.x86_64
19162         sha1 was nearly twice as slow in the kernel for example.
19163         Further considerations why this should not be the default, at:
19164         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
19166         * m4/af_alg.m4: Require --with-linux-crypto to enable.
19167         * m4/gl-openssl.m4: Tweak accordingly.
19169 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19171         af_alg: avoid hangs when reading from streams
19172         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
19173         and thus avoid doing a fread() when feof() is set.
19174         * lib/md5.c: Ensure feof() is called before fread().
19175         * lib/sha1.c: Likewise.
19176         * lib/sha256.c: Likewise.
19177         * lib/sha512.c: Likewise.
19179 2018-06-24  Pádraig Brady  <P@draigBrady.com>
19181         af_alg: fix error handling when hash not returned
19182         * lib/af_alg.c (afalg_stream): Handle the case where we've
19183         successfully written data to the kernel in the read/write loop,
19184         but the kernel doesn't respond with the hash.
19186 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19188         libc-config: merge from glibc
19189         * lib/cdefs.h (__inline, __restrict):
19190         Copy from current glibc.  This fixes glibc bug 17721,
19191         which Gnulib had already fixed in a different way.
19192         (__nonnull): Lessen the distance from glibc by using the
19193         glibc definition inside an ‘#ifndef __nonnull’.
19194         (__attribute_nonstring__): New macro, copied from
19195         current glibc.
19196         * lib/libc-config.h (__attribute_nonstring__): New undef.
19197         (__restrict): Remove; workaround no longer needed.
19198         Keep the __inline workaround, though, as it uses HAVE___INLINE to
19199         support more compilers than the glibc __inline can.
19201 2018-06-24  Bruno Haible  <bruno@clisp.org>
19203         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
19204         * lib/mbrtowc.c (enc_t): New enum type.
19205         (locale_enc, locale_enc_cached): New functions.
19206         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
19207         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
19208         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
19209         instead.
19210         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
19211         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
19212         * modules/wcwidth (configure.ac): Invoke it.
19214 2018-06-24  Bruno Haible  <bruno@clisp.org>
19216         wchar-single: Fix test failure in wcwidth tests.
19217         * tests/test-wcwidth.c (main): If the wchar-single module is present,
19218         skip the tests in the C locale.
19220 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19222         crypto: mention --without-linux-crypto in --with-openssl --help
19223         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
19224         routines take precedence in --with-openssl help output.
19226 2018-06-23  Pádraig Brady  <P@draigBrady.com>
19228         wchar-single: a new module to enable optimizations in wchar replacements
19229         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
19230         GNULIB_WCHAR_SINGLE is enabled.
19231         * lib/wcwidth.c (wcwidth): Likewise.
19233 2018-06-23  Bruno Haible  <bruno@clisp.org>
19235         libc-config: Fix conflict with FreeBSD include files.
19236         * lib/cdefs.h (__nonnull): Remove definition.
19237         * lib/libc-config.h (__nonnull): Remove undefinition.
19239 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19241         random_r: do not crash if state is unaligned
19242         Problem reported by Bruce Korb in:
19243         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
19244         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
19245         with 'cc -O2 -xmemalign=8s'.
19246         * lib/random_r.c: Include string.h, for memcpy.
19247         (get_int32, set_int32): New functions.
19248         (__srandom_r, __initstate_r, __setstate_r, __random_r):
19249         Use them to avoid assumption that state pointer is aligned.
19250         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
19251         * tests/test-random_r.c (test_failed): New function.
19252         (main): Use it, to test for alignment bugs.
19254         random_r: omit unnecessary include
19255         * lib/random_r.c: Do not include limits.h.
19257         random, random_r: merge from glibc
19258         * lib/random.c, lib/random_r.c:
19259         Include libc-config.h if !_LIBC, not config.h unilaterally.
19260         * lib/random.c:
19261         Do not include stdint.h or time.h; not needed.
19262         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
19263         (unsafe_state): Rename from generator.  All uses changed.
19264         Use C99-style initializers.
19265         (__random, __srandom, __initstate, __setstate): Rename from
19266         non-underscored version, but define it to non-underscored version
19267         on Gnulib.  Add a lock.
19268         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
19269         Likewise.
19270         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
19271         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
19272         (__srandom_r): Use int32_t instead of long int where int32_t will do.
19273         (__random_r): Use uint32 to fix glibc bug 17343.
19274         * modules/random, modules/random_r (Depends-on): Add libc-config.
19275         Depend on stdint only if $HAVE_RANDOM = 0.
19277 2018-06-19  Jim Meyering  <meyering@fb.com>
19279         README-release: also run any check-very-expensive tests
19280         * top/README-release: Adjust instructions so they run the
19281         check-very-expensive tests when there is such a target.
19283 2018-06-18  Bruno Haible  <bruno@clisp.org>
19285         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
19286         * m4/pthread_rwlock_rdlock.m4: Add comment.
19287         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
19288         are reader-preferring in glibc.
19289         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
19290         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
19292 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
19294         crypto: use byteswap
19295         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
19296         * lib/sm3.c: Include <byteswap.h>.
19297         (SWAP): Use its macros rather than reinventing the wheel.
19298         * modules/crypto/md4, modules/crypto/md5-buffer:
19299         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
19300         * modules/crypto/sha512-buffer, modules/crypto/sm3:
19301         (Depends-on): Add byteswap.
19303 2018-06-17  Pádraig Brady  <P@draigBrady.com>
19305         gendocs.sh: fix support for legacy --texi2html
19306         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
19307         to the default makeinfo invocation.
19308         Reported by Bruce Korb
19310 2018-06-17  Bruno Haible  <bruno@clisp.org>
19312         gettext po infrastructure: Update from current gettext git.
19313         Reported by Akim Demaille <akim@lrde.epita.fr>.
19314         * build-aux/po/Makefile.in.in: Update from current gettext git.
19315         * build-aux/po/remove-potcdate.sin: Likewise.
19316         * config/srclist.txt: Temporarily disable sync for these files.
19318 2018-06-17  Bruno Haible  <bruno@clisp.org>
19320         getloadavg: Return 0 on Windows without Cygwin.
19321         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
19323 2018-06-17  Paul Smith  <psmith@gnu.org>
19325         getloadavg: Allow building on Windows without Cygwin
19326         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
19327         * m4/getloadavg.m4: Check for unistd.h.
19329 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
19331         Port crypto/af_alg to GCC 4.8.4
19332         Problem reported by Peter Simons in:
19333         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
19334         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
19336 2018-05-27  Colin Watson  <cjwatson@debian.org>
19338         bootstrap: document source fetching in --help
19339         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
19341 2018-04-09  Colin Watson  <cjwatson@debian.org>
19343         bootstrap: allow non-submodule control of gnulib
19344         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
19345         bootstrap.conf when fetching gnulib using "git clone" or via
19346         GNULIB_SRCDIR.
19348 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19350         crypto: omit stream ops Emacs doesn’t need
19351         * lib/md5.c (md5_stream):
19352         * lib/sha1.c (sha1_stream):
19353         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
19354         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19355         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
19356         defined.  Emacs needs this, as it does not use the stream
19357         operations and doesn’t need all the af_alg stuff we’ve recently
19358         added.  Perhaps a similar change is needed to the other crypto
19359         modules, but this patch changes only those needed for Emacs.
19360         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
19361         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
19362         New modules, used by Emacs.
19363         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19364         * modules/crypto/sha512: Rewrite to depend on the new modules.
19366 2018-05-20  Pádraig Brady  <P@draigBrady.com>
19368         fts: avoid a memory leak edge case
19369         * lib/fts.c (fts_open): Set an appropriate fts_level
19370         so that an immediate fts_close() will free the allocation.
19371         * tests/test-fts.c (fts_dealloc): Add a test case which
19372         will trigger under valgrind or address sanitizer.
19373         Fixes https://bugs.gnu.org/31439
19375 2018-05-20  Bruno Haible  <bruno@clisp.org>
19377         wcwidth tests: Fix link error.
19378         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
19379         $(LIBUNISTRING).
19381 2018-05-20  Bruno Haible  <bruno@clisp.org>
19383         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
19384         * modules/regex (Files): Add m4/glibc21.m4.
19386 2018-05-20  Bruno Haible  <bruno@clisp.org>
19388         localcharset: Optimize.
19389         * lib/localcharset.c (alias_table): Comment out no-op mappings for
19390         platforms where these don't matter. This reduces the table size,
19391         which in turn reduces the lookup time.
19393 2018-05-19  Bruno Haible  <bruno@clisp.org>
19395         localcharset: Map the locale encodings found in newer OSes.
19396         * lib/localcharset.c (alias_table): Add mapping for locale encodings
19397         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
19398         IRIX 6.5, Minix 3.3.
19399         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
19401 2018-05-19  Bruno Haible  <bruno@clisp.org>
19403         localcharset: Move mapping tables into the code. Use a binary search.
19404         * lib/localcharset.h: Document the GNU canonical names for character
19405         encodings here.
19406         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
19407         relocatable.h, configmake.h.
19408         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
19409         macros.
19410         (charset_aliases): Remove variable.
19411         (get_charset_aliases): Remove function.
19412         (struct table_entry): New type.
19413         (alias_table, locale_table): New constants.
19414         (locale_charset): Use the alias_table or locale_table to get the
19415         canonicalized encoding name.
19416         * lib/config.charset: Remove file.
19417         * lib/ref-add.sin: Remove file.
19418         * lib/ref-del.sin: Remove file.
19419         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
19420         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
19421         * modules/localcharset (Notice): Remove.
19422         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
19423         glibc21.m4.
19424         (Depends-on): Remove configmake.
19425         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
19426         (Makefile.am): Simplify.
19427         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
19429 2018-05-19  Bruno Haible  <bruno@clisp.org>
19431         localcharset: Add a manual test.
19432         * tests/test-localcharset.c: New file.
19433         * modules/localcharset-tests: New file.
19435 2018-05-19  Bruno Haible  <bruno@clisp.org>
19437         localcharset: Remove support for obsolete platforms.
19438         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
19439         Mac OS X 10.2. Comment out dubious entry for Solaris.
19441 2018-05-19  Jim Meyering  <meyering@fb.com>
19443         gnupload: adjust comment
19444         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
19445         more likely we'll remove the just-added code in a year or two.
19447 2018-05-19  Bruno Haible  <bruno@clisp.org>
19449         gnupload: Fix "gpg-agent is not available in this session" error.
19450         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
19452 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19454         crypto/af_alg: fix --help
19455         * m4/af_alg.m4: Avoid spurious newline in --help output.
19457 2018-05-13  Bruno Haible  <bruno@clisp.org>
19459         nl_langinfo: Fix compilation error on Android.
19460         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
19461         INT_CURR_SYMBOL, etc. only if these items are defined.
19463 2018-05-13  Bruno Haible  <bruno@clisp.org>
19465         truncate: Fix compilation error on Android.
19466         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
19467         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
19468         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
19469         HAVE_TRUNCATE.
19470         * modules/truncate: Likewise.
19471         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
19472         not HAVE_TRUNCATE.
19473         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
19474         HAVE_TRUNCATE.
19475         * doc/posix-functions/truncate.texi: Mention the issue.
19477 2018-05-13  Bruno Haible  <bruno@clisp.org>
19479         pthread: Fix compilation error on Android.
19480         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
19481         recursive inclusion of this file.
19483 2018-05-13  Bruno Haible  <bruno@clisp.org>
19485         posix_spawn: Fix compilation error on Android.
19486         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
19487         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
19488         (posix_spawn_file_actions_t): Consider also the case
19489         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
19491 2018-05-13  Bruno Haible  <bruno@clisp.org>
19493         tsearch: Move from K&R C to ANSI C.
19494         * lib/tsearch.c (tfind): Convert definition to ANSI C.
19496 2018-05-13  Bruno Haible  <bruno@clisp.org>
19498         tsearch: Fix compilation error on Android.
19499         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
19500         is 0.
19501         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
19502         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
19503         GNULIB_defined_tsearch is true.
19504         (twalk): Define only if GNULIB_defined_twalk is true.
19505         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
19506         is 0.
19507         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
19508         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
19509         * modules/search (Makefile.am): Substitute HAVE_TWALK.
19511 2018-05-13  Bruno Haible  <bruno@clisp.org>
19513         imaxdiv: Fix compilation error on Android.
19514         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
19515         is not defined.
19516         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
19517         HAVE_DECL_IMAXDIV, is 0.
19518         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
19519         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
19521 2018-05-13  Bruno Haible  <bruno@clisp.org>
19523         Support selective inclusion mechanism of recent mingw.org header files.
19524         Reported by Eli Zaretskii <eliz@gnu.org>.
19525         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
19526         __need_ssize_t, or __need_time_t is defined, just include the system's
19527         <sys/types.h>.
19528         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
19529         include the system's <locale.h>.
19531 2018-05-13  Bruno Haible  <bruno@clisp.org>
19533         Avoid compilation error due to 'mmap' on Android.
19534         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
19535         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
19536         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
19537         Undefine on Android.
19539 2018-05-13  Bruno Haible  <bruno@clisp.org>
19541         Add cross-compilation guesses for Linux systems without glibc.
19542         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
19543         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
19544         * m4/link.m4 (gl_FUNC_LINK): Likewise.
19545         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
19546         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
19547         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
19548         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
19549         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
19550         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
19551         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
19552         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19553         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19554         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
19555         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19556         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
19557         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
19558         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19559         * m4/utimens.m4 (gl_UTIMENS): Likewise.
19561 2018-05-13  Bruno Haible  <bruno@clisp.org>
19563         getpagesize: Fix compilation error on Android.
19564         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
19565         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
19566         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
19567         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
19568         HAVE_GETPAGESIZE accordingly.
19569         * modules/getcwd (Files): Add m4/getpagesize.m4.
19571 2018-05-13  Bruno Haible  <bruno@clisp.org>
19573         tcgetsid: Fix compilation error on Android.
19574         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
19575         AC_CHECK_FUNC.
19577 2018-05-13  Bruno Haible  <bruno@clisp.org>
19579         getpass: Fix configure test for Android.
19580         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
19581         AC_CHECK_FUNC.
19583 2018-05-13  Bruno Haible  <bruno@clisp.org>
19585         ffs: Fix compilation error on Android.
19586         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
19588 2018-05-13  Bruno Haible  <bruno@clisp.org>
19590         mkfifo: Fix compilation error on Android.
19591         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
19592         AC_CHECK_FUNC.
19594 2018-05-13  Bruno Haible  <bruno@clisp.org>
19596         c-strtod: Fix configure test for Android.
19597         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
19598         AC_CHECK_FUNC.
19600 2018-05-13  Bruno Haible  <bruno@clisp.org>
19602         random: Fix compilation error on Android.
19603         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
19604         AC_CHECK_FUNC.
19606 2018-05-13  Bruno Haible  <bruno@clisp.org>
19608         grantpt: Fix compilation error on Android.
19609         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
19610         AC_CHECK_FUNC.
19612 2018-05-13  Bruno Haible  <bruno@clisp.org>
19614         stdioext: Fix compilation errors with newer Android headers.
19615         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
19616         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
19617         fallbacks for Android.
19618         * lib/fpending.c: Update comments.
19619         * lib/fpurge.c: Likewise.
19620         * lib/freadable.h: Likewise.
19621         * lib/freadable.c: Likewise.
19622         * lib/freadahead.c: Likewise.
19623         * lib/freading.h: Likewise.
19624         * lib/freadptr.c: Likewise.
19625         * lib/fseterr.c: Likewise.
19626         * lib/fwritable.h: Likewise.
19627         * lib/fwritable.c: Likewise.
19628         * lib/fwriting.h: Likewise.
19629         * lib/fwriting.c: Likewise.
19631 2018-05-13  Bruno Haible  <bruno@clisp.org>
19633         doc: Add info about Android versions 2.0 to 8.1.
19634         * doc/**/*.texi: Add info about functions in all released versions of
19635         Bionic.
19637 2018-05-12  Bruno Haible  <bruno@clisp.org>
19639         fseeko: On mingw, don't use the hidden function _fseeki64.
19640         Reported by Eli Zaretskii <eliz@gnu.org>.
19641         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
19642         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
19644 2018-05-12  Bruno Haible  <bruno@clisp.org>
19646         glob: Choose 'dirent_type' in a way that works better on mingw.
19647         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
19648         * lib/glob.c (dirent_type): Define as uint_fast32_t.
19650 2018-05-12  Bruno Haible  <bruno@clisp.org>
19652         execute, spawn-pipe: Avoid warning about redefining 'close'.
19653         Reported by Eli Zaretskii <eliz@gnu.org>.
19654         * lib/execute.c: Undefine 'close' before redefining it.
19655         * lib/spawn-pipe.c: Likewise.
19657 2018-05-12  Bruno Haible  <bruno@clisp.org>
19659         nanosleep: Avoid test failure on mingw when it has nanosleep.
19660         Reported by Eli Zaretskii <eliz@gnu.org>.
19661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
19662         If it does not exist, use a simpler test program that does not call
19663         alarm().
19665 2018-05-10  Bruno Haible  <bruno@clisp.org>
19667         lock, cond, thread, tls: Use a different symbol as libpthread witness.
19668         Reported by Devin Hussey <husseydevin@gmail.com>.
19669         Based on a patch by Paul Eggert.
19670         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
19671         as witness of libpthread.
19672         * lib/glthread/cond.h (pthread_in_use): Likewise.
19673         * lib/glthread/thread.h (pthread_in_use): Likewise.
19674         * lib/glthread/tls.h (pthread_in_use): Likewise.
19676 2018-05-10  Bruno Haible  <bruno@clisp.org>
19678         cond tests: Fix compilation error on Solaris.
19679         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
19680         macro.
19682 2018-05-10  Bruno Haible  <bruno@clisp.org>
19684         doc: Add partial info about Android 4.3.
19685         * doc/*-functions/*.texi: Add info about functions that were added
19686         to Bionic between Android 4.3 and Android 9.0.
19688 2018-05-10  Bruno Haible  <bruno@clisp.org>
19690         doc: Add info about Android 9.0.
19691         * doc/**/*.texi: Add info about functions and headers in Bionic from
19692         Android 9.0.
19694 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19696         af_alg: fix my typo in afalg_buffer
19697         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
19698         (afalg_stream): Simplify and avoid the need for a runtime test
19699         at the end.
19701         af_alg: recover better from crypto failures
19702         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
19703         input stream is seekable, by repositioning the stream back to
19704         where it was, possibly by just calling sendfile with an offset
19705         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
19706         cases, which lets our callers try again with user-mode code.
19707         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
19708         instead of on fflush and lseek.
19710         af_alg: distiguish I/O errors better
19711         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
19712         not -EIO, if it’s OK for the caller to try again with user-mode code.
19713         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
19714         some other error number) if fflush fails, as the caller should not
19715         try again that case.
19717         af_alg: avoid gotos
19718         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
19719         gotos, as they were a source of unreliability and made the code a
19720         bit harder to follow.
19722         af_alg: don’t leak file descriptors into children
19723         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
19724         This code should be compiled only on recent GNU/Linux platforms
19725         so we shouldn’t have to also depend on the accept4 module.
19727         af_alg: coalesce socket creation
19728         * lib/af_alg.c (alg_socket): New function.
19729         (afalg_buffer, afalg_stream): Use it.  This avoids some
19730         code duplication and gotos.
19732         af_alg: fix file descriptor leak
19733         * lib/af_alg.c (afalg_stream): Close leak.
19735         af_alg: Pacify --enable-gcc-warnings on GCC 8
19736         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
19737         and checking to pacify gcc -Wjump-misses-init on GCC 8.
19739 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19741         af_alg: Pacify --enable-gcc-warnings
19742         Problem reported by Assaf Gordon in:
19743         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
19744         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
19745         gcc -Wjump-misses-init.
19746         * lib/sha512.c (shaxxx_stream): Now static.
19748 2018-05-06  Bruno Haible  <bruno@clisp.org>
19750         af_alg: Add ability to use Linux kernel crypto API on data in memory.
19751         * lib/af_alg.h (afalg_buffer): New declaration.
19752         * lib/af_alg.c (afalg_buffer): New function.
19754 2018-05-06  Bruno Haible  <bruno@clisp.org>
19756         af_alg: Avoid warnings.
19757         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
19758         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
19760 2018-05-06  Bruno Haible  <bruno@clisp.org>
19762         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
19763         * tests/bench-digest.h: New file.
19764         * tests/bench-md5.c: New file.
19765         * tests/bench-sha1.c: New file.
19766         * tests/bench-sha224.c: New file.
19767         * tests/bench-sha256.c: New file.
19768         * tests/bench-sha384.c: New file.
19769         * tests/bench-sha512.c: New file.
19770         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
19771         tests/bench-digest.h.
19772         (Depends-on): Add getrusage, gettimeofday.
19773         (Makefile.am): Add variables to build bench-md5.
19774         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
19775         tests/bench-digest.h.
19776         (Depends-on): Add getrusage, gettimeofday.
19777         (Makefile.am): Add variables to build bench-sha1.
19778         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
19779         tests/bench-sha256.c, tests/bench-digest.h.
19780         (Depends-on): Add getrusage, gettimeofday.
19781         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
19782         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
19783         tests/bench-sha512.c, tests/bench-digest.h.
19784         (Depends-on): Add getrusage, gettimeofday.
19785         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
19787 2018-05-06  Bruno Haible  <bruno@clisp.org>
19789         af_alg: Fix a resource leak.
19790         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
19791         New local variable 'result'.
19793 2018-05-06  Bruno Haible  <bruno@clisp.org>
19795         af_alg: Fix bug with streams that are not at position 0.
19796         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
19797         assume that the stream is positioned at position 0.
19798         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
19799         of the stream.
19800         * lib/md5.h (md5_stream): Likewise.
19801         * lib/sha1.h (sha1_stream): Likewise.
19802         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
19803         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
19804         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
19806         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
19807         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
19808         stream that is not positioned at the beginning.
19810 2018-05-06  Bruno Haible  <bruno@clisp.org>
19812         af_alg: Add configure option to enable/disable use of Linux crypto API.
19813         Suggested by Assaf Gordon <assafgordon@gmail.com>.
19814         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
19815         USE_LINUX_CRYPTO_API.
19816         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
19817         * lib/af_alg.c: Likewise.
19819 2018-05-06  Bruno Haible  <bruno@clisp.org>
19821         Followup to 'af_alg: New module.'.
19822         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
19823         * modules/crypto/sha1 (Depends-on): Likewise.
19824         * modules/crypto/sha256 (Depends-on): Likewise.
19825         * modules/crypto/sha512 (Depends-on): Likewise.
19827 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19829         crypto/{md5,sha1,sha256,sha512}: simplify
19830         * lib/md5.c (md5_stream):
19831         * lib/sha1.c (sha1_stream):
19832         * lib/sha256.c (shaxxx_stream):
19833         Simplify, partly by assuming C99.
19834         * lib/sha256.c (shaxxx_stream):
19835         New function, which implements both sha256 and sha224.
19836         Simplify, partly by assuming C99.
19837         (sha256_stream, sha224_stream):
19838         Use it to avoid code duplication, removing a FIXME.
19839         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19840         Likewise.
19842         af_alg: Improve comments.
19843         * lib/af_alg.h: Use imperatives and tighten up wording.
19845 2018-05-05  Bruno Haible  <bruno@clisp.org>
19847         af_alg: Improve comments.
19848         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
19850 2018-05-05  Bruno Haible  <bruno@clisp.org>
19852         af_alg: New module.
19853         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
19854         * lib/af_alg.c: Include "af_alg.h" before the other header files.
19855         * lib/md5.c: Include "af_alg.h" unconditionally.
19856         (md5_stream): Invoke afalg_stream unconditionally.
19857         * lib/sha1.c: Include "af_alg.h" unconditionally.
19858         (sha1_stream): Invoke afalg_stream unconditionally.
19859         * lib/sha256.c: Include "af_alg.h" unconditionally.
19860         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
19861         * lib/sha512.c: Include "af_alg.h" unconditionally.
19862         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
19863         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
19864         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
19865         * modules/crypto/af_alg: New file.
19866         * modules/crypto/md5 (Files): Remove files that are now in the
19867         'crypto/af_alg' module.
19868         (Depends-on): Add crypto/af_alg.
19869         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19870         (Makefile.am): Don't mention af_alg.c here.
19871         * modules/crypto/sha1 (Files): Remove files that are now in the
19872         'crypto/af_alg' module.
19873         (Depends-on): Add crypto/af_alg.
19874         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19875         (Makefile.am): Don't mention af_alg.c here.
19876         * modules/crypto/sha256 (Files): Remove files that are now in the
19877         'crypto/af_alg' module.
19878         (Depends-on): Add crypto/af_alg.
19879         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19880         (Makefile.am): Don't mention af_alg.c here.
19881         * modules/crypto/sha512 (Files): Remove files that are now in the
19882         'crypto/af_alg' module.
19883         (Depends-on): Add crypto/af_alg.
19884         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19885         (Makefile.am): Don't mention af_alg.c here.
19887 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19889         crypto tests: pacify GCC
19890         * tests/test-digest.h (test_digest_on_files):
19891         Don’t assume digest size fits in int (!).
19893         af_alg: minor style improvements
19894         * lib/af_alg.c (afalg_stream): Prefer C99 style
19895         decl-after-statement, since we’re already assuming C99.  Clarify
19896         by strengthening the bind test and omit unnecessary assignment.
19898 2018-05-05  Bruno Haible  <bruno@clisp.org>
19900         af_alg: Fix bug on empty files.
19901         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
19902         stream is empty.
19904 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19906         sys-limits.h: new file for crypto and safe I/O
19907         * lib/af_alg.c: Include sys-limits.h.
19908         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
19909         (afalg_stream): Also reject negative sizes for sendfile; they
19910         should not happen and the code is a bit cleaner and faster this way.
19911         * lib/safe-read.c: Include sys-limits.h.
19912         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
19913         * lib/sys-limits.h: New file, with values and commentary derived
19914         from the old safe-read.c and from GNU Emacs sysdep.c.
19915         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19916         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
19917         Add lib/sys-limits.h to Files section.
19919 2018-05-05  Bruno Haible  <bruno@clisp.org>
19921         af_alg: Improve function signature.
19922         * lib/af_alg.h (afalg_stream): Swap second and third argument.
19923         * lib/af_alg.c (afalg_stream): Likewise.
19924         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
19926 2018-05-05  Bruno Haible  <bruno@clisp.org>
19928         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
19929         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
19930         * modules/crypto/sha1 (Depends-on): Likewise.
19931         * modules/crypto/sha256 (Depends-on): Likewise.
19932         * modules/crypto/sha512 (Depends-on): Likewise.
19934 2018-05-05  Bruno Haible  <bruno@clisp.org>
19936         crypto/{md5,sha1,sha256,sha512}: Fix module description.
19937         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
19938         * modules/crypto/sha1 (Depends-on): Likewise.
19939         * modules/crypto/sha256 (Depends-on): Likewise.
19940         * modules/crypto/sha512 (Depends-on): Likewise.
19942 2018-05-05  Bruno Haible  <bruno@clisp.org>
19944         af_alg: Add documentation.
19945         * lib/af_alg.h: Add comments.
19947 2018-05-05  Bruno Haible  <bruno@clisp.org>
19949         sha512: Add tests.
19950         * tests/test-sha512.c: New file.
19951         * modules/crypto/sha512-tests: New file.
19953 2018-05-05  Bruno Haible  <bruno@clisp.org>
19955         sha256: Add tests.
19956         * tests/test-sha256.c: New file.
19957         * modules/crypto/sha256-tests: New file.
19959 2018-05-05  Bruno Haible  <bruno@clisp.org>
19961         sha1 tests: Add test for sha1_stream.
19962         * tests/test-sha1.c: Include test-digest.h.
19963         (main): Invoke test_digest_on_files on 'sha1_stream'.
19964         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
19966 2018-05-05  Bruno Haible  <bruno@clisp.org>
19968         md5 tests: Add test for md5_stream.
19969         * tests/test-digest.h: New file.
19970         * tests/test-md5.c: Include test-digest.h.
19971         (main): Invoke test_digest_on_files on 'md5_stream'.
19972         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
19974 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19976         md5sum: Use AF_ALG when available.
19977         * lib/md5.c: Include af_alg.h.
19978         (md5_stream): Use afalg_stream when available.
19979         * modules/crypto/md5 (Files): Add the af_alg files.
19980         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19981         (Makefile.am): Add af_alg.c.
19983 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19985         sha512sum: Use AF_ALG when available.
19986         * lib/sha512.c: Include af_alg.h.
19987         (sha512_stream, sha384_stream): Use afalg_stream when available.
19988         * modules/crypto/sha512 (Files): Add the af_alg files.
19989         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19990         (Makefile.am): Add af_alg.c.
19992 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19994         sha256sum: Use AF_ALG when available.
19995         * lib/sha256.c: Include af_alg.h.
19996         (sha256_stream, sha224_stream): Use afalg_stream when available.
19997         * modules/crypto/sha256 (Files): Add the af_alg files.
19998         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19999         (Makefile.am): Add af_alg.c.
20001 2018-04-28  Matteo Croce  <mcroce@redhat.com>
20003         sha1sum: Use AF_ALG when available.
20004         * lib/af_alg.h: New file.
20005         * lib/af_alg.c: New file.
20006         * lib/sha1.c: Include af_alg.h.
20007         (sha1_stream): Use afalg_stream when available.
20008         * m4/linux-if-alg.m4: New file.
20009         * modules/crypto/sha1 (Files): Add the new files.
20010         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
20011         (Makefile.am): Add af_alg.c.
20013 2018-05-05  Bruno Haible  <bruno@clisp.org>
20015         all: Replace more http URLs by https URLs.
20016         * lib/localename.c: Use https: URL.
20017         * lib/timespec.h: Likewise.
20019 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20021         maint: port more modules to GCC 8
20022         * lib/dirname.h (base_name):
20023         * lib/exclude.h (new_exclude):
20024         * lib/xstrndup.h (xstrndup):
20025         Add malloc attribute.
20026         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
20027         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
20028         This pacifies GCC 8.
20029         * m4/gnulib-common.m4 (gl_COMMON_BODY):
20030         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
20032 2018-05-03  Bruno Haible  <bruno@clisp.org>
20034         Simplify code. Drop support for Borland C++ on Windows.
20035         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
20036         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
20037         'defined _WIN32'.
20038         * lib/canonicalize-lgpl.c: Likewise.
20039         * lib/classpath.c: Likewise.
20040         * lib/clean-temp.c: Likewise.
20041         * lib/csharpexec.c: Likewise.
20042         * lib/ctime.c: Likewise.
20043         * lib/dosname.h: Likewise.
20044         * lib/dup2.c: Likewise.
20045         * lib/errno.in.h: Likewise.
20046         * lib/error.c: Likewise.
20047         * lib/euidaccess.c: Likewise.
20048         * lib/execute.c: Likewise.
20049         * lib/fcntl.in.h: Likewise.
20050         * lib/fcntl.c: Likewise.
20051         * lib/filename.h: Likewise.
20052         * lib/findprog.c: Likewise.
20053         * lib/flock.c: Likewise.
20054         * lib/fopen.c: Likewise.
20055         * lib/freopen.c: Likewise.
20056         * lib/fstat.c: Likewise.
20057         * lib/fsync.c: Likewise.
20058         * lib/gc-gnulib.c: Likewise.
20059         * lib/get-rusage-data.c: Likewise.
20060         * lib/getaddrinfo.c: Likewise.
20061         * lib/getdelim.c: Likewise.
20062         * lib/getdtablesize.c: Likewise.
20063         * lib/gethostname.c: Likewise.
20064         * lib/getlogin.c: Likewise.
20065         * lib/getlogin_r.c: Likewise.
20066         * lib/getopt.c: Likewise.
20067         * lib/getpagesize.c: Likewise.
20068         * lib/getpass.c: Likewise.
20069         * lib/getrusage.c: Likewise.
20070         * lib/gettimeofday.c: Likewise.
20071         * lib/glob.c: Likewise.
20072         * lib/inttypes.in.h: Likewise.
20073         * lib/isapipe.c: Likewise.
20074         * lib/javaexec.c: Likewise.
20075         * lib/link.c: Likewise.
20076         * lib/localcharset.c: Likewise.
20077         * lib/localename.h: Likewise.
20078         * lib/localename.c: Likewise.
20079         * lib/localtime.c: Likewise.
20080         * lib/lseek.c: Likewise.
20081         * lib/mbsinit.c: Likewise.
20082         * lib/mkdir.c: Likewise.
20083         * lib/msvc-nothrow.h: Likewise.
20084         * lib/nanosleep.c: Likewise.
20085         * lib/nl_langinfo.c: Likewise.
20086         * lib/nonblocking.c: Likewise.
20087         * lib/nproc.c: Likewise.
20088         * lib/open.c: Likewise.
20089         * lib/openpty.c: Likewise.
20090         * lib/pathmax.h: Likewise.
20091         * lib/pipe-filter-aux.c: Likewise.
20092         * lib/pipe-filter-gi.c: Likewise.
20093         * lib/pipe-filter-ii.c: Likewise.
20094         * lib/pipe.c: Likewise.
20095         * lib/pipe2.c: Likewise.
20096         * lib/poll.c: Likewise.
20097         * lib/popen.c: Likewise.
20098         * lib/posix_openpt.c: Likewise.
20099         * lib/printf-parse.c: Likewise.
20100         * lib/progreloc.c: Likewise.
20101         * lib/putenv.c: Likewise.
20102         * lib/read.c: Likewise.
20103         * lib/relocatable.c: Likewise.
20104         * lib/rename.c: Likewise.
20105         * lib/same-inode.h: Likewise.
20106         * lib/secure_getenv.c: Likewise.
20107         * lib/select.c: Likewise.
20108         * lib/sethostname.c: Likewise.
20109         * lib/setlocale.c: Likewise.
20110         * lib/sigaction.c: Likewise.
20111         * lib/sigprocmask.c: Likewise.
20112         * lib/sleep.c: Likewise.
20113         * lib/spawn-pipe.h: Likewise.
20114         * lib/spawn-pipe.c: Likewise.
20115         * lib/spawni.c: Likewise.
20116         * lib/stat-time.h: Likewise.
20117         * lib/stat-w32.c: Likewise.
20118         * lib/stat.c: Likewise.
20119         * lib/stdio.in.h: Likewise.
20120         * lib/stdio-impl.h: Likewise.
20121         * lib/stdio-read.c: Likewise.
20122         * lib/stdio-write.c: Likewise.
20123         * lib/stdlib.in.h: Likewise.
20124         * lib/strerror_r.c: Likewise.
20125         * lib/strftime-fixes.c: Likewise.
20126         * lib/sys_stat.in.h: Likewise.
20127         * lib/sys_types.in.h: Likewise.
20128         * lib/sys_wait.in.h : Likewise.
20129         * lib/system-quote.h: Likewise.
20130         * lib/system-quote.c: Likewise.
20131         * lib/tmpdir.c: Likewise.
20132         * lib/tzset.c: Likewise.
20133         * lib/uname.c: Likewise.
20134         * lib/unistd.in.h: Likewise.
20135         * lib/utime.in.h: Likewise.
20136         * lib/utime.c: Likewise.
20137         * lib/utimecmp.c: Likewise.
20138         * lib/utimens.c: Likewise.
20139         * lib/vasnprintf.c: Likewise.
20140         * lib/vma-iter.h: Likewise.
20141         * lib/vma-iter.c: Likewise.
20142         * lib/wait-process.c: Likewise.
20143         * lib/wcsftime.c: Likewise.
20144         * lib/wctype.in.h: Likewise.
20145         * lib/write.c: Likewise.
20146         * tests/nap.h: Likewise.
20147         * tests/test-cloexec.c: Likewise.
20148         * tests/test-dup-safer.c: Likewise.
20149         * tests/test-dup2.c: Likewise.
20150         * tests/test-dup3.c: Likewise.
20151         * tests/test-fcntl.c: Likewise.
20152         * tests/test-get-rusage-data.c: Likewise.
20153         * tests/test-getaddrinfo.c: Likewise.
20154         * tests/test-getlogin.h: Likewise.
20155         * tests/test-isatty.c: Likewise.
20156         * tests/test-localename.c: Likewise.
20157         * tests/test-mbrtowc-w32.c: Likewise.
20158         * tests/test-nonblocking.c: Likewise.
20159         * tests/test-nonblocking-pipe-main.c: Likewise.
20160         * tests/test-nonblocking-socket-main.c: Likewise.
20161         * tests/test-nonblocking-socket.h: Likewise.
20162         * tests/test-pipe.c: Likewise.
20163         * tests/test-pipe2.c: Likewise.
20164         * tests/test-poll.c: Likewise.
20165         * tests/test-pthread_sigmask1.c: Likewise.
20166         * tests/test-select.h: Likewise.
20167         * tests/test-sethostname2.c: Likewise.
20168         * tests/test-sigprocmask.c: Likewise.
20169         * tests/test-spawn-pipe-child.c: Likewise.
20170         * tests/test-stat-time.c: Likewise.
20171         * tests/test-system-quote-main.c: Likewise.
20172         * tests/test-utimens-common.h: Likewise.
20173         * tests/test-wcrtomb-w32.c: Likewise.
20174         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
20175         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20176         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
20177         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
20178         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
20179         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20180         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20181         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20182         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20183         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
20184         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
20185         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
20186         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
20187         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
20188         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
20189         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20191 2018-05-02  Bruno Haible  <bruno@clisp.org>
20193         localename: Fix test failures on mingw.
20194         * lib/localename.c (gl_locale_name_thread): Remove code specific to
20195         native Windows.
20196         (gl_locale_name_posix): Move code specific to native Windows here.
20197         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
20198         Accept result without charset suffix, as it appears on mingw.
20200 2018-04-28  Paul Smith  <psmith@gnu.org>
20202         bootstrap: Avoid gnulib operations if not needed
20203         * build-aux/bootstrap: Remove unused variable gnulib_mk.
20204         Set $gnulib_extra_files early so it can be overridden in .conf.
20205         Remove redundant --import flag from $gnulib_tool_options.
20206         Set $use_gnulib to false if no gnulib modules or files are needed.
20207         If $use_gnulib is false, don't do anything related to gnulib.
20208         A lot of this is just whitespace (indentation) changes.
20210 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
20212         manywarnings: port to GCC 8.0
20213         * build-aux/gcc-warning.spec: Add -Wcatch-value,
20214         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
20215         fact that the GCC help message now mentions operands for
20216         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
20217         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
20218         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
20219         and -Wunused-const-variable.
20220         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
20221         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
20222         -Wmissing-attributes, -Wmultistatement-macros,
20223         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
20224         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
20226 2018-04-24  Bruno Haible  <bruno@clisp.org>
20228         sys_socket: Make SO_REUSEPORT available across platforms.
20229         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20230         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
20231         * doc/posix-headers/sys_socket.texi: Mention the issue.
20232         * tests/test-poll.c (SO_REUSEPORT): Remove.
20233         * tests/test-select.h: Include <sys/socket.h>.
20234         (SO_REUSEPORT): Remove.
20235         * modules/select-tests (Depends-on): Add 'sys_socket'.
20237 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
20239         localcharset: short-circuit the search for an alias on a Mac
20240         * lib/localcharset.c (get_charset_aliases): Add a tautological
20241         UTF-8 entry to speed up the search for this case.
20242         Most machines default to a UTF-8 locale nowadays, so begin the
20243         list of aliases with a dummy UTF-8 entry so it will be found
20244         immediately and a time-consuming search through the rest of
20245         the list is avoided.
20247 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
20249         fts: add comment
20250         * lib/fts.c (fts_build): Explain why ==, not >.
20251         See remark by Bernhard Voelker in:
20252         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
20254         fts: fix bug in find across filesystems
20255         This fixes a bug I introduced last summer.
20256         Problem reported by Kamil Dudka in:
20257         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
20258         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
20259         (leaf_optimization):
20260         New arg for file descriptor.  All callers changed.
20261         (fts_build): Check for whether inodes should be sorted
20262         before closing the directory.
20264 2018-04-07  Bruno Haible  <bruno@clisp.org>
20266         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
20267         Reported by Genki Sky <sky@genki.is>.
20268         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
20269         version 0.9.10 or newer.
20270         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
20271         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
20272         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
20273         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
20274         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
20276 2018-04-07  Bruno Haible  <bruno@clisp.org>
20278         execute: Update comment.
20279         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
20281 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20283         fts: treat CIFS like NFS
20284         Problem reported by Kamil Dudka in:
20285         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
20286         * lib/fts.c (S_MAGIC_CIFS): New macro.
20287         (dirent_inode_sort_may_be_useful, leaf_optimization):
20288         Treat CIFS like NFS.
20290 2018-03-28  Bruno Haible  <bruno@clisp.org>
20292         c-stack: Fix possible build failure on some platforms.
20293         * lib/c-stack.c (die): Define whenever this function is referenced.
20295 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
20297         time_rz: fix workaround for Mac OS X 10.6 infloop
20298         Problems reported by Charles A. Roelli (Bug#27736#117).
20299         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
20300         Also, discard output, which clutters the 'configure' log.
20302 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
20304         havelib: port to Solaris 10 /bin/sh
20305         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
20306         instead of '! test EXPR'.
20308 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20310         time_rz: work around Mac OS X 10.6 infloop
20311         * doc/posix-functions/localtime.texi:
20312         * doc/posix-functions/localtime_r.texi: Mention the bug.
20313         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
20314         better to fix localtime and localtime_r instead, but that would be
20315         more work and is not needed to fix the Emacs problem.
20316         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
20318 2018-03-24  Jim Meyering  <meyering@fb.com>
20320         test-version-etc.sh: don't use diff directly: use init.sh's compare
20321         We'd rather not sacrifice readable "diff -u" output even for
20322         "diff -c" output (not supported by busybox) or for even less
20323         readable ed-style "diff" output.  So use init.sh's compare function
20324         * tests/test-version-etc.sh: Source init.sh and add "." to path.
20325         Remove "./" from invocation of test-version-etc, so we use path.
20326         And s/diff/compare/.
20327         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
20328         to get init.sh.
20329         Prompted by Eric Blake's comments in
20330         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
20332 2018-03-24  Bruno Haible  <bruno@clisp.org>
20334         javacomp-script, javacomp: Add support for Java 10.
20335         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
20336         target-version 10.
20337         * lib/javaversion.h: Update comments.
20338         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20339         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20340         TARGET_VERSION_BOUND, target_version_index,
20341         corresponding_classfile_version): Accept source_version 10 and
20342         target_version 10.
20343         * lib/javacomp.h: Update comments accordingly.
20345 2018-03-24  Bruno Haible  <bruno@clisp.org>
20347         javacomp-script, javacomp: Update comments.
20348         * m4/javacomp.m4: Update comments regarding gcj.
20349         * lib/javacomp.h: Likewise.
20351 2018-03-24  Bruno Haible  <bruno@clisp.org>
20353         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
20354         * lib/javaversion.h: Update comments.
20355         * lib/javacomp.h: Likewise.
20356         * lib/javacomp.c (default_target_version, source_version_index,
20357         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
20358         "1.9".
20359         (TARGET_VERSION_BOUND): Bump to 9.
20360         (target_version_index, corresponding_classfile_version): Recognize "9"
20361         instead of "1.9".
20362         (get_source_version_for_javac): New function.
20363         (is_envjavac_nongcj_usable, is_javac_usable): Add
20364         source_version_for_javac argument.
20365         (compile_java_class): Determine and pass source_version_for_javac.
20366         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
20367         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
20368         appropriate.
20370 2018-03-23  Jim Meyering  <meyering@fb.com>
20372         test-version-etc.sh: port to diff without -c
20373         * tests/test-version-etc.sh: Don't use diff's -c option.
20374         This caused spurious test failure on Alpine Linux, which
20375         uses busybox's diff. Reported by Assaf Gordon in
20376         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
20378 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
20380         c-stack: port to recent GCC build
20381         Problem reported by The Fireplace (Bug#30913).
20382         * lib/c-stack.c (die): Define only if used.
20384 2018-03-20  Bruno Haible  <bruno@clisp.org>
20386         euidaccess: Port to native Windows.
20387         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
20388         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
20390 2018-03-19  Bruno Haible  <bruno@clisp.org>
20392         javacomp: Add support for Java 7, 8, 9.
20393         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
20394         source_version_index, get_goodcode_snippet, get_failcode_snippet,
20395         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
20396         and target_version 1,7, 1.8, 1.9.
20397         * lib/javacomp.h: Update comments accordingly.
20399 2018-03-19  Bruno Haible  <bruno@clisp.org>
20401         javacomp-script: Add support for Java 9.
20402         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
20403         target-version 1.9.
20405 2018-03-16  Bruno Haible  <bruno@clisp.org>
20407         glob: Don't compile replacements on recent glibc systems.
20408         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
20409         REPLACE_GLOB is 0, include the system's <glob.h> and use
20410         _GL_CXXALIAS_SYS.
20411         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
20412         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
20413         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
20414         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
20415         Remove snippet/warn-on-use.
20416         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
20417         (Makefile.am): Create glob.h always. Update list of substitutions in
20418         glob.h. Don't depend on $(WARN_ON_USE_H).
20420 2018-03-16  Bruno Haible  <bruno@clisp.org>
20422         glob: Fix link error on native Windows.
20423         * modules/glob (Depends-on): Add 'lstat'.
20425 2018-03-15  Bruno Haible  <bruno@clisp.org>
20427         glob: Fix compilation error in C++ mode.
20428         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
20430 2018-03-15  Bruno Haible  <bruno@clisp.org>
20432         host-cpu-c-abi: Support for RISC-V CPU.
20433         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
20434         riscv32 and riscv64 ABIs.
20435         References:
20436         https://github.com/riscv/riscv-toolchain-conventions
20437         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
20438         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
20440 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
20442         fflush: be more paranoid about libio.h change
20443         Suggested by Eli Zaretskii in:
20444         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
20445         * lib/fbufmode.c (fbufmode):
20446         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20447         (disable_seek_optimization, rpl_fflush):
20448         * lib/fpending.c (__fpending):
20449         * lib/fpurge.c (fpurge):
20450         * lib/freadable.c (freadable):
20451         * lib/freadahead.c (freadahead):
20452         * lib/freading.c (freading):
20453         * lib/freadptr.c (freadptr):
20454         * lib/freadseek.c (freadptrinc):
20455         * lib/fseeko.c (fseeko):
20456         * lib/fseterr.c (fseterr):
20457         * lib/fwritable.c (fwritable):
20458         * lib/fwriting.c (fwriting):
20459         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
20461 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
20463         maint: write-file-hooks -> before-save-hook
20464         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
20465         it's time to use the recommended replacement.
20466         Problem reported by Glenn Morris in:
20467         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
20468         * build-aux/announce-gen, build-aux/bootstrap:
20469         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
20470         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
20471         * build-aux/gnu-web-doc-update, build-aux/gnupload:
20472         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
20473         * build-aux/update-copyright, build-aux/useless-if-before-free:
20474         * build-aux/vc-list-files:
20475         Update hook usage for files where Gnulib is the canonical source.
20477 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
20479         binary-io: pacify gcc -Wunused-parameter
20480         Problem reported by Reuben Thomas in:
20481         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
20482         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
20483         Use _GL_UNUSED where appropriate.
20485         fflush: adjust to glibc 2.28 libio.h removal
20486         Problem reported by Daniel P. Berrangé in:
20487         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
20488         * lib/fbufmode.c (fbufmode):
20489         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20490         (disable_seek_optimization, rpl_fflush):
20491         * lib/fpending.c (__fpending):
20492         * lib/fpurge.c (fpurge):
20493         * lib/freadable.c (freadable):
20494         * lib/freadahead.c (freadahead):
20495         * lib/freading.c (freading):
20496         * lib/freadptr.c (freadptr):
20497         * lib/freadseek.c (freadptrinc):
20498         * lib/fseeko.c (fseeko):
20499         * lib/fseterr.c (fseterr):
20500         * lib/fwritable.c (fwritable):
20501         * lib/fwriting.c (fwriting):
20502         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
20503         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
20504         Define if not already defined.
20506 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
20508         environ: fix link error on 32-bit Cygwin
20509         Problem reported for GNU Emacs by Ken Brown in:
20510         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
20511         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
20513 2018-02-24  Bruno Haible  <bruno@clisp.org>
20515         mbrtowc tests: Fix regression on glibc.
20516         Reported by Bernhard Voelker.
20517         * tests/test-mbrtowc.c (main): Fix expected value of wc.
20519 2018-02-24  Bruno Haible  <bruno@clisp.org>
20521         striconveha, uniconv/*: Avoid test failures on musl libc.
20522         * tests/iconvsupport.c: New file.
20523         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
20524         does not support the ISO-2022-JP-2 encoding.
20525         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
20526         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
20527         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
20528         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
20529         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
20530         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
20531         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
20532         (Makefile.am): Link test-striconveha with iconvsupport.o.
20533         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
20534         tests/iconvsupport.c.
20535         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
20536         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
20537         tests/iconvsupport.c.
20538         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
20539         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
20540         tests/iconvsupport.c.
20541         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
20542         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
20543         tests/iconvsupport.c.
20544         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
20545         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
20546         tests/iconvsupport.c.
20547         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
20548         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
20549         tests/iconvsupport.c.
20550         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
20552 2018-02-24  Bruno Haible  <bruno@clisp.org>
20554         localename: Add support for musl libc.
20555         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
20556         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
20557         on Linux platforms which define NL_LOCALE_NAME.
20559 2018-02-24  Bruno Haible  <bruno@clisp.org>
20561         mbrtowc tests: Don't make assumptions about the charset the C locale.
20562         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
20563         particular mapping in the C locale.
20565 2018-02-24  Bruno Haible  <bruno@clisp.org>
20567         ptsname_r: Don't expect that this function sets errno.
20568         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
20569         from ptsname_r().
20570         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
20572 2018-02-23  Bruno Haible  <bruno@clisp.org>
20574         xmalloca: pacify gcc -Wbad-function-cast
20575         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
20577 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
20579         nl_langinfo: pacify gcc -Wunused-function
20580         * lib/nl_langinfo.c (ctype_codeset): Do not define if
20581         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
20582         this case.  Without this change, I got a diagnostic when building
20583         coreutils on Fedora 27 with gcc 7.3.1 20180130.
20585         same: pacify gcc -Wunused-variable
20586         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
20587         Omit unused variable.
20589         malloca: pacify gcc -Wbad-function-cast
20590         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
20591         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
20592         To pacify GCC, I had to cast alloca’s result to some type other
20593         than void * before casting that to uintptr_t.
20595 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
20597         utimecmp: new function utimecmpat
20598         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
20599         Do not include utimens.h.
20600         (utimecmpat): New function, generalizing utimecmp.
20601         (utimecmp): Now a thin layer around utimecmpat.
20602         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
20603         utimensat instead of on lstat and utimens.
20605         same: new function same_nameat
20606         * lib/same.c: Include fcntl.h.
20607         * lib/same.c (same_nameat): New function, generalizing same_name.
20608         (same_name): Now a thin layer around same_nameat.
20609         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
20610         * modules/same (Depends-on): Depend on fstatat, openat.
20612 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
20614         warnings: Add support for Objective C.
20615         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
20616         macro.
20618 2018-02-17  Bruno Haible  <bruno@clisp.org>
20620         lock: Fix test-once1 crash on FreeBSD11.
20621         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
20622         'pthread_create', not 'pthread_cancel'.
20624 2018-02-17  Bruno Haible  <bruno@clisp.org>
20626         lock: Add test of gl_once.
20627         * tests/test-once.c: New file.
20628         * modules/lock-tests (Files): Add it.
20629         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
20631 2018-02-17  Bruno Haible  <bruno@clisp.org>
20633         thread: Fix compilation error on IRIX.
20634         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
20635         needed; include it outside the C++ extern "C" {} block.
20636         * doc/posix-headers/pthread.texi: Mention the problem with
20637         pthread_atfork on IRIX.
20639 2018-02-04  Bruno Haible  <bruno@clisp.org>
20641         nl_langinfo: Override the system's nl_langinfo() when needed.
20642         Reported by Jim Meyering.
20643         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
20644         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
20646 2018-02-04  Bruno Haible  <bruno@clisp.org>
20648         signal-h, monetary, strings: Fix build failure in some cases.
20649         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20650         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
20651         as delimiter in sed command, not '|'.
20652         * modules/monetary (Makefile.am): Likewise.
20653         * modules/strings (Makefile.am): Likewise.
20655 2018-02-03  Jim Meyering  <meyering@fb.com>
20657         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
20658         * top/maint.mk (sc_file_system): Don't complain about
20659         "/proc/filesystems".
20661 2018-02-03  Bruno Haible  <bruno@clisp.org>
20663         stdlib: Fix compilation error on OpenIndiana.
20664         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
20665         <sys/time.h>.
20666         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20667         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
20669 2018-02-03  Bruno Haible  <bruno@clisp.org>
20671         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
20672         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
20673         and use $EGREP instead of 'grep -E'.
20674         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
20675         'grep -E'.
20677 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
20679         malloca: Add a compile-time verification.
20680         * lib/malloca.c (small_t): Verify that it is wide enough.
20681         * modules/malloca (Depends-on): Add verify.
20683 2018-02-02  Bruno Haible  <bruno@clisp.org>
20685         malloca: Add an argument check.
20686         Suggested by Paul Eggert.
20687         * lib/malloca.c (freea): Check against an invalid argument.
20689 2018-02-02  Bruno Haible  <bruno@clisp.org>
20691         localename: Add support for OpenIndiana.
20692         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
20693         Solaris 11 variants with uselocale() but without getlocalename_l().
20695 2018-02-02  Bruno Haible  <bruno@clisp.org>
20697         malloca, xmalloca: Make multithread-safe.
20698         Reported by Florian Weimer <fweimer@redhat.com>.
20699         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
20700         * lib/malloca.h (malloca): In the stack allocation case, return a
20701         pointer that is a multiple of 2 * sa_alignment_max.
20702         (sa_increment): Remove enum item.
20703         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
20704         a pointer that is a multiple of 2 * sa_alignment_max.
20705         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
20706         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
20707         HASH_TABLE_SIZE, mmalloca_results): Remove.
20708         (small_t): New type.
20709         (mmalloca, free): Rewritten.
20710         * lib/malloca.valgrind: Remove file.
20711         * modules/malloca (Files): Remove it.
20712         (Depends-on): Remove verify.
20714 2018-01-31  Bruno Haible  <bruno@clisp.org>
20716         environ: Fix link error on 64-bit Cygwin.
20717         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
20718         __declspec(dllimport) attribute.
20719         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
20721 2018-01-30  Bruno Haible  <bruno@clisp.org>
20723         get-rusage-data: Add support for Minix 3.
20724         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
20726 2018-01-30  Bruno Haible  <bruno@clisp.org>
20728         vma-iter: Add support for Minix 3.
20729         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
20730         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
20732 2018-01-27  Bruno Haible  <bruno@clisp.org>
20734         Fix malfunction of socket functions on HP-UX in 64-bit mode.
20735         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
20736         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
20737         _HPUX_ALT_XOPEN_SOCKET_API.
20738         * modules/accept (Depends-on): Add 'extensions'.
20739         * modules/getpeername (Depends-on): Likewise.
20740         * modules/getsockname (Depends-on): Likewise.
20741         * modules/getsockopt (Depends-on): Likewise.
20742         * modules/recvfrom (Depends-on): Likewise.
20743         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
20744         * doc/posix-functions/getpeername.texi: Likewise.
20745         * doc/posix-functions/getsockname.texi: Likewise.
20746         * doc/posix-functions/getsockopt.texi: Likewise.
20747         * doc/posix-functions/recvfrom.texi: Likewise.
20749 2018-01-27  Bruno Haible  <bruno@clisp.org>
20751         getsockname tests: More tests.
20752         * tests/test-getsockname.c (open_server_socket): New function, mostly
20753         copied from test-poll.c.
20754         (main): Check that getsockname fills in addr.
20755         * modules/getsockname-tests (Depends-on): Add the necessary
20756         dependencies.
20757         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
20759 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
20761         manywarnings: fix maintainer comment
20762         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
20763         it does not mistakenly think that ‘-1)’ is an option.
20765 2018-01-26  Bruno Haible  <bruno@clisp.org>
20767         langinfo: Fix last commit.
20768         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20769         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
20771 2018-01-24  Bruno Haible  <bruno@clisp.org>
20773         langinfo, nl_langinfo: Add support for alternative month names.
20774         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
20775         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
20776         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
20777         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
20778         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
20779         * doc/posix-functions/nl_langinfo.texi: Likewise.
20781 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20783         Merge strftime.c changes from glibc
20784         This incorporates:
20785         2017-11-14 [BZ #10871] Implement alternative month names
20786         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
20787         2017-06-20 Use locale_t, not __locale_t, throughout glibc
20788         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
20789         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
20790         Use locale_t, not __locale_t.
20791         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
20792         (__strftime_internal): Add support for alternate months.
20794 2018-01-23  Bruno Haible  <bruno@clisp.org>
20796         doc: Mention another prerequisite for using Gnulib.
20797         Reported at <https://stackoverflow.com/questions/48378214/>.
20798         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
20799         AC_CONFIG_HEADERS.
20801 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
20803         build: GuixSD doesn't have /bin/bash
20804         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
20806 2018-01-21  Bruno Haible  <bruno@clisp.org>
20808         Avoid test failures on Microsoft Windows Subsystem for Linux.
20809         * tests/test-fcntl.c (main): Allow a different errno.
20810         * tests/test-rename.h (test_rename): Likewise.
20811         * tests/test-renameat.c (main): Likewise.
20812         * tests/test-renameat2.c (main): Likewise.
20814 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
20816         filenamecat: make base a suffix of result
20817         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
20818         (mfile_name_concat): Always make BASE a suffix of the result, as
20819         cp expects this.  To implement this, separate with '.' instead of
20820         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
20821         * tests/test-filenamecat.c (main): Adjust tests to match
20822         current behavior.  Check that BASE_IN_RESULT points to
20823         a copy of BASE and is a suffix of the resultk, and that DIR
20824         is a prefix of the result that is no longer than the prefix
20825         indicated by BASE_IN_RESULT.
20827 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
20829         update-copyright: Handle use of ©
20830         * build-aux/update-copyright ($circle_c_re): Update regex to
20831         handle use of © in headers.
20833 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
20835         Fix -Wundef warning in user-included header lib/cdefs.h.
20836         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
20838 2018-01-04  Bruno Haible  <bruno@clisp.org>
20840         pthread_sigmask: Avoid compilation error on mingw.
20841         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20842         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
20843         macro.
20845 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20847         test-framework-sh: ‘ps -ef’, not ‘ps ef’
20848         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
20849         Suggested by Bob Proulx (Bug#29968).
20850         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
20852 2018-01-02  Eric Blake  <eblake@redhat.com>
20854         stat-time: silence -Wunused-parameter regression
20855         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
20856         Prefer attribute over cast-to-void.
20857         (stat_time_normalize): Mark st as potentially unused.
20859 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
20861         test-framework-sh: avoid netstat
20862         Problem reported by Kristýna Streitová (Bug#29947).
20863         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
20864         deprecated on SuSE and it's not that important anyway.
20866 2018-01-01  Jim Meyering  <meyering@fb.com>
20868         update-copyright: add code to handle more special cases
20869         After running "make update-copyright" this year, five files
20870         required additional manual changes.  Automate those adjustments
20871         for next year.
20872         * Makefile (_year_and_prev): Define.
20873         (update-copyright): Add perl commands to induce this year's post-
20874         update-copyright adjustments.
20876 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
20878         version-etc: new year
20879         * build-aux/gendocs.sh (version):
20880         * doc/gendocs_template:
20881         * doc/gendocs_template_min:
20882         * doc/gnulib.texi:
20883         * lib/version-etc.c (COPYRIGHT_YEAR):
20884         Update copyright dates by hand in templates and the like.
20886         maint: fix 'make update-copyright'
20887         * Makefile (update-copyright): Adjust to 2016-11-23 change
20888         to config/srclist-update, which changed the format of srclist.txt.
20890 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
20892         chdir-safer: remove this module
20893         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
20894         * NEWS: Document removal.
20895         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
20896         * modules/chdir-safer: Remove these files.
20898 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
20900         Add cross-compilation results for GNU/Hurd.
20901         * m4/calloc.m4: Add GNU/Hurd guess.
20902         * m4/cbrtl.m4: Likewise.
20903         * m4/ceil.m4: Likewise.
20904         * m4/ceilf.m4: Likewise.
20905         * m4/ceill.m4: Likewise.
20906         * m4/chown.m4: Likewise.
20907         * m4/duplocale.m4: Likewise.
20908         * m4/exp2l.m4: Likewise.
20909         * m4/expm1.m4: Likewise.
20910         * m4/fchdir.m4: Likewise.
20911         * m4/floor.m4: Likewise.
20912         * m4/floorf.m4: Likewise.
20913         * m4/fmod.m4: Likewise.
20914         * m4/fmodf.m4: Likewise.
20915         * m4/fmodl.m4: Likewise.
20916         * m4/getcwd.m4: Likewise.
20917         * m4/getgroups.m4: Likewise.
20918         * m4/gettimeofday.m4: Likewise.
20919         * m4/hypot.m4: Likewise.
20920         * m4/hypotf.m4: Likewise.
20921         * m4/hypotl.m4: Likewise.
20922         * m4/link-follow.m4: Likewise.
20923         * m4/link.m4: Likewise.
20924         * m4/linkat.m4: Likewise.
20925         * m4/log.m4: Likewise.
20926         * m4/log10.m4: Likewise.
20927         * m4/log10f.m4: Likewise.
20928         * m4/log1p.m4: Likewise.
20929         * m4/log1pf.m4: Likewise.
20930         * m4/log1pl.m4: Likewise.
20931         * m4/log2.m4: Likewise.
20932         * m4/log2f.m4: Likewise.
20933         * m4/logf.m4: Likewise.
20934         * m4/lstat.m4: Likewise.
20935         * m4/malloc.m4: Likewise.
20936         * m4/mbrlen.m4: Likewise.
20937         * m4/mbrtowc.m4: Likewise.
20938         * m4/mkdir.m4: Likewise.
20939         * m4/mkfifo.m4: Likewise.
20940         * m4/mknod.m4: Likewise.
20941         * m4/mkstemp.m4: Likewise.
20942         * m4/modf.m4: Likewise.
20943         * m4/modff.m4: Likewise.
20944         * m4/modfl.m4: Likewise.
20945         * m4/printf.m4: Likewise.
20946         * m4/pselect.m4: Likewise.
20947         * m4/ptsname.m4: Likewise.
20948         * m4/putenv.m4: Likewise.
20949         * m4/readlink.m4: Likewise.
20950         * m4/realloc.m4: Likewise.
20951         * m4/remainder.m4: Likewise.
20952         * m4/remainderf.m4: Likewise.
20953         * m4/remainderl.m4: Likewise.
20954         * m4/rmdir.m4: Likewise.
20955         * m4/round.m4: Likewise.
20956         * m4/roundf.m4: Likewise.
20957         * m4/roundl.m4: Likewise.
20958         * m4/select.m4: Likewise.
20959         * m4/setenv.m4: Likewise.
20960         * m4/signbit.m4: Likewise.
20961         * m4/sleep.m4: Likewise.
20962         * m4/stat.m4: Likewise.
20963         * m4/strerror.m4: Likewise.
20964         * m4/strtok_r.m4: Likewise.
20965         * m4/symlink.m4: Likewise.
20966         * m4/symlinkat.m4: Likewise.
20967         * m4/trunc.m4: Likewise.
20968         * m4/truncf.m4: Likewise.
20969         * m4/truncl.m4: Likewise.
20970         * m4/tzset.m4: Likewise.
20971         * m4/ungetc.m4: Likewise.
20972         * m4/usleep.m4: Likewise.
20973         * m4/wcwidth.m4: Likewise.
20975 2017-12-28  Bruno Haible  <bruno@clisp.org>
20977         gnulib-tool: Make --conditional-dependencies work better.
20978         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
20979         * gnulib-tool (Options): Don't reject the combination of
20980         --conditional-dependencies with --with-tests.
20981         (func_emit_autoconf_snippets): Add argument referenceable_modules.
20982         Don't reference $modules.
20983         (func_import, func_create_testdir): Pass it.
20985 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20987         regex: use re_malloc etc. consistently
20988         Problem and original patch reported by Arnold Robbins in:
20989         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
20990         * lib/regcomp.c (re_comp):
20991         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
20992         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
20994 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
20995             Paul Eggert  <eggert@cs.ucla.edu>
20997         glob: Silence warning about void pointer arithmetic.
20998         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
20999         arithmetic.
21001 2017-12-15  Bruno Haible  <bruno@clisp.org>
21003         spawn-pipe: Silence a clang warning.
21004         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
21005         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
21006         in this file.
21008 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21010         explicit_bzero: port to macOS + Clang 9.0.0
21011         Problem reported by Marcus Johnson (Bug#29658).
21012         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
21013         Don’t use asm.
21015 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21017         doc: Improve explanation of supporting relocatable libraries.
21018         * doc/relocatable-maint.texi (Supporting Relocation): Explain
21019         properly how to build the relocatable module for
21020         libraries. (Method and example code from Bruno Haible.)
21022 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
21024         doc: Use better texinfo tags in a few cases.
21025         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
21026         instead of @samp in a few places.
21028 2017-12-11  Bruno Haible  <bruno@clisp.org>
21030         unistr/base: Update comment.
21031         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
21033 2017-12-10  Pádraig Brady  <P@draigBrady.com>
21035         test-faccessat.c: unlink temp file to avoid subsequent test failure
21036         * tests/test-faccessat.c: Remove the file to avoid failure
21037         to open the file on subsequent runs due to being created
21038         with no permissions.
21040 2017-12-10  Bruno Haible  <bruno@clisp.org>
21042         doc: New sect. "Modifying the build rules of a Gnulib import directory".
21043         * doc/gnulib-tool.texi (Modified build rules): New node.
21045 2017-12-10  Bruno Haible  <bruno@clisp.org>
21047         doc: Tweak wording.
21048         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
21049         "binaries".
21051 2017-12-05  Sam Steingold  <sds@gnu.org>
21052             Bruno Haible  <bruno@clisp.org>
21054         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
21055         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
21056         AC_EGREP_CPP pattern.
21058 2017-12-03  Bruno Haible  <bruno@clisp.org>
21060         all: Replace more http URLs by https URLs.
21061         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
21062         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
21063         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
21064         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
21066 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
21068         Port better to CentOS 5
21069         Problems reported by Tom G. Christensen in:
21070         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
21071         * doc/glibc-functions/strverscmp.texi (strverscmp):
21072         Document strverscmp bug with glibc 2.9 and earlier.
21073         * doc/posix-functions/tzset.texi (tzset):
21074         Document that TZ with angle brackets is POSIX-2001 and later.
21075         * tests/test-nstrftime.c: Include unistd.h.
21076         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
21077         (TZ): Use it to skip tests with angle brackets in TZ,
21078         for older systems.
21080         stat: add missing module dependencies
21081         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
21082         Add stat-time.
21084 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
21086         stat: fix compilation failure on macOS Sierra
21087         Reported by Marius Schamschula <mschamschula@gmail.com> in:
21088         https://savannah.gnu.org/bugs/?52546
21089         * lib/stat.c: Add missing include of stat-time.h.
21091 2017-11-28  Jim Meyering  <meyering@fb.com>
21093         test-faccessat.c: correct BASE definition to avoid parallel test failure
21094         * tests/test-faccessat.c (BASE): Define using this file's name, not
21095         that of test-lstat.c.  Using the latter caused this test to fail
21096         sometimes when run concurrently with test-lstat.
21098 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21100         unicase: fix VPATH build
21101         * modules/unicase/special-casing (Makefile.am): Ensure that the
21102         base directory is created when generating
21103         unicase/special-casing.h.
21105 2017-11-27  Daiki Ueno  <ueno@gnu.org>
21107         libunistring: update to Unicode 9.0.0
21108         * lib/gen-uni-tables.c (fill_properties): Recognize
21109         Sentence_Terminal and Prepended_Concatenation_Mark.
21110         (is_property_default_ignorable_code_point): Exclude U+08E2.
21111         (fill_arabicshaping): Allow missing whitespace when parsing;
21112         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
21113         (output_blocks): Increase the element size of the level1 table to
21114         accommodate more blocks.
21115         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
21116         Update each class according to the standard.
21117         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
21118         E_Base_GAZ characters.
21119         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
21120         Glue_After_Zwj, and E_Base_GAZ characters.
21121         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
21122         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
21123         enum value.
21124         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
21125         value.
21126         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
21127         LBP_ZWJ, LBP_EB, and LBP_EM.
21128         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
21129         enum value.
21130         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
21131         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
21132         declaration.
21133         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
21134         (uniwbrk_table): Implement WB14.
21135         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
21136         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
21137         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
21138         uc-is-grapheme-break.
21139         * modules/unigbrk/uc-grapheme-breaks: New module.
21140         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
21141         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
21142         enum value.
21143         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
21144         * lib/unigbrk/u-grapheme-breaks.h: New file.
21145         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
21146         u-grapheme-breaks.h instead of uc_is_grapheme_break.
21147         * lib/unigbrk/uc-grapheme-breaks.c: New file.
21148         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
21149         29.
21150         * tests/unigbrk/test-uc-gbrk-prop.c
21151         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21152         GBP_GAZ, and GBP_EBG.
21153         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
21154         * tests/unigbrk/test-uc-is-grapheme-break.c
21155         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
21156         GBP_GAZ, and GBP_EBG.
21157         (main): Skip unsupported rules involving 3 or more characters,
21158         namely GB10, GB12, and GB13.
21159         * lib/uniwidth/width.c (nonspacing_table_data): Update.
21160         * all generated files under lib/uni* and tests/uni*: Regenerate.
21161         * all the affected modules: Bump version.
21163 2017-11-26  Bruno Haible  <bruno@clisp.org>
21165         strfmon_l: Fix compilation error with glibc 2.5.
21166         Reported by Tom G. Christensen <tgc@jupiterrise.com>
21167         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
21168         * lib/monetary.in.h: Include also <locale.h>.
21170 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21172         posixtm: remove PDS_LEADING_YEAR
21173         This changes the API slightly, in a hopefully-innocuous way.
21174         Without this change the code had undefined behavior when a
21175         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
21176         Problem reported by Pádraig Brady in:
21177         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
21178         * NEWS: Mention this.
21179         * lib/posixtm.c (posix_time_parse): Treat the absence of
21180         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
21181         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
21182         present, but define it as zero, for compatibility with existing
21183         source code).  All other PDS_* values moved up.
21184         * tests/test-posixtm.c (LY): New macro.
21185         (T): Use it.  Do not expect a particular numeric encoding
21186         for PDS_CENTURY etc.
21188 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21190         stat: work around Solaris bug with tv_nsec < 0
21191         * doc/posix-functions/fstat.texi (fstat):
21192         * doc/posix-functions/fstatat.texi (fstatat):
21193         * doc/posix-functions/lstat.texi (lstat):
21194         * doc/posix-functions/stat.texi (stat):
21195         Mention Solaris 11 bug.
21196         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
21197         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
21198         * lib/lstat.c (rpl_lstat):
21199         * lib/stat.c (rpl_stat):
21200         Normalize resulting timestamps.
21201         * lib/fstatat.c (normal_fstatat): New function.
21202         (rpl_fstatat): Use it.
21203         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
21204         (stat_time_normalize): New function.
21205         * m4/fstat.m4 (gl_FUNC_FSTAT):
21206         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
21207         * m4/lstat.m4 (gl_FUNC_LSTAT):
21208         * m4/stat.m4 (gl_FUNC_STAT):
21209         Replace on Solaris.
21210         * modules/fstat (Depends-on):
21211         * modules/fstatat (Depends-on):
21212         Add stat-time.
21213         * modules/stat-time (Depends-on): Add errno, intprops.
21215 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21217         regex: merge from glibc
21218         * lib/regcomp.c (init_word_char): Add comments.
21220 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21222         regex: merge from glibc
21223         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
21224         * lib/regex_internal.h (internal_function): Remove.
21225         All uses removed.
21227 2017-11-20  Bruno Haible  <bruno@clisp.org>
21229         crypto/gc-sm3: Fix buffer overrun.
21230         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
21231         Reported by Coverity.
21233 2017-11-12  Jim Meyering  <meyering@fb.com>
21235         maint: shorten https://lists.gnu.org/archive/html/... links
21236         Each /archive/html/ part can be replace with /r/.
21237         Run this to induce the change:
21238         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
21239         * ChangeLog: Perform that substitution.
21240         * Makefile: Likewise.
21241         * STATUS-libposix: Likewise.
21242         * build-aux/bootstrap: Likewise.
21243         * doc/maintain.texi: Likewise.
21244         * gnulib-tool: Likewise.
21245         * lib/allocator.h: Likewise.
21246         * lib/argp-ba.c: Likewise.
21247         * lib/argp-pv.c: Likewise.
21248         * lib/canon-host.c: Likewise.
21249         * lib/canonicalize-lgpl.c: Likewise.
21250         * lib/float.in.h: Likewise.
21251         * lib/fstat.c: Likewise.
21252         * lib/getdelim.c: Likewise.
21253         * lib/getprogname.c: Likewise.
21254         * lib/glthread/thread.h: Likewise.
21255         * lib/intprops.h: Likewise.
21256         * lib/mbsrtowcs-state.c: Likewise.
21257         * lib/safe-read.c: Likewise.
21258         * lib/signal.in.h: Likewise.
21259         * lib/stat.c: Likewise.
21260         * lib/stdbool.in.h: Likewise.
21261         * lib/stdio-impl.h: Likewise.
21262         * lib/stdio.in.h: Likewise.
21263         * lib/sysexits.in.h: Likewise.
21264         * lib/timespec.h: Likewise.
21265         * lib/wcsrtombs-state.c: Likewise.
21266         * m4/alloca.m4: Likewise.
21267         * m4/extern-inline.m4: Likewise.
21268         * m4/fstatat.m4: Likewise.
21269         * m4/gnulib-common.m4: Likewise.
21270         * m4/lib-ignore.m4: Likewise.
21271         * m4/printf.m4: Likewise.
21272         * m4/regex.m4: Likewise.
21273         * m4/stat-size.m4: Likewise.
21274         * m4/std-gnu11.m4: Likewise.
21275         * m4/stdbool.m4: Likewise.
21276         * m4/sys_types_h.m4: Likewise.
21277         * m4/threadlib.m4: Likewise.
21278         * m4/vararrays.m4: Likewise.
21279         * pygnulib/GLImport.py: Likewise.
21280         * tests/test-exp.h: Likewise.
21281         * tests/test-exp2.h: Likewise.
21282         * tests/test-expm1.h: Likewise.
21283         * tests/test-fflush2.c: Likewise.
21284         * tests/test-getopt_long.h: Likewise.
21285         * tests/test-intprops.c: Likewise.
21286         * tests/test-log.h: Likewise.
21287         * tests/test-log10.h: Likewise.
21288         * tests/test-log1p.h: Likewise.
21289         * tests/test-log2.h: Likewise.
21290         * tests/test-printf-posix.h: Likewise.
21291         * tests/test-regex.c: Likewise.
21292         * tests/test-snprintf-posix.h: Likewise.
21293         * tests/test-sprintf-posix.h: Likewise.
21294         * tests/test-stdalign.c: Likewise.
21295         * tests/test-stdbool.c: Likewise.
21296         * tests/test-vasnprintf-posix.c: Likewise.
21297         * tests/test-vasprintf-posix.c: Likewise.
21298         * top/maint.mk: Likewise.
21300 2017-11-12  Bruno Haible  <bruno@clisp.org>
21302         faccessat: Make the last change more robust.
21303         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
21304         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
21306 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21308         faccessat: port to macOS (Bug#29231)
21309         macOS faccessat has the same bug that lstat does: if the file
21310         name ends in '/' it ignores the trailing slash.
21311         Problem reported for Emacs by Vincent Zhang.
21312         * doc/posix-functions/faccessat.texi (faccessat): Document this.
21313         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
21314         around the initial includes.  Include errno.h, string.h, sys/stat.h.
21315         (orig_faccessat) [HAVE_FACCESSAT]: New function.
21316         Include "unistd.h" after defining it.
21317         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
21318         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
21319         Handle in the usual way.
21320         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
21321         lstat dereferences symlinks, since faccessat is likely to
21322         have the same problem.
21323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
21324         * modules/faccessat (Depends-on): Add fstatat.
21325         Depend if REPLACE_FACCESSAT is 1, too.
21326         (configure.ac): Link if REPLACE_FACCESSAT is 1.
21327         * modules/faccessat-tests (Depends-on): Add symlink.
21328         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
21329         * tests/test-faccessat.c (main): Test for the bug.
21331 2017-11-11  Bruno Haible  <bruno@clisp.org>
21333         getprogname: Fix compilation error on IRIX.
21334         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
21335         'namesize'.
21337 2017-11-11  Bruno Haible  <bruno@clisp.org>
21339         year2038: Tweak last patch.
21340         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
21342 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
21344         year2038: be more insistent about 64-bit time_t
21345         Applications requiring access to arbitrary files should not be
21346         built with 32-bit time_t on hosts that have 64-bit timestamps,
21347         as this can lead to real trouble at runtime.
21348         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
21349         Check on all systems, not just MinGW.  Use a heuristic involving
21350         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
21351         output a failure or just a warning, to make it more likely that
21352         builders will select 64-bit time_t.
21354 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21356         havelib: fix typo in previous change
21357         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
21359         Don’t use AC_EGREP_CPP if affected by CFLAGS
21360         * m4/float_h.m4 (gl_FLOAT_H):
21361         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
21362         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
21363         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
21364         * m4/year2038.m4 (gl_YEAR2038):
21365         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
21366         likely to be affected by the choice of CFLAGS, since CFLAGS are
21367         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
21368         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
21370         fstatat: pacify GCC on unusual platform
21371         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
21372         Omit, as it’s unused in this case.
21374 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21376         timespec: prefer ‘assume’ to ‘assure’
21377         This avoids some runtime tests.  The rest of the module makes
21378         similar assumptions and there is little point to testing here.
21379         * lib/timespec.h: Include verify.h instead of assure.h.
21380         (timespec_cmp): Use ‘assume’, not ‘assure’.
21381         Also, remove an unnecessary cast to ‘int’, as lots of other
21382         code in this module now causes -Wconversion to complain, and
21383         this is a problem with -Wconversion not with the code.
21385         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
21387         Port recent gnulib-tool change to Dash
21388         * gnulib-tool (func_create_testdir): Don't assume that the shell
21389         retokenizes after expanding "$@" inside the call to
21390         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
21392 2017-10-27  Jim Meyering  <meyering@fb.com>
21394         timespec.h: use "assure" to avoid a spurious warning
21395         * lib/timespec.h: Include "assure.h" and use it to help
21396         gcc7's -Wstrict-overflow avoid a false positive warning
21397         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
21398         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
21399         * modules/timespec (Depends-on): Add assure.
21401 2017-10-29  Bruno Haible  <bruno@clisp.org>
21403         Avoid several test failures with traditional locales on Haiku.
21404         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
21405         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
21406         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
21407         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
21408         LOCALE_ZH_CN=none.
21410 2017-10-29  Bruno Haible  <bruno@clisp.org>
21412         strerror_r-posix: Fix behaviour and test failure on Haiku.
21413         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
21414         are positive. Work around return value 0 instead of ERANGE on Haiku.
21415         For unknown error numbers, use a format string consistent with perror().
21416         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
21417         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
21418         are positive.
21420 2017-10-29  Bruno Haible  <bruno@clisp.org>
21422         get-rusage-data: Avoid crash on Haiku.
21423         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
21425 2017-10-29  Bruno Haible  <bruno@clisp.org>
21427         get-rusage-as: Avoid crash on Haiku.
21428         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
21430 2017-10-29  Bruno Haible  <bruno@clisp.org>
21432         ilogbl: Ensure replacement on Haiku.
21433         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
21434         REPLACE_ILOGBL if ilogbl does not work.
21435         (gl_FUNC_ILOGBL_WORKS): New macro.
21436         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
21437         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
21438         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
21439         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
21440         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
21442 2017-10-29  Bruno Haible  <bruno@clisp.org>
21444         expl: Ensure replacement on Haiku.
21445         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
21446         zero.
21447         * doc/posix-functions/expl.texi: Mention the Haiku problem.
21449 2017-10-29  Bruno Haible  <bruno@clisp.org>
21451         math: Fix test failure on Haiku.
21452         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
21453         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
21454         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
21455         * doc/posix-headers/math.texi: Mention the Haiku problem.
21457 2017-10-29  Bruno Haible  <bruno@clisp.org>
21459         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
21460         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
21461         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
21463 2017-10-29  Bruno Haible  <bruno@clisp.org>
21465         crypto/*: Verify that the header file is self-contained.
21466         * tests/test-gc-*.c: Include the module's header file immediately after
21467         <config.h>.
21468         * tests/test-hmac-*.c: Likewise.
21469         * tests/test-arcfour.c: Likewise.
21470         * tests/test-arctwo.c: Likewise.
21471         * tests/test-des.c: Likewise.
21472         * tests/test-md2.c: Likewise.
21473         * tests/test-md4.c: Likewise.
21474         * tests/test-md5.c: Likewise.
21475         * tests/test-rijndael.c: Likewise.
21476         * tests/test-sha1.c: Likewise.
21477         * tests/test-sm3.c: Likewise.
21479 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21480             Bruno Haible  <bruno@clisp.org>
21482         crypto/gc: fix build failure with -Werror=suggest-attribute=const
21483         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
21485 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21487         New module: crypto/gc-sm3
21488         * lib/gc.h: Declare SM3-related stuffs.
21489         * lib/gc-gnulib.c: Support sm3 in internal functions.
21490         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
21491         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
21492         * modules/crypto/gc-sm3: Define gc-sm3 module.
21493         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
21494         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
21495         * MODULES.html.sh: List gc-sm3 module.
21497 2017-10-29  Bruno Haible  <bruno@clisp.org>
21499         random, random_r: Mention different prototypes on Haiku.
21500         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
21501         * doc/glibc-functions/random_r.texi: Likewise.
21502         * doc/glibc-functions/initstate_r.texi: Likewise.
21503         * doc/glibc-functions/setstate_r.texi: Likewise.
21505 2017-10-28  Bruno Haible  <bruno@clisp.org>
21507         posix_spawn: Avoid spurious message in configure output.
21508         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
21509         'cmp' command.
21511 2017-10-28  Bruno Haible  <bruno@clisp.org>
21513         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
21514         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
21515         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
21517 2017-10-28  Bruno Haible  <bruno@clisp.org>
21519         ioctl: Override non-POSIX declaration on Haiku.
21520         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
21521         * lib/sys_ioctl.in.h: Add comment about Haiku.
21522         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
21523         * doc/glibc-headers/sys_ioctl.texi: Likewise.
21525 2017-10-28  Bruno Haible  <bruno@clisp.org>
21527         crypto/sm3: Add overview documentation to the .h file.
21528         * lib/sm3.h: Add comments.
21530 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21532         New module: crypto/sm3
21533         This new module can be used to compute SM3 message digest of files or
21534         memory blocks according to the specification GM/T 004-2012
21535         Cryptographic Hash Algorithm SM3, published by State Cryptography
21536         Administration, China.
21537         The official SM3 cryptographic hash algorithm specification is
21538         available at
21539         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
21540         * lib/sm3.h: Declare the APIs of sm3 module.
21541         * lib/sm3.c: Implement SM3 hash algorithm.
21542         * m4/sm3.m4: m4 file for sm3 module.
21543         * modules/crypto/sm3: Define sm3 module.
21544         * tests/test-sm3.c: Implement SM3 test case.
21545         * modules/crypto/sm3-tests: Define sm3 test module.
21546         * MODULES.html.sh: List sm3 module.
21548 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21550         gc-libgcrypt: fix undefined enum type in switch statement
21551         Resolve the following build failure:
21552         lib/gc-libgcrypt.c: In function 'gc_hash_open':
21553         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
21554         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
21555              case 0:
21556              ^~~~
21557         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
21558         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
21560 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
21562         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
21563         Resolve the following build failure:
21564         lib/gc-libgcrypt.c: In function 'gc_hash_read':
21565         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
21566         in signedness [-Werror=pointer-sign]
21567             digest = gcry_md_read (ctx->gch, 0);
21568                    ^
21569         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
21571 2017-10-26  Bruno Haible  <bruno@clisp.org>
21573         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
21574         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
21575         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
21577 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
21579         glob: fix another heap buffer overflow
21580         Problem reported by Tim Rühsen in:
21581         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
21582         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
21584 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
21586         quotearg: pacify compiler re unsigned
21587         * lib/quotearg.c (quotearg_n_options):
21588         Rewrite to avoid diagnostic from overly-picky compiler.
21589         Problem reported by Sami Kerola in:
21590         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
21592         glob: fix heap buffer overflow
21593         * lib/glob.c (glob): Fix off-by-one error introduced into
21594         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
21595         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
21596         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
21597         Fix suggested by Bruno Haible.
21599 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21601         glob: pacify fuzzer for mempcpy
21602         Problem reported by Tim Rühsen in:
21603         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
21604         * lib/glob.c (glob): Do not pass NULL to mempcpy.
21606 2017-10-12  Bruno Haible  <bruno@clisp.org>
21608         doc: Fix syntax error (regression from 2017-10-03).
21609         * doc/posix-functions/strncpy.texi: Fix syntax error.
21611 2017-10-12  Bruno Haible  <bruno@clisp.org>
21613         doc: Update for Solaris 11.3.
21614         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
21615         mention Solaris 11.3.
21616         * m4/log2.m4: Fix comments.
21617         * m4/log2f.m4: Likewise.
21618         * m4/printf.m4: Update comments.
21619         * m4/rename.m4: Likewise.
21620         * m4/strncat.m4: Likewise.
21622         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
21624 2017-10-10  Bruno Haible  <bruno@clisp.org>
21626         doc: Improve doc about ioctl.
21627         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
21628         prototype.
21630 2017-10-09  Bruno Haible  <bruno@clisp.org>
21632         wcwidth: Don't use obsolete syntax of 'test'.
21633         Reported by Eric Blake.
21634         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
21635         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
21637 2017-10-09  Bruno Haible  <bruno@clisp.org>
21639         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
21640         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
21641         and Daniel P. Berrange <berrange@redhat.com>.
21642         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
21643         on glibc systems. The getopt-pfx-core.h file declares exactly what
21644         unistd.h needs, nothing more.
21646 2017-10-08  Bruno Haible  <bruno@clisp.org>
21648         vma-iter: Improve support for FreeBSD.
21649         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
21650         vma_iterate.
21651         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
21653 2017-10-08  Bruno Haible  <bruno@clisp.org>
21655         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
21656         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
21658 2017-10-07  KO Myung-Hun  <komh@chollian.net>
21660         test-framework-sh: Fix 'invalid path dir' error.
21661         On OS/2, a path separator is ';' not ':'. And ':' is used as a
21662         separator between a drive letter and directory parts.
21663         As a result, an absolute path such as x:/path/to/dir on OS/2 is
21664         treated as an invalid path dir.
21665         * tests/init.sh (PATH_SEPARATOR): Set at startup.
21666         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
21667         instead of hard coded ':'.
21669 2017-10-07  Bruno Haible  <bruno@clisp.org>
21671         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
21672         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
21673         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
21674         (rof_open): On Linux, do multiple read() calls and make sure
21675         MIN_LEFTOVER bytes are left when read() returns.
21677 2017-10-07  Bruno Haible  <bruno@clisp.org>
21679         vma-iter: Improve support for GNU/Hurd.
21680         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
21681         API, not the /proc file system.
21683 2017-10-07  Bruno Haible  <bruno@clisp.org>
21685         test-framework-sh: Don't require bash on Windows and OS/2.
21686         Reported by KO Myung-Hun.
21687         * tests/test-init.sh: Use 'shopt' only when running in bash.
21689 2017-10-06  KO Myung-Hun  <komh@chollian.net>
21691         wcwidth: check a macro version of wcwidth () as well
21692         * lib/wchar.in.h: Revert commit from 2016-01-14.
21693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
21695 2017-10-06  Bruno Haible  <bruno@clisp.org>
21697         getopt-posix: Clarify copyright header.
21698         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
21699         * lib/getopt-pfx-core.h: Likewise.
21700         * lib/getopt-pfx-ext.h: Likewise.
21701         * lib/getopt-cdefs.in.h: Likewise.
21703 2017-10-03  Bruno Haible  <bruno@clisp.org>
21705         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
21706         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
21707         gl_HOST_CPU_C_ABI.
21709 2017-10-03  Bruno Haible  <bruno@clisp.org>
21711         doc: warn about misuse of strncpy and wcsncpy.
21712         * doc/posix-functions/strcpy.texi: Describe requirements on prior
21713         memory allocation.
21714         * doc/posix-functions/wcscpy.texi: Likewise.
21715         * doc/posix-functions/strncpy.texi: Describe what this function is not
21716         useful for.
21717         * doc/posix-functions/wcsncpy.texi: Likewise.
21719 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21721         fsuage: fix typo in previous change
21722         * lib/fsusage.c: Remove stray include of full-read.h.
21723         Problem reported by Sam Steingold for macOS (Bug#28669).
21725 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21727         fsusage: remove SVR2 support
21728         SVR2 was obsolete by 1986 and is no longer supported by anybody,
21729         and its code was getting in the way of use of this module by
21730         Emacs, which has its own ‘read’ function anyway.
21731         * lib/fsusage.c: Do not include sys/filsys.h.
21732         (get_fs_usage): Remove SVR2-specific code.
21733         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
21734         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
21735         * modules/fsusage (Depends-on): Do not depend on full-read.
21737         Simplify autoupdate of licenses
21738         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
21739         place.
21741 2017-10-01  Bruno Haible  <bruno@clisp.org>
21743         vma-iter: Add support for GNU/Hurd.
21744         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
21745         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21747 2017-09-30  Bruno Haible  <bruno@clisp.org>
21749         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
21750         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
21751         fail when module 'largefile' is in use.
21752         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
21753         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
21754         Don't test HAVE_SYS_PROCFS_H.
21756 2017-09-30  Bruno Haible  <bruno@clisp.org>
21758         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
21759         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
21760         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
21761         * modules/havelib (Depends-on): Add host-cpu-c-abi.
21763 2017-09-30  Bruno Haible  <bruno@clisp.org>
21765         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
21766         * lib/uniname/uniname.c (unicode_name_character): Add braces around
21767         scope of local variables.
21769 2017-09-28  Bruno Haible  <bruno@clisp.org>
21771         string: code style
21772         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
21773         substitutable variables.
21774         * modules/string (Makefile.am): Likewise.
21776 2017-09-26  Bruno Haible  <bruno@clisp.org>
21778         uniname/uniname-tests: Tighten code.
21779         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
21780         local variables into one.
21782 2017-09-26  Bruno Haible  <bruno@clisp.org>
21784         vma-iter: Improvements for Linux and BSD platforms.
21785         - Add support for DragonFly BSD.
21786         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
21787         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
21788         Read the entire file into memory in a single system call.
21789         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
21790         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
21792 2017-09-26  Bruno Haible  <bruno@clisp.org>
21794         vma-iter: Provide the protection flags on FreeBSD.
21795         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
21796         skip three fields between the addresses and the protection flags.
21798 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21800         glob: remove bogus extern decl
21801         * lib/glob.c (__glob_pattern_type): Remove now-spurious
21802         extern declaration.  Problem reported by Adhemerval Zanella in:
21803         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
21805 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
21807         uniname/uniname-tests: integer overflow fix
21808         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
21809         Check for integer overflow.
21811         duplocale-tests: fix unlikely crash
21812         * tests/test-duplocale.c (get_locale_dependent_values):
21813         Don’t crash with absurdly long month names.
21815         maint: fix overflow checking in nap.h
21816         * modules/chown-tests:
21817         * modules/fchownat-tests, modules/fdutimensat-tests:
21818         * modules/futimens-tests, modules/lchown-tests:
21819         * modules/stat-time-tests, modules/utime-tests:
21820         * modules/utimens-tests, modules/utimensat-tests:
21821         Depend on intprops.
21822         * tests/nap.h: Include intprops.h.
21823         (diff_timespec): Handle overflow properly.
21825         sys_types: update URL
21826         * m4/sys_types_h.m4: Use https: URL.
21828         parse-datetime: fix dependency
21829         * modules/parse-datetime (Depends-on): Depend
21830         on nstrftime, not strftime.
21832         parse-datetime, posixtm: avoid uninit access
21833         * lib/parse-datetime.y (parse_datetime2):
21834         * lib/posixtm.c (posixtime):
21835         Do not access uninitialized storage, even though the resulting
21836         value is never used.
21838 2017-09-25  Bruno Haible  <bruno@clisp.org>
21840         vma-iter: Improvements for BSD platforms.
21841         - Add support for GNU/kFreeBSD.
21842         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
21843         - Speed up on OpenBSD.
21844         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
21845         (vma_iterate_bsd): New function.
21846         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
21847         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
21848         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21849         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
21851 2017-09-23  Bruno Haible  <bruno@clisp.org>
21853         strfmon_l: New module.
21854         * modules/strfmon_l: New file.
21855         * lib/strfmon_l.c: New file.
21856         * m4/strfmon_l.m4: New file.
21857         * doc/posix-functions/strfmon_l.texi: Mention the new module.
21858         * modules/strfmon_l-tests: New file.
21859         * tests/test-strfmon_l.c: New file.
21861         monetary: New module.
21862         * modules/monetary: New file.
21863         * lib/monetary.in.h: New file.
21864         * m4/monetary_h.m4: New file.
21865         * doc/posix-headers/monetary.texi: Mention the new module.
21866         * modules/monetary-tests: New file.
21867         * tests/test-monetary.c: New file.
21868         * modules/monetary-c++-tests: New file.
21869         * tests/test-monetary-c++.cc: New file.
21870         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
21872 2017-09-23  Bruno Haible  <bruno@clisp.org>
21874         duplocale tests: Fix test crash on Linux/x86.
21875         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
21876         locale from the current thread before freeing it.
21878 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
21880         mktime: port to OpenVMS
21881         Problem reported by John E. Malmberg in:
21882         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
21883         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
21885 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
21887         manywarnings: port to GCC on 64-bit MS-Windows
21888         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
21889         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
21890         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
21892 2017-09-13  Bruno Haible  <bruno@clisp.org>
21894         all: Replace many more http URLs by https URLs. Update stale URLs.
21895         * users.txt: Remove mention of 'newts'.
21896         * lib/localename.c: Update comment about LANG_SOTHO.
21898 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21900         all: Replace many http URLs by https URLs.
21902 2017-09-12  Bruno Haible  <bruno@clisp.org>
21904         doc: Prefer https URLs where possible.
21905         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
21906         * doc/ld-output-def.texi: Remove unavailable URL.
21908 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21910         maintainer-makefile: FTP -> HTTPS
21911         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
21912         of FTP, which is planned to be decommissioned on 2017-11-01.
21914 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
21916         libc-config: Fix __GNUC_PREREQ macro.
21917         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
21918         __GNUC_MINOR.
21920 2017-09-09  Bruno Haible  <bruno@clisp.org>
21922         gnulib-tool: Simplify commit from 2015-08-20.
21923         * gnulib-tool (func_add_or_update): Remove local variable
21924         is_binary_file.
21926 2017-09-08  Bruno Haible  <bruno@clisp.org>
21928         stddef: Avoid conflict with system-defined max_align_t.
21929         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
21930         Reported by Werner Lemberg <wl@gnu.org> in
21931         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
21932         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
21933         (max_align_t): Define as a macro.
21934         (GNULIB_defined_max_align_t): New macro. Guards against multiple
21935         definitions of rpl_max_align_t in different copies of gnulib-generated
21936         <stddef.h>.
21938 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21940         libc-config: port to MSVC
21941         Problems reported by Gisle Vanem in:
21942         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
21943         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
21944         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
21945         * m4/__inline.m4: New file.
21946         * modules/libc-config (Files): Add it.
21947         (Depends-on): Use it.
21949         glob: Use enum for __glob_pattern_type result
21950         From a patch proposed by Adhemerval Zanella in:
21951         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
21952         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
21953         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
21954         * lib/glob_internal.h (__glob_pattern_type):
21955         * lib/glob.c (glob):
21956         * lib/glob_pattern_p.c (__glob_pattern_p):
21957         Use them.
21959         glob: fix for use in glibc
21960         Problem reported by Adhemerval Zanella in:
21961         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
21962         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
21963         Do not redefine if _LIBC.
21965 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21967         glob: fix bugs with long login names
21968         Problem reported by Adhemerval Zanella in:
21969         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
21970         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
21971         (glob): Use the same scratch buffer for both getlogin_r and
21972         getpwnam_r.  Don’t require preallocation of the login name.  This
21973         simplifies storage allocation, and corrects the handling of
21974         long login names.
21976 2017-09-02  Bruno Haible  <bruno@clisp.org>
21978         dirent: Update doc.
21979         * doc/posix-headers/dirent.texi: More concrete list of platforms.
21981 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21983         glob: fix getpwnam_r errno typo
21984         * lib/glob.c (glob): Fix longstanding misuse of errno after
21985         getpwnam_r, which returns an error number rather than setting
21986         errno.
21988         glob: fix typo in recent change
21989         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
21990         Fix recently-introduced typo.
21992 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21994         glob: don't save and restore errno unnecessarily
21995         * lib/glob.c (glob): Don't save and restore errno
21996         merely because we have getpwnam_r.
21998         glob: don't assume getpwnam_r
21999         * lib/glob.c (glob): Port recent patches to platforms
22000         lacking getpwnam_r.
22002         scratch_buffer: don’t use private glibc API
22003         Suggested by Florian Weimer in:
22004         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
22005         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
22006         * lib/scratch_buffer_grow.c: Rename to
22007         lib/malloc/scratch_buffer_grow.c.
22008         * lib/scratch_buffer_grow_preserve.c: Rename to
22009         lib/malloc/scratch_buffer_grow_preserve.c.
22010         * lib/scratch_buffer_set_array_size.c: Rename to
22011         lib/malloc/scratch_buffer_set_array_size.c.
22012         * lib/scratch_buffer.h: New file.
22013         * modules/scratch_buffer (Files, Makefile.am):
22014         Adjust to source-file renaming.
22016 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22018         glob: use scratch_buffer instead of extend_alloca
22019         Much of the lib/glob.c part of this patch comes from a glibc patch
22020         proposed by Adhemerval Zanella in:
22021         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
22022         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
22023         included via glob.h, does this for us now.
22024         (__set_errno): Remove, as libc-config does this for us now.
22025         Include <scratch_buffer.h>.
22026         (GETPW_R_SIZE_MAX): Remove.
22027         (glob): Use struct scratch_buffer instead of extend_alloca.
22028         * lib/glob.in.h: Include libc-config.h rather than
22029         including <sys/cdefs.h> conditionally.
22030         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
22031         (__glibc_unlikely, __restrict, weak_alias):
22032         Remove, as libc-config does this for us now.
22033         * m4/glob.m4 (gl_PREREQ_GLOB):
22034         Remove sys/cdefs.h tests; no longer needed.
22035         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
22036         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
22038         scratch_buffer: new module
22039         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
22040         * lib/scratch_buffer_grow_preserve.c:
22041         * lib/scratch_buffer_set_array_size.c:
22042         New files, copied from glibc with very minor changes that can be
22043         copied back.
22044         * modules/scratch_buffer: New file.
22046         libc-config: new module
22047         * MODULES.html.sh: Add libc-config.
22048         * lib/cdefs.h: New file, copied from the GNU C Library with very
22049         minor changes that can be copied back.
22050         * lib/libc-config.h, modules/libc-config: New files.
22052 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22054         glob: match dangling symlinks
22055         This fixes a bug I inadvertently introduced to Gnulib when I
22056         merged glibc glob back into gnulib on 2007-10-16.  This fix is
22057         inspired by a patch proposed for glibc by Adhemerval Zanella in:
22058         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
22059         * doc/posix-functions/glob.texi: Update list of affected platforms.
22060         * lib/glob.c (__lstat64): New macro.
22061         (is_dir): New function.
22062         (glob, glob_in_dir): Match symlinks even if they are dangling.
22063         (link_stat, link_exists_p): Remove.  All uses removed.
22064         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
22065         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
22066         * modules/glob-tests (Depends-on): Add symlink.
22067         * tests/test-glob.c: Include errno.h, unistd.h.
22068         (BASE): New macro.
22069         (main): Test dangling symlinks, if symlinks are supported.
22071         glob, backupfile: inode 0 is a valid inode number
22072         * doc/posix-functions/readdir.texi (readdir):
22073         * doc/posix-headers/dirent.texi (dirent.h):
22074         Document more readdir portability issues.
22075         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
22076         (numbered_backup): Don’t treat inode 0 any differently from
22077         other inode values.
22078         * lib/glob.c (struct readdir_result): Remove skip_entry member.
22079         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
22080         All uses removed.
22081         * modules/glob (Depends-on): Remove d-ino.
22083         glob: simplify symlink detection
22084         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
22085         uint8_t, as C99 does not require uint8_t.
22086         (struct readdir_result): Use it.  Do not define skip_entry unless
22087         it is needed; this saves a byte on platforms lacking d_ino.
22088         (readdir_result_type, readdir_result_skip_entry):
22089         New functions, replacing ...
22090         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
22091         ... these functions, which were removed.  This makes the callers
22092         easier to read.  All callers changed.
22093         (D_INO_TO_RESULT): Now empty if there is no d_ino.
22095 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22097         fts-tests: tag as a longrunning-test so not included by default
22098         * modules/fts-tests: This test takes about 20s on current systems,
22099         and uses about 285M of space on ext4.
22101 2017-08-30  Pádraig Brady  <P@draigBrady.com>
22103         renameat2: fix compilation on alpine linux
22104         * m4/renameat.m4: Check for <linux/fs.h> presence.
22105         * lib/renameat2.h: Only include <linux/fs.h> if present.
22106         Reported by Assaf Gordon on Alpine Linux.
22108 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22110         glob: try to port recent changes to MS-Windows
22111         Problem reported by Bruno Haible in:
22112         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
22113         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
22114         * lib/glob.in.h (__glob_pattern_p): ... to here.
22116 2017-08-24  Eric Blake  <eblake@redhat.com>
22118         warnings: fix compilation with old autoconf
22119         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
22120         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
22121         AC_DEFUN.
22122         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
22123         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
22125 2017-08-24  Bruno Haible  <bruno@clisp.org>
22127         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
22128         * modules/glob (Depends-on): Add c99.
22130 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22132         glob: fix typo that broke platforms lacking d_ino
22133         This typo also hurt performance on GNU/Linux and similar hosts.
22134         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
22135         in previous change.
22137 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22139         glob: merge from glibc with Zanella glob changes
22140         Merge glob from glibc, with changes for glob proposed
22141         by Adhemerval Zanella in the thread starting here:
22142         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
22143         plus some fixes for this merge.
22144         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
22145         New files, ported from glibc.
22146         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
22147         with __restrict.
22148         (__size_t): Remove.  All uses replaced by size_t.
22149         (size_t): Define by defining __need_size_t and including <stddef.h>.
22150         This should work even in non-glibc platforms, where any name
22151         pollution is OK.
22152         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
22153         (struct stat64): Don’t worry about __GLOB_GNULIB.
22154         (glob, globfree, glob_pattern_p): Remove macros for
22155         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
22156         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
22157         but set errno.
22158         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
22159         removed since the glibc behavior works on null pointers.
22160         Do not include stdio.h; old SunOS is irrelevant now.
22161         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
22162         Include glob_internal.h.
22163         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
22164         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
22165         worked only coincidentally.
22166         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
22167         Remove macros; now done in glob.in.h.
22168         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
22169         (glob): Properly initialize glob structure with
22170         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
22171         Remove old code using SHELL since Bash no longer
22172         uses this.
22173         (glob, prefix_array): Separate MS code better.
22174         (glob, glob_in_dir): Use C99 decls before statements when glibc
22175         does.
22176         (glob_in_dir): Remove old Amiga and VMS code.
22177         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
22178         separate files.
22179         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
22180         (__glibc_unlikely):
22181         Move here from glob.c.
22182         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
22183         (weak_alias): New macro.
22184         (__size_t): Remove.  All uses replaced by size_t.
22185         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
22186         * modules/glob (Files): Add +lib/glob_internal.h,
22187         lib/glob_pattern_p.c, lib/globfree.c.
22188         (Depends-on): Remove snippet/arg-nonnull.
22190 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
22192         glob: port to clang's Undefined Sanitizer
22193         Problem reported by Tim Rühsen in:
22194         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
22195         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
22196         (glob_in_dir): Do not rely on undefined behavior in accessing
22197         struct members beyond their bounds.  Use a flexible array member
22198         instead.
22200 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
22202         vc-list-files: port to Solaris 10
22203         * build-aux/vc-list-files: Don't assume test -e works.
22205 2017-08-21  Karl Berry  <karl@freefriends.org>
22207         * doc/posix-functions/srandom.texi (srandom): typo }.
22209 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
22211         git-version-gen: port to Solaris 10
22212         Problem reported by Dagobert Michelsen in:
22213         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
22214         * build-aux/git-version-gen (v_from_git):
22215         Use expr instead of shell substitution.
22217 2017-08-19  Bruno Haible  <bruno@clisp.org>
22219         host-cpu-c-abi: Improve detection of MIPS ABI.
22220         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
22221         _MIPS_SIM.
22223 2017-08-17  Bruno Haible  <bruno@clisp.org>
22225         hypot tests: Fix test failure on FreeBSD 11.0/x86.
22226         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
22228 2017-08-17  Bruno Haible  <bruno@clisp.org>
22230         float: Fix LDBL_MIN value on FreeBSD/x86.
22231         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
22233 2017-08-17  Bruno Haible  <bruno@clisp.org>
22235         random: Fix test compilation failure on Cygwin 1.5.25.
22236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
22237         HAVE_DECL_SETSTATE.
22238         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
22239         declared.
22240         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
22241         HAVE_DECL_SETSTATE.
22242         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
22243         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
22244         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
22245         * doc/posix-functions/random.texi: Likewise.
22246         * doc/posix-functions/setstate.texi: Likewise.
22247         * doc/posix-functions/srandom.texi: Likewise.
22249 2017-08-16  Bruno Haible  <bruno@clisp.org>
22251         stdnoreturn: Fix test compilation failure on Cygwin.
22252         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
22253         <stdnoreturn.h> replacement.
22254         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
22255         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
22257 2017-08-16  Bruno Haible  <bruno@clisp.org>
22259         thread: Fix conflict with pthread_sigmask module.
22260         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
22261         it's defined as a macro.
22262         * modules/thread (Depends-on): Add pthread_sigmask.
22264 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
22266         rename: port better to NetBSD
22267         * doc/posix-functions/rename.texi (rename): NetBSD 7
22268         does not have the link-count bug.
22269         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
22270         broken merely because rename ("a", "b") removes "a" when the two
22271         names are hard links to the same file.
22273 2017-08-16  Bruno Haible  <bruno@clisp.org>
22275         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
22276         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
22277         the target file names with '$(srcdir)/'.
22278         * modules/unicase/locale-language (Makefile.am): Likewise.
22279         * modules/unicase/special-casing (Makefile.am): Likewise.
22280         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
22281         * modules/unictype/category-byname (Makefile.am): Likewise.
22282         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
22283         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
22284         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
22285         * modules/unictype/property-byname (Makefile.am): Likewise.
22286         * modules/unictype/scripts (Makefile.am): Likewise.
22287         * modules/uninorm/composition (Makefile.am): Likewise.
22289 2017-08-16  Bruno Haible  <bruno@clisp.org>
22291         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
22292         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
22293         value for OpenBSD.
22295 2017-08-16  Bruno Haible  <bruno@clisp.org>
22297         rename, renameat: Update doc regarding NetBSD.
22298         * doc/posix-functions/rename.texi: Clarify that when using
22299         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
22300         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
22301         version.
22303 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
22305         renameat2: port better to macOS
22306         * lib/renameat2.c (renameat2): Use renameatx_np if available.
22308         futimens: don’t assume struct timespec layout
22309         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
22310         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
22311         * tests/test-fdutimensat.c (main):
22312         * tests/test-futimens.h (test_futimens):
22313         * tests/test-lutimens.h (test_lutimens):
22314         * tests/test-utimens.h (test_utimens):
22315         * tests/test-utimensat.c (main):
22316         Don’t assume that struct timespec is a two-member structure in
22317         tv_sec, tv_nsec order.  Although this is true on all platforms we
22318         know about, POSIX does not guarantee it.
22320         rename: document+test NetBSD rename
22321         Test failure reported by Bruno Haible in:
22322         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
22323         This is an area where NetBSD is better-behaved than POSIX,
22324         so allow the NetBSD behavior in tests.
22325         * doc/posix-functions/rename.texi:
22326         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
22327         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
22329 2017-08-15  Bruno Haible  <bruno@clisp.org>
22331         renameat: Ensure declaration in <stdio.h> on NetBSD.
22332         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
22333         * doc/posix-functions/renameat.texi: Mention this problem.
22335 2017-08-15  Bruno Haible  <bruno@clisp.org>
22337         duplocale: Work around NetBSD 7.0 bug.
22338         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
22339         * lib/duplocale.c: Add comment about NetBSD problem.
22340         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
22342 2017-08-15  Bruno Haible  <bruno@clisp.org>
22344         duplocale tests: Verify use with *_l functions.
22345         * modules/duplocale-tests (configure.ac): Test for uselocale and
22346         some *_l functions.
22347         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
22348         from main.
22349         (get_locale_dependent_values_from, test_with_locale_parameter): New
22350         functions.
22351         (main): Test both test_with_uselocale and test_with_locale_parameter.
22353 2017-08-15  Bruno Haible  <bruno@clisp.org>
22355         extensions: Enable NetBSD specific extensions.
22356         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
22358 2017-08-14  Bruno Haible  <bruno@clisp.org>
22360         open, openat: Update doc about O_CLOEXEC.
22361         * doc/posix-functions/open.texi: More concrete list of platforms.
22362         * doc/posix-functions/openat.texi: Likewise.
22364 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
22366         open: support O_CLOEXEC
22367         * NEWS, doc/posix-functions/open.texi:
22368         * doc/posix-functions/openat.texi: Document this.
22369         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
22370         (GNULIB_defined_O_CLOEXEC): New symbol.
22371         * lib/open.c: Include cloexec.h.
22372         (open): Support O_CLOEXEC.
22373         * lib/openat.c: Include cloexec.h.
22374         (rpl_openat): Support O_CLOEXEC.
22375         * lib/popen-safer.c: Do not include cloexec.h.
22376         (open_noinherit): Remove.
22377         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
22378         * lib/save-cwd.c: Do not include cloexec.h.
22379         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
22380         * m4/open-cloexec.m4: New file.
22381         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
22382         Replace 'open' if O_CLOEXEC is not present.
22383         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
22384         Replace 'openat' if O_CLOEXEC is not present.
22385         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
22386         * modules/open (Files): Add m4/open-cloexec.m4.
22387         (Depends-on): Depend on cloexec if replacing 'open'.
22388         * modules/openat (Files): Add m4/open-cloexec.m4.
22389         (Depends-on): Depend on cloexec if replacing openat.
22390         * modules/popen-safer (Depends-on): Remove cloexec.
22391         * modules/save-cwd (Depends-on): Remove cloexec, and add
22392         fd-safer-flag and 'open'.
22394 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
22396         reallocarray: minor fixes
22397         * doc/glibc-functions/reallocarray.texi: Update version numbers.
22398         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
22399         * modules/reallocarray (License): Change from GPL to LGPL.
22400         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
22401         Indent properly and don't use tabs.
22403 2017-08-13  Darshit Shah  <darnir@gnu.org>
22405         reallocarray: New module
22406         reallocarray is a new function in glibc 2.26 to safely allocate an array
22407         of memory locations with integer overflow protection.
22408         * MODULES.html.sh: Add reallocarray.
22409         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
22410         * lib/reallocarray.c: New file to implement module reallocarray.
22411         * lib/stdlib.in.h: Add function declarations for reallocarray.
22412         * m4/reallocarray.m4: New file.
22413         * m4/stdlib_h.m4: Declare reallocarray.
22414         * modules/reallocarray: New file.
22415         * modules/reallocarray-test: New file.
22416         * modules/stdlib: Coerce stdlib.h to export reallocarray.
22417         * tests/test-reallocarray.c: New test.
22419 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22421         dirent-safer: fix cloexec race
22422         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
22423         (opendir_safer): Use F_DUPFD_CLOEXEC.
22424         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
22425         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
22426         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
22427         instead of dup_safer.
22429         fts: fix cloexec races
22430         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
22431         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
22432         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
22433         (fd_ring_check): Set cloexec flag on new file descriptors.
22434         (fts_build, fd_ring_check): While we’re at it, make sure the
22435         resulting file descriptor is not 0, 1, or 2, since that is easy.
22437 2017-08-11  Bruno Haible  <bruno@clisp.org>
22439         fts tests: Fix link error.
22440         Reported by Tom G. Christensen in
22441         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
22442         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
22444 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22446         fts: port recent changes to CentOS 6
22447         Problem reported by Tom G. Christensen in:
22448         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
22449         * lib/fts.c (fsword): New type.
22450         (struct dev_type, filesystem_type): Use it.
22451         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
22452         Also, check for f_type only if fstatfs and sys/vfs.h work.
22454 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
22456         tempname: do not depend on secure_getenv
22457         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
22458         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
22459         * modules/tempname (Depends-on): Remove secure_getenv.
22461 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
22463         extensions: add _OPENBSD_SOURCE
22464         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
22466 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
22467             Bruno Haible  <bruno@clisp.org>
22469         manywarnings: Add support for C++.
22470         * build-aux/g++-warning.spec: New file.
22471         * m4/manywarnings-c++.m4: New file.
22472         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
22473         redirects to manywarnings-c++.m4.
22474         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
22476 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22478         git-version-gen: another fix for tags with "-"
22479         * build-aux/git-version-gen: Improve fix for tags containing "-".
22480         Suggested by Markus Armbruster in:
22481         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
22483 2017-08-06  Bruno Haible  <bruno@clisp.org>
22485         warnings, manywarnings: Add support for multiple languages, not just C.
22486         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
22487         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
22488         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
22489         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
22490         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
22491         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
22492         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
22493         of the current language. If C++ is the current language, modify
22494         WARN_CXXFLAGS instead of WARN_CFLAGS.
22495         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
22496         gl_MANYWARN_ALL_GCC.
22497         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
22499 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
22501         git-version-gen: Fix for tags containing '-'
22503         Really old versions of git-describe (before v1.5.0, Feb 2007)
22504         don't have the number of commits in their long format output,
22505         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
22506         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
22507         recognizes both patterns, and normalizes the old format to the new one.
22509         Unfortunately, this normalization code gets confused when the tag
22510         contains '-'.  Reproducer:
22512             $ git-tag -m test v0.2-rc1
22513             $ build-aux/git-version-gen .tarball-version; echo
22514             build-aux/git-version-gen: WARNING: git rev-list failed
22515             UNKNOWN
22517         We take exact tag "v0.2-rc1" for the old format, extract the presumed
22518         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
22519         commits since tha tag.  Fails, because tag "v0.2" does not exist.
22521         * git-version-gen: We could perhaps drop support for versions from
22522         more than a decade ago.  But tightening the pattern match is easy
22523         enough, so do that.  Still breaks when you use version tags ending in
22524         something matching -g????, but you arguably get what you deserve then.
22526 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22528         valgrind-tests: use ls, and cache
22529         * m4/valgrind-tests.m4: Test ls, not bash.
22530         Problem reported by Reuben Thomas.
22531         Also, cache the result so that it can be overridden.
22533 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
22535         manywarnings: port to 64-bit GCC builds of Emacs
22536         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
22537         object size rather than hardwiring 2147483647.  This is needed to
22538         build GNU Emacs, which has one conditional (and used
22539         only-in-theory) call to malloc with a literal greater than
22540         2147483647.
22542 2017-08-04  Bruno Haible  <bruno@clisp.org>
22544         Relax the license of some modules with no runtime code.
22545         * modules/std-gnu11 (License): Set to 'unlimited'.
22546         * modules/c99 (License): Likewise.
22547         Reported by Reuben Thomas <rrt@sc3d.org>.
22548         * modules/d-ino (License): Set to 'LGPL'.
22549         * modules/host-os (License): Likewise.
22550         * modules/longlong (License): Likewise.
22552 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22554         renameat2: port to RHEL 7 + NFS
22555         * lib/renameat2.c (renameat2) [SYS_renameat2]:
22556         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
22557         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
22559 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
22561         renameat2: port to non-renameat platforms
22562         Problem reported for MSVC-2015 by Gisle Vanem in:
22563         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
22564         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
22565         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
22567 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
22569         manywarnings: port to 32-bit GCC bug
22570         Problem reported by Pino Toscano in:
22571         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
22572         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
22573         not 2**63 - 1, to work around the following GCC bug:
22574         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
22576 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
22578         backupfile: new function to validate backup suffix
22579         * lib/backupfile.c (set_simple_backup_suffix): New function.
22580         (backupfile_internal): Use it.
22582         canonicalize: fix EOVERFLOW commentary
22583         Problem reported by Bruno Haible in:
22584         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
22585         * lib/canonicalize.c (canonicalize_filename_mode):
22586         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
22588         Don't interpret EOVERFLOW to mean nonexistence
22589         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
22590         may be EOVERFLOW; this is likely more useful than reporting the
22591         stat errno.
22592         * lib/glob.c (link_stat): Rename from link_exists2_p and
22593         return -1/0 instead of 0/1.  Caller changed.
22594         * lib/glob.c (link_exists_p):
22595         * lib/renameat2.c (rename_noreplace, renameat2):
22596         * lib/tempname.c (try_nocreate):
22597         If errno == EOVERFLOW then the directory entry exists, so do not
22598         act as if it does not exist.
22600         backup-rename: new module
22601         It is like backupfile, except it avoids some race conditions,
22602         and it does not output to stderr or exit.
22603         * MODULES.html.sh: Add backup-rename.
22604         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
22605         * modules/backup-rename: New files.
22606         * lib/backupfile.c: Turn this into an internals file, which
22607         contains code common to backupfile and backup_rename.  Include
22608         backupfile-internal.h instead of backupfile.h.  Do not include
22609         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
22610         renameat2.h and fcntl.h.
22611         (BACKUP_NOMEM): New constant.
22612         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
22613         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
22614         (backupfile_internal): Rename from find_backup_file_name.
22615         Support new arg RENAME.
22616         (backup_args, backup_types, get_version, xget_version):
22617         Move to lib/backup-find.c.
22618         * lib/backupfile.h (backup_file_rename): New decl.
22619         * modules/backupfile (Files): Add lib/backup-internal.h,
22620         lib/backup-find.c.
22621         (Depends-on): Add dirfd, fcntl, renameat2.
22622         (lib_SOURCES): Add backup-find.c.
22624         renameat2: port better to older Solaris
22625         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
22626         Add goto to use a label, to silence picky compilers.
22628         fts-tests: port to gcc -Wwrite-strings
22629         * tests/test-fts.c (base, base_d): New static vars.
22630         (argv, remove_tree, main): Use them.
22632 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22634         relocatable-lib{,-lgpl}: improve documentation
22635         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
22636         Various other updates.
22638 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
22639             Bruno Haible  <bruno@clisp.org>
22641         relocatable-lib{,-lgpl}: add Valgrind suppressions
22642         * lib/relocatable.valgrind: New file.
22643         * modules/relocatable-lib (Files): Add relocatable.valgrind.
22644         * modules/relocatable-lib-lgpl: Likewise.
22646 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22648         relocatable: Make the license on the sources the GPL.
22649         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
22650         LGPL, which was a special case so that the relocatable source files
22651         could be used without gnulib-tool, to GPL. They can still be used under
22652         the LGPL, using the --lgpl option to gnulib-tool.
22654 2017-07-30  Bruno Haible  <bruno@clisp.org>
22656         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
22657         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
22658         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
22659         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
22660         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
22662 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
22664         faccessat: document AT_SYMLINK_NOFOLLOW issue
22665         * doc/posix-functions/faccessat.texi: Modernize platform list.
22666         Document AT_SYMLINK_NOFOLLOW limitation.
22668         renameat2: port to Solaris 10
22669         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
22670         with AT_SYMLINK_NOFOLLOW (which is not portable).
22671         (renameat): Undef before using, to avoid endless recursion when
22672         the replacement renameat calls renameat2 which calls the
22673         replacement renameat.
22674         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
22675         * modules/renameat2 (Depends-on): Remove faccessat.
22676         * modules/renameat-tests (test_renameat_LDADD):
22677         * modules/renameat2-tests (test_renameat2_LDADD):
22678         Remove $(LIB_EACCESS).
22680         renameat2: new module
22681         Although the Linux syscall renameat2 is not in glibc (yet?), it is
22682         useful to have access to its RENAME_NOREPLACE flag.
22683         * MODULES.html.sh (func_all_modules): Add renameat2.
22684         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
22685         * modules/renameat2-tests, tests/test-renameat2.c: New files.
22686         * lib/renameat.c (renameat): Move most of the implementation
22687         to renameat2, and just call renameat2.
22688         * modules/renameat (Files): Remove lib/at-func2.c.
22689         (Depends-on): Depend only on renameat2.
22690         (Include): Remove <fcntl.h>.
22691         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
22692         since renameat (via renameat2) might use faccessat.
22694 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
22696         vc-list-files: Adjust the script to support git worktrees
22697         * build-aux/vc-list-files: Require existence, not directory.
22699 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22701         doc: bring MODULES.html.sh up to date
22702         Somehow a few months ago we stopped updating MODULES.html.sh.
22703         I don’t recall explicitly deciding this, so I updated it now.
22704         Alternatively I suppose we could remove it.
22705         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
22706         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
22707         truncate, utime, utime-h, windows-stat-inodes,
22708         windows-stat-override, windows-stat-timespec, year2038.  Sort.
22710 2017-07-26  Jim Meyering  <meyering@fb.com>
22712         fprintftime: fix build-break caused by recent renaming
22713         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
22714         "strftime.c".
22715         * modules/fprintftime: Depend directly on nstrftime.
22717 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22719         regex: work with GCC7's -Werror=implicit-fallthrough=
22720         * lib/regex_internal.h (FALLTHROUGH): New macro.
22721         * lib/regcomp.c (peek_token_bracket, parse_expression):
22722         * lib/regexec.c (check_node_accept): Use it.
22724 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22726         fts: simplify fts_build
22727         * lib/fts.c (fts_build): Simplify, and be lazier about
22728         calling leaf_optimization.
22730         fts: three levels of leaf optimization
22731         * lib/fts.c (enum leaf_optimization): New type with three values.
22732         (S_MAGIC_AFS): New macro.  Sort them.
22733         (leaf_optimization): Rename from leaf_optimization_applies, and
22734         return enum leaf_optimization instead of bool.  All uses changed.
22735         Add cases for unknown type and for AFS.
22736         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
22738         fts: cache dirent_inode_sort_may_be_useful too
22739         * lib/fts.c (struct dev_type): New struct.
22740         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
22741         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
22742         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
22743         Now takes FTSENT const *, not int.  All uses changed.  Use
22744         filesystem_type to cache.
22745         (link_count_optimize_ok): Remove.  Caller changed to use
22746         leaf_optimization_applies, which now uses shared cache.
22748         fts: introduce MIN_DIR_NLINK
22749         * lib/fts.c (MIN_DIR_NLINK): New constant.
22750         Use it instead of 2, whenever we are talking about link counts.
22752         fts: nlink_t signedness fixups
22753         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
22754         so that root need not be a special case later.
22755         (fts_read): Remove now-redundant test for fts_level.
22756         Do not assume that nlink_t is signed.
22757         (fts_build): Remove useless decrement of nlinks.
22758         (fts_stat): Avoid unlikely signed integer overflow later, if
22759         nlink_t is signed.
22761         fts-tests: new module
22762         * modules/fts-tests, tests/test-fts.c: New files.
22764 2017-07-23  Bruno Haible  <bruno@clisp.org>
22766         Rename module 'strftime' to 'nstrftime'.
22767         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
22768         * lib/nstrftime.c: Renamed from lib/strftime.c.
22769         * modules/nstrftime: Renamed from modules/strftime.
22770         (Files, Makefile.am): Update.
22771         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
22772         Fix comment.
22773         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
22774         (Files, Makefile.am): Update.
22775         * modules/strftime: New file, an obsolete indirection.
22776         * doc/posix-functions/strftime.texi: Update reference.
22777         * config/srclist.txt: Update info.
22778         * NEWS: Mention the change.
22780 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
22782         malloca: Silence a warning from clang's memory sanitizer.
22783         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
22784         (freea): Use it.
22786 2017-07-18  Bruno Haible  <bruno@clisp.org>
22788         host-cpu-c-abi: Fix detection of MIPS ABI.
22789         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
22790         ABI, not the CPU instruction set.
22792 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
22794         explicit_bzero: new module
22795         The explicit_bzero function has been added to glibc.
22796         This module is intended to supports its use in GNU programs.
22797         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
22798         * m4/explicit_bzero.m4, modules/explicit_bzero:
22799         New files.
22800         * doc/gnulib.texi (Glibc string.h): Link to new doc.
22801         * lib/string.in.h (explicit_bzero): Declare.
22802         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
22803         * modules/string (string.h): Substitute its vars.
22805 2017-07-16  Bruno Haible  <bruno@clisp.org>
22807         threadlib: Support static linking.
22808         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
22809         set gl_cv_have_weak to 'no'.
22811 2017-07-16  Bruno Haible  <bruno@clisp.org>
22813         unicase/locale-language: Fix link dependencies.
22814         * modules/unicase/locale-language (Link): New section.
22815         * modules/unicase/locale-language-tests (Makefile.am): Link
22816         test-locale-language program with $(LIBTHREAD).
22818 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22820         sys_socket: Add support for OpenVMS.
22821         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
22822         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
22824 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22826         sys_resource: Add support for OpenVMS.
22827         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
22828         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
22830 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22831             Bruno Haible  <bruno@clisp.org>
22833         math: Add support for OpenVMS.
22834         * lib/math.in.h [__VMS]: Include <fp.h>.
22835         * doc/posix-headers/math.texi: Mention OpenVMS issues.
22837 2017-07-15  Bruno Haible  <bruno@clisp.org>
22839         getdtablesize: Add minimal support for OpenVMS.
22840         Reported by John E. Malmberg <wb8tyw@qsl.net>.
22841         * modules/getdtablesize (Description): Fix.
22842         * lib/getdtablesize.c: Fix comment.
22843         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
22844         getdtablesize() function, even though the test fails.
22845         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
22846         limitation on OpenVMS.
22848 2017-07-13  Bruno Haible  <bruno@clisp.org>
22850         Revisit cross-compilation guesses.
22851         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
22853 2017-07-13  Bruno Haible  <bruno@clisp.org>
22855         Improve cross-compilation guesses for native Windows.
22856         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
22857         Windows.
22858         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
22859         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
22860         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22861         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
22862         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
22863         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
22864         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
22865         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
22866         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22867         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
22868         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22869         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
22870         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
22871         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
22872         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
22873         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22874         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
22875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
22876         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22877         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
22878         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
22879         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
22880         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
22881         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
22882         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
22883         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
22884         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
22885         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
22886         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22887         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
22888         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22889         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
22890         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
22891         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
22892         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
22893         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
22894         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22895         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22896         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22897         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22898         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22899         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22900         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
22901         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
22902         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
22903         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
22904         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
22905         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
22906         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
22907         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
22908         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
22909         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
22910         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
22911         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
22912         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
22913         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
22914         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
22915         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22916         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
22917         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
22918         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22919         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
22920         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
22921         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
22922         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
22923         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22924         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
22925         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22926         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
22927         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
22928         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
22929         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
22930         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22931         * m4/regex.m4 (gl_REGEX): Likewise.
22932         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
22933         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
22934         gl_FUNC_REMAINDERF_WORKS): Likewise.
22935         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
22936         gl_FUNC_REMAINDERL_WORKS): Likewise.
22937         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22938         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22939         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22940         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
22941         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22942         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
22943         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22944         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22945         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
22946         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22947         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
22948         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
22949         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22950         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22951         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
22952         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22953         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22954         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22955         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22956         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22957         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22958         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22959         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22960         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22961         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22962         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22963         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22964         Likewise.
22965         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22966         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
22967         Windows. Enable also on Autoconf 2.70.
22968         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22969         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22970         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22971         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
22972         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22973         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
22974         for native Windows.
22975         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22976         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
22978 2017-07-13  Bruno Haible  <bruno@clisp.org>
22980         Improve cross-compilation guesses for native Windows.
22981         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
22982         Windows.
22983         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
22984         memchr.m4.
22985         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22987 2017-07-13  Bruno Haible  <bruno@clisp.org>
22989         Improve cross-compilation guesses for native Windows.
22990         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
22991         native Windows.
22992         (gl_FUNC_FFLUSH): Update accordingly.
22993         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
22994         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22996 2017-07-11  Bruno Haible  <bruno@clisp.org>
22998         More systematic m4 quoting and indentation.
22999         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
23000         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23001         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
23002         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23003         * m4/host-os.m4 (gl_HOST_OS): Likewise.
23004         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
23005         gl_WINSIZE_IN_PTEM): Likewise.
23006         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
23007         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
23008         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23009         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
23010         Correct indentation.
23011         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
23012         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23013         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
23014         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23015         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
23016         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23018 2017-07-10  Bruno Haible  <bruno@clisp.org>
23020         round, roundf: Avoid compiler warning in configure test.
23021         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
23022         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23024 2017-07-10  Bruno Haible  <bruno@clisp.org>
23026         getlogin tests: Avoid #ifdefs when sharing code between modules.
23027         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
23028         * modules/getlogin-tests (Files): Likewise. Remove
23029         tests/test-getlogin_r.c.
23030         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
23031         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
23032         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
23033         getlogin().
23035 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23037         getlogin: don’t assume one name per uid
23038         Problem reported by Wolfgang F. Muthmann (Bug#27640).
23039         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
23040         (ttyname): Remove test.
23041         * modules/getlogin_r-tests (ttyname): Remove test.
23042         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
23043         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
23044         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
23045         getlogin rather than getlogin_r.  This avoids code duplication.
23046         (main): Use isatty and fstat rather than ttyname and stat.
23047         Use getpwnam instead of getpwuid, to be portable to test platforms
23048         that have multiple login names for the same uid.
23050 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
23051             Bruno Haible  <bruno@clisp.org>
23053         glob: Fix more memory leaks.
23054         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
23055         returning.
23056         Reported by Tim Rühsen.
23058 2017-07-10  Bruno Haible  <bruno@clisp.org>
23060         Make sure $host and $host_os are defined when used.
23061         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
23062         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
23063         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
23064         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23065         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23066         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23067         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
23068         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
23069         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23070         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
23071         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
23072         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
23073         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23074         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
23075         m4_ifdef block.
23077 2017-07-09  Bruno Haible  <bruno@clisp.org>
23079         *printf: Fix cross-compilation guess for Solaris.
23080         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
23081         2010-12-21.
23083 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23084             Bruno Haible  <bruno@clisp.org>
23086         vasnprintf: port to macOS 10.13
23087         Problem reported by comex in:
23088         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
23089         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
23091 2017-07-06  Bruno Haible  <bruno@clisp.org>
23093         imaxdiv tests: Fix logic.
23094         * tests/test-imaxdiv.c (main): Use == instead of =.
23095         Reported by Coverity.
23097 2017-07-06  Bruno Haible  <bruno@clisp.org>
23099         uninorm/filter: Fix use-after-free bug.
23100         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
23101         sortbuf == filter->sortbuf invariant.
23102         Reported by Coverity.
23104 2017-07-06  Bruno Haible  <bruno@clisp.org>
23106         glob: Fix more memory leaks.
23107         * lib/glob.c (glob): Free dirname before returning.
23108         Reported by Coverity and Tim Rühsen.
23110 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23112         parse-datetime: fix uninit var bug
23113         Reported by Bruno Haible in:
23114         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
23115         * lib/parse-datetime.y (parse_datetime2): Do not use
23116         uninitialized.
23118 2017-07-05  Bruno Haible  <bruno@clisp.org>
23120         doc: Update for MSVC 14.
23121         * doc/posix-headers/*.texi: Add info about MSVC 14.
23122         * doc/posix-functions/*.texi: Likewise.
23123         * doc/pastposix-functions/*.texi: Likewise.
23124         * doc/glibc-headers/*.texi: Likewise.
23125         * doc/glibc-functions/*.texi: Likewise.
23127 2017-07-05  Bruno Haible  <bruno@clisp.org>
23129         sched: Fix build failure on native Windows (regression from 2017-06-19).
23130         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
23132 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
23134         stdioext: Port to OpenVMS.
23135         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
23136         * lib/fpending.c (fpending): Remove non-working VMS specific code.
23137         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
23138         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
23139         * lib/fpurge.c (fpurge): Likewise.
23140         * lib/freadable.c (freadable): Likewise.
23141         * lib/freadahead.c (freadahead): Likewise.
23142         * lib/freading.c (freading): Likewise.
23143         * lib/freadptr.c (freadptr): Likewise.
23144         * lib/freadseek.c (freadseek): Likewise.
23145         * lib/fseeko.c (fseeko): Likewise.
23146         * lib/fseterr.c (fseterr): Likewise.
23147         * lib/fwritable.c (fwriteable): Likewise.
23148         * lib/fwriting.c (fwriting): Likewise.
23150 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
23152         glob: Declare variables at the very start of their scope.
23153         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
23154         its separate scope, so the functions will compile on Haiku.
23156 2017-07-01  Bruno Haible  <bruno@clisp.org>
23158         logbl: Work around a glibc bug on PowerPC64LE.
23159         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
23160         numbers.
23161         * doc/posix-functions/logbl.texi: Update.
23163 2017-06-29  Bruno Haible  <bruno@clisp.org>
23165         stat, fstat: Compile stat-w32.c only on platforms that need it.
23166         Suggested by Paul Eggert.
23167         * modules/stat (configure.ac): Request stat-w32.o only on native
23168         Windows.
23169         * modules/fstat (configure.ac): Likewise.
23171 2017-06-25  Bruno Haible  <bruno@clisp.org>
23173         stat: Improve last change.
23174         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
23176 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23178         stat: port to xlc 12.01
23179         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
23180         12.01 complains "Compilation unit is empty."
23182 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23184         xalloc-oversized: port to icc
23185         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
23186         __builtin_mul_overflow if ICC is defined, as this results in
23187         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
23188         20170213.
23190 2017-06-19  Bruno Haible  <bruno@clisp.org>
23192         classpath: Avoid including config.h twice, as it produces warnings.
23193         Reported by John E. Malmberg <wb8tyw@gmail.com>.
23194         * lib/classpath.h: Conditionalize the include of config.h.
23196 2017-06-19  Bruno Haible  <bruno@clisp.org>
23197             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
23199         sched: Fix compilation failure on OpenVMS.
23200         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
23201         test whether <pthread.h> exists and defines struct sched_param.
23202         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
23204 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
23206         diffseq: port to GCC 7 with --enable-gcc-warnings
23207         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
23208         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
23209         not complain about big_snake being defined but not used.
23211 2017-06-15  Bruno Haible  <bruno@clisp.org>
23213         gettext-h: Update theoretical condition for use of variable size arrays.
23214         Reported by Paul Eggert.
23215         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
23216         to include the theoretical condition for availability of variable size
23217         arrays, if we could trust the value of __STDC_VERSION__.
23219 2017-06-12  Bruno Haible  <bruno@clisp.org>
23221         Relicense some modules under LGPLv2+.
23222         Daiki Ueno's approval is in
23223         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
23224         * modules/uniwidth/base (License): Change to LGPLv2+.
23225         * modules/uniwidth/width (License): Likewise.
23227 2017-06-11  Bruno Haible  <bruno@clisp.org>
23229         localename: Fix test failure on DragonFly BSD.
23230         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
23231         like FreeBSD.
23233 2017-06-11  Bruno Haible  <bruno@clisp.org>
23235         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
23236         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
23237         * lib/float.in.h: Likewise.
23238         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
23240 2017-06-11  Bruno Haible  <bruno@clisp.org>
23242         gnulib-tool: Clean up after autotools.
23243         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
23244         useless directory left over by the Autotools.
23246 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
23248         getopt-posix: port to glibc 2.25.90
23249         Problem reported by Daniel P. Berrange in:
23250         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
23251         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
23252         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
23253         #undef if __GETOPT_PREFIX is defined.
23255 2017-06-11  Bruno Haible  <bruno@clisp.org>
23257         strtod-obsolete: Fix license.
23258         * modules/strtod-obsolete (License): Change to LGPL.
23260 2017-06-10  Jim Meyering  <meyering@fb.com>
23262         maint: update to work with GCC7's -Werror=implicit-fallthrough=
23263         * lib/savewd.c (FALLTHROUGH): Define.
23264         (savewd_save, savewd_restore): Use this, rather than a comment,
23265         whenever one switch case falls through into the next.
23267 2017-06-08  Bruno Haible  <bruno@clisp.org>
23269         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
23270         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
23271         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
23272         case.
23274 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
23276         doc: remove robots, add prereqs
23277         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
23278         builds.  Simon's robot site does not seem to be up, so remove
23279         mentions of it for now.
23281 2017-06-08  Bruno Haible  <bruno@clisp.org>
23283         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
23284         * gnulib-tool (func_symlink_target): New function, extracted from
23285         func_symlink.
23286         (func_symlink, func_symlink_if_changed): Use it.
23288 2017-06-08  Bruno Haible  <bruno@clisp.org>
23290         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
23291         * gnulib-tool (func_ln_s): Determine cp_src correctly.
23293 2017-06-07  Bruno Haible  <bruno@clisp.org>
23295         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
23296         Reported by John E. Malmberg <wb8tyw@gmail.com> in
23297         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
23298         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
23299         override, pass 2 arguments to getcwd, not 3.
23301 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
23303         same-inode: port better to VMS 8.2 and later
23304         Problem reported by John E. Malmberg in:
23305         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
23306         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
23307         Use the usual POSIX definition.
23308         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
23310 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23312         error: fix POSIX violation for va_end
23313         Problem reported by Bruno Haible in:
23314         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
23315         * lib/error.c (error_tail): Do not call va_end here.
23316         (error, error_at_line): Call it here instead.
23318 2017-05-28  Bruno Haible  <bruno@clisp.org>
23320         c-strtod: Make it usable in C++ mode.
23321         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
23323 2017-05-25  Jim Meyering  <meyering@fb.com>
23325         quotearg: fix compilation failure due to FALLTHROUGH misuse
23326         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
23327         macro back to /* fall through */ comment.  The macro can apply only
23328         to a following case statement.  Reported by Assaf Gordon.
23330 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
23332         intprops: port to recent icc
23333         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
23334         but does not support __builtin_add_overflow etc.
23335         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
23336         Define to 0.
23338 2017-05-23  Karl Berry  <karl@freefriends.org>
23340         * config/srclist.txt (iconv.m4): sync broken, comment out
23341         until (hopefully) the next gettext release.
23343 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
23345         Remove repeated words in comments.
23347 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
23349         fallthrough: reinstate a FALLTHROUGH instance in quotearg
23350         quotearg.c: Reinstate this instance which is significant
23351         when the if branch is not taken.
23353 2017-05-21  Bruno Haible  <bruno@clisp.org>
23355         gnulib-tool: Add options to create hard links.
23356         * gnulib-tool (func_usage): Document options --hardlink,
23357         --local-hardlink, --more-hardlinks.
23358         (func_symlink): Renamed from func_ln.
23359         (func_symlink_if_changed): Renamed from func_ln_if_changed.
23360         (func_hardlink): New function.
23361         (copymode, lcopymode): New variables.
23362         (symbolic, lsymbolic): Remove variables.
23363         (Options): Implement options --hardlink, --local-hardlink,
23364         --more-hardlinks.
23365         (func_should_link): Renamed from func_should_symlink. Set copyaction.
23366         (func_add_file, func_update_file): Update invocation of
23367         func_should_link. Invoke func_hardlink when appropriate.
23368         (func_import): Update comments.
23369         (func_create_testdir): Update invocation of func_should_link. Invoke
23370         func_hardlink when appropriate.
23371         Finally, invoke 'git update-index --refresh' to mitigate the effects of
23372         the hard links on git.
23374 2017-05-20  Bruno Haible  <bruno@clisp.org>
23376         argp: Simplify bit manipulation.
23377         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
23378         on a signed integer type.
23380 2017-05-20  Bruno Haible  <bruno@clisp.org>
23382         Avoid wrong configure results with gcc -fsanitize=address.
23383         This completes the work done on 2016-02-06 on this topic.
23384         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
23385         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23386         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23387         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23388         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
23389         returning.
23390         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
23391         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
23392         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23393         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23394         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23395         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
23396         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
23397         free allocated memory before returning.
23398         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23399         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
23400         objects before returning.
23401         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
23402         returning.
23404 2017-05-20  Bruno Haible  <bruno@clisp.org>
23406         gnulib-tool: Don't create hard links between gnulib and its testdirs.
23407         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
23409 2017-05-20  Bruno Haible  <bruno@clisp.org>
23411         argp, tsearch tests: Fix file list.
23412         * modules/argp-tests (Files): Add tests/macros.h.
23413         * modules/tsearch-tests (Files): Likewise.
23415 2017-05-20  Bruno Haible  <bruno@clisp.org>
23417         getopt-posix tests: Remove redundant include.
23418         * tests/test-getopt.h: Don't include "macros.h". It's already included
23419         by tests/test-getopt-main.h.
23421 2017-05-19  Jim Meyering  <meyering@fb.com>
23423         dfa: two small simplifications
23424         * lib/dfa.c (build_state): Avoid repeating longer expressions.
23426 2017-05-18  Jim Meyering  <meyering@fb.com>
23428         fallthrough: update for GCC 7/8
23429         * lib/quotearg.c (FALLTHROUGH): New macro.
23430         Use it whenever one switch case falls through into the next,
23431         replacing "/* Fall through */" comments.  This exposed one
23432         instance of an unwarranted "fall through" comment: unwarranted
23433         because it preceded a "goto" label not a case statement.
23434         * lib/freopen-safer.c (freopen_safer): Likewise.
23435         * lib/fts.c (leaf_optimization_applies): Likewise.
23436         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
23437         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
23438         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
23439         tests/macros.h for the definition.
23440         * tests/test-argp.c (group1_parser): Likewise.
23441         * tests/test-getopt.h (getopt_loop): Likewise.
23443 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23445         argp: fix shift bug
23446         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
23447         behavior on shift overflow, caught by gcc -fsanitize=undefined.
23449         argp: fix pointer-subtraction bug
23450         * lib/argp-help.c (hol_append): Don’t subtract pointers to
23451         different arrays, as this can run afoul of -fcheck-pointer-bounds.
23452         See the thread containing Bruno Haible’s report in:
23453         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
23455 2017-05-19  Bruno Haible  <bruno@clisp.org>
23457         printf-posix tests: Avoid test failure with "gcc --coverage".
23458         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23459         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
23460         than 5000000.
23461         * tests/test-fprintf-posix2.c (main): Likewise.
23463 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23465         closeout: don’t close stderr when sanitizing
23466         * NEWS: Document this.
23467         * lib/closeout.c (__has_feature): New macro, if not already defined.
23468         (SANITIZE_ADDRESS): New constant.
23469         (close_stdout): Don’t close stderr if sanitizing addresses.
23471 2017-05-19  Bruno Haible  <bruno@clisp.org>
23473         get-rusage-data tests: Avoid failure on Linux/glibc.
23474         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
23475         on glibc systems.
23477 2017-05-18  Bruno Haible  <bruno@clisp.org>
23479         localename: Include necessary header files on Cygwin.
23480         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
23481         where NL_LOCALE_NAME is defined.
23483 2017-05-18  Bruno Haible  <bruno@clisp.org>
23485         gettext: Update macros from gettext git.
23486         * m4/intldir.m4: Require Autoconf >= 2.60.
23487         * m4/progtest.m4: Fix typos in copyright notice.
23489 2017-05-18  Bruno Haible  <bruno@clisp.org>
23491         copy-file tests: Fix link error (regression from 2017-05-01).
23492         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23493         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
23494         $(LIB_CLOCK_GETTIME).
23496 2017-05-18  Bruno Haible  <bruno@clisp.org>
23498         unicase/special-casing: Fix incompatibility with gperf-3.0.4
23499         (regression from 2017-02-13).
23500         * lib/unicase/special-casing.in.h: Renamed from
23501         lib/unicase/special-casing.h.
23502         * modules/unicase/special-casing (Files): Add
23503         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
23504         (Makefile.am): Add rule for generating unicase/special-casing.h.
23505         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
23506         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
23507         not "special-casing.h".
23508         * lib/unicase/u*.c: Likewise.
23510 2017-05-17  Bruno Haible  <bruno@clisp.org>
23512         README: Don't ask people to read a TeXinfo file.
23513         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
23514         * README: Tell people how to read the HTML formatted manual.
23516 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
23518         parse-datetime: Fix memleak
23519         * lib/parse-datetime.y (parse_datetime2): Cleanup on
23520         localtime_rz() failure.
23522 2017-05-16  Bruno Haible  <bruno@clisp.org>
23524         javacomp: Fix handle leak.
23525         Found by Coverity.
23526         * lib/javacomp.c (get_classfile_version): Close fd before returning.
23528 2017-05-16  Bruno Haible  <bruno@clisp.org>
23530         relocate: Make it easier to reclaim allocated memory.
23531         * lib/relocatable.h (relocate2): New declaration/macro.
23532         * lib/relocatable.c (relocate2): New function.
23533         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
23534         relocate2 function.
23535         * lib/localcharset.c (relocate2): Define fallback.
23536         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
23537         allocated memory.
23538         * lib/javaversion.c (relocate2): Define fallback.
23539         (javaexec_version): Invoke relocate2 instead of relocate. Free the
23540         allocated memory.
23542 2017-05-16  Bruno Haible  <bruno@clisp.org>
23544         relocate: Simplify EMX specific code.
23545         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
23546         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
23548 2017-05-16  Bruno Haible  <bruno@clisp.org>
23550         sigpipe tests: Fix file list.
23551         * modules/sigpipe-tests (Files): Add tests/macros.h.
23553 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23555         manywarnings: update for GCC 7
23556         * build-aux/gcc-warning.spec:
23557         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
23558         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
23559         requires a non-comment fallthrough attribute.  This is a bit
23560         cleaner than the comment versions.
23561         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
23562         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
23563         Use it whenever one switch case falls through into the next.
23564         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
23565         Use FALLTHROUGH macro.
23567 2017-05-15  Bruno Haible  <bruno@clisp.org>
23569         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
23570         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
23571         @ALLOCA@, not @LTALLOCA@.
23573 2017-05-15  Bruno Haible  <bruno@clisp.org>
23575         sys_select: Avoid "was expanded before it was required" warning.
23576         * modules/sys_select (configure.ac): Require, not invoke,
23577         gl_HEADER_SYS_SELECT.
23579 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23581         gnulib-tool: improve GNU Make debugging
23582         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
23583         Report autoconf diagnostics when it fails, in the output makefile.
23585 2017-05-14  Bruno Haible  <bruno@clisp.org>
23587         stat-time tests: Improve comment.
23588         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
23590 2017-05-14  Bruno Haible  <bruno@clisp.org>
23592         same-inode: Adapt for windows-stat-inodes.
23593         * lib/same-inode.h: Include <sys/types.h>.
23594         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
23595         * modules/same-inode (Depends-on): Add sys_types.
23597 2017-05-14  Bruno Haible  <bruno@clisp.org>
23599         windows-stat-inodes: New module.
23600         * m4/windows-stat-inodes.m4: New file.
23601         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
23602         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
23603         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
23604         (_GL_WINDOWS_STAT_INODES): New macro.
23605         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
23606         (GetFileInformationByHandleExFunc): New variable.
23607         (initialize): Initialize it.
23608         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
23609         st_ino appropriately.
23610         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
23611         a fallback, because it does not provide st_dev and st_ino values.
23612         * modules/fstat (Depends-on): Add 'verify'.
23613         * modules/windows-stat-inodes: New file.
23614         * doc/windows-stat-inodes.texi: New file.
23615         * doc/gnulib.texi: Include it.
23616         * doc/posix-headers/sys_stat.texi: Mention the new module.
23618 2017-05-14  Bruno Haible  <bruno@clisp.org>
23620         stat-time tests: Workaround for native Windows.
23621         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
23622         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
23623         New variables.
23624         (initialize_filenames): New function.
23625         (main): Invoke it.
23626         (cleanup, prepare_test): Update.
23628 2017-05-14  Bruno Haible  <bruno@clisp.org>
23630         stat-time: Adapt for windows-stat-timespec.
23631         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
23632         entire st_ctim field.
23634 2017-05-13  Jim Meyering  <meyering@fb.com>
23636         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
23637         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
23638         file that uses the assume macro, claiming that verify.h is unused.
23640 2017-05-13  Bruno Haible  <bruno@clisp.org>
23642         Use symbolic values for _WIN32_WINNT.
23643         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
23644         * lib/sethostname.c (_WIN32_WINNT): Likewise.
23646 2017-05-13  Bruno Haible  <bruno@clisp.org>
23648         year2038: New module.
23649         * m4/year2038.m4: New file.
23650         * modules/year2038: New file.
23651         * doc/year2038.texi: New file.
23652         * doc/gnulib.texi: Include it.
23654 2017-05-13  Bruno Haible  <bruno@clisp.org>
23656         largefile: Simplify.
23657         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
23658         of _GL_WINDOWS_64_BIT_ST_SIZE.
23660 2017-05-13  Bruno Haible  <bruno@clisp.org>
23662         largefile: Improve and document.
23663         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
23664         the mingw headers already define 'stat' appropriately.
23665         * modules/largefile (Description): Clarify.
23666         * doc/largefile.texi: New file.
23667         * doc/gnulib.texi: Include it.
23668         * doc/posix-headers/sys_types.texi: Update.
23670 2017-05-13  Bruno Haible  <bruno@clisp.org>
23672         truncate: New module.
23673         * lib/unistd.in.h (truncate): New declaration.
23674         * lib/truncate.c: New file.
23675         * m4/truncate.m4: New file.
23676         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
23677         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
23678         REPLACE_TRUNCATE.
23679         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
23680         HAVE_TRUNCATE, REPLACE_TRUNCATE.
23681         * modules/truncate: New file.
23682         * tests/test-unistd-c++.cc (truncate): Test signature.
23683         * doc/posix-functions/truncate.texi: Mention the new module.
23685         * tests/test-truncate.c: New file.
23686         * modules/truncate-tests: New file.
23688 2017-05-13  Bruno Haible  <bruno@clisp.org>
23690         windows-stat-timespec: New module.
23691         * modules/windows-stat-timespec: New file.
23692         * m4/windows-stat-timespec.m4: New file.
23693         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
23694         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
23695         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
23696         fields st_atim, st_mtim, st_ctim.
23697         (st_atime, st_mtime, st_ctime): Define as macros.
23698         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
23699         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
23700         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
23701         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
23702         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
23703         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
23704         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23705         FILETIME to 'struct timespec', not 'time_t'.
23706         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23707         FILETIME to 'struct timespec', not 'time_t'.
23708         * lib/stat-time.h (STAT_TIMESPEC): Define also if
23709         _GL_WINDOWS_STAT_TIMESPEC.
23710         * doc/windows-stat-timespec.texi: New file.
23711         * doc/gnulib.texi: Include it.
23713 2017-05-13  Bruno Haible  <bruno@clisp.org>
23715         windows-stat-override: New module.
23716         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
23717         definition. Define GNULIB_defined_struct_stat.
23718         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
23719         link error if this symbol is used and the corresponding module is not
23720         in use.
23721         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
23722         GNULIB_OVERRIDES_STRUCT_STAT.
23723         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23724         GNULIB_OVERRIDES_STRUCT_STAT.
23725         * modules/sys_stat (Makefile.am): Substitute
23726         GNULIB_OVERRIDES_STRUCT_STAT.
23727         * modules/windows-stat-override: New file.
23729 2017-05-13  Bruno Haible  <bruno@clisp.org>
23731         fstat: Fix module dependency conditions.
23732         * modules/fstat (Depends-on): Fix typo.
23734 2017-05-13  Bruno Haible  <bruno@clisp.org>
23736         stat, fstat: Complete removal of old native Windows code.
23737         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
23738         * lib/fstat.c: Likewise.
23739         * lib/stat-w32.c: Likewise.
23741 2017-05-13  Bruno Haible  <bruno@clisp.org>
23743         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
23744         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
23746 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23748         getopt-posix: port to mingw
23749         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
23750         Problem reported by Daniel P. Berrage in:
23751         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
23753 2017-05-11  Bruno Haible  <bruno@clisp.org>
23755         gettimeofday: Increase precision on mingw.
23756         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
23757         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
23758         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
23759         GetSystemTimePreciseAsFileTime based implementation always.
23760         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
23761         mingw.
23763 2017-05-11  Bruno Haible  <bruno@clisp.org>
23765         poll: Fix confusion between SOCKETs and FDs on native Windows.
23766         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
23767         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
23769 2017-05-11  Bruno Haible  <bruno@clisp.org>
23771         doc: Clarify doc about socket functions on native Windows.
23772         This reworks doc that was added on 2008-09-29.
23773         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
23774         clearer wording.
23775         * doc/posix-functions/accept.texi: Use clearer wording.
23776         * doc/posix-functions/bind.texi: Likewise.
23777         * doc/posix-functions/connect.texi: Likewise.
23778         * doc/posix-functions/getpeername.texi: Likewise.
23779         * doc/posix-functions/getsockname.texi: Likewise.
23780         * doc/posix-functions/getsockopt.texi: Likewise.
23781         * doc/posix-functions/ioctl.texi: Likewise.
23782         * doc/posix-functions/listen.texi: Likewise.
23783         * doc/posix-functions/recv.texi: Likewise.
23784         * doc/posix-functions/recvfrom.texi: Likewise.
23785         * doc/posix-functions/send.texi: Likewise.
23786         * doc/posix-functions/sendto.texi: Likewise.
23787         * doc/posix-functions/setsockopt.texi: Likewise.
23788         * doc/posix-functions/shutdown.texi: Likewise.
23789         * doc/posix-functions/socket.texi: Likewise.
23791 2017-05-10  Bruno Haible  <bruno@clisp.org>
23793         poll: Fix link error on native Windows.
23794         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
23796 2017-05-10  Bruno Haible  <bruno@clisp.org>
23798         time: Fix missing initialization of HAVE_TIMEZONE_T.
23799         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
23800         here...
23801         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
23802         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
23803         gl_HEADER_SYS_TIME_H_DEFAULTS.
23804         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
23805         (configure.ac): Remove useless quoting.
23807 2017-05-10  Bruno Haible  <bruno@clisp.org>
23809         Implement a way to opt out from MSVC support, part 2.
23810         * modules/msvc-inval (Include): Document recommended idiom.
23811         * modules/msvc-nothrow (Include): Likewise.
23813         Implement a way to opt out from MSVC support.
23814         This is useful for Emacs.
23815         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
23816         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
23817         * lib/error.c: Likewise.
23818         * lib/fcntl.c: Likewise.
23819         * lib/flock.c: Likewise.
23820         * lib/fstat.c: Likewise.
23821         * lib/fsync.c: Likewise.
23822         * lib/ioctl.c: Likewise.
23823         * lib/isapipe.c: Likewise.
23824         * lib/lseek.c: Likewise.
23825         * lib/nonblocking.c: Likewise.
23826         * lib/poll.c: Likewise.
23827         * lib/select.c: Likewise.
23828         * lib/sockets.h: Likewise.
23829         * lib/sockets.c: Likewise.
23830         * lib/stdio-read.c: Likewise.
23831         * lib/stdio-write.c: Likewise.
23832         * lib/utimens.c: Likewise.
23833         * lib/w32sock.h: Likewise.
23834         * lib/w32spawn.h: Likewise.
23835         * tests/test-cloexec.c: Likewise.
23836         * tests/test-dup-safer.c: Likewise.
23837         * tests/test-dup2.c: Likewise.
23838         * tests/test-dup3.c: Likewise.
23839         * tests/test-fcntl.c: Likewise.
23840         * tests/test-pipe.c: Likewise.
23841         * tests/test-pipe2.c: Likewise.
23842         * lib/ftruncate.c: Likewise.
23843         (chsize_nothrow): Renamed from chsize.
23844         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
23845         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23846         * lib/close.c: Likewise.
23847         * lib/dup.c: Likewise.
23848         * lib/fclose.c: Likewise.
23849         * lib/raise.c: Likewise.
23850         * tests/test-fgetc.c: Likewise.
23851         * tests/test-fputc.c: Likewise.
23852         * tests/test-fread.c: Likewise.
23853         * tests/test-fwrite.c: Likewise.
23854         * lib/getdtablesize.c: Likewise.
23855         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
23856         * lib/isatty.c: Don't include msvc-inval.h if
23857         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23858         Include <io.h> as an alternative to msvc-nothrow.h.
23859         * lib/read.c: Likewise.
23860         * lib/write.c: Likewise.
23861         * lib/dup2.c: Likewise.
23862         (dup2_nothrow): New function.
23863         (ms_windows_dup2): Use it.
23864         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
23865         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
23866         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23867         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
23868         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
23869         * m4/read.m4 (gl_FUNC_READ): Likewise.
23870         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
23871         * doc/windows-without-msvc.texi: New file.
23872         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
23873         section.
23875 2017-05-10  Bruno Haible  <bruno@clisp.org>
23877         wait-process: Adjust native Windows support.
23878         * lib/wait-process.c: Use the usual condition for recognizing a native
23879         Windows platform.
23881 2017-05-10  Bruno Haible  <bruno@clisp.org>
23883         doc: New chapter "Native Windows Support".
23884         * doc/gnulib.texi (Native Windows Support): New chapter.
23885         * doc/windows-libtool.texi: Small wording changes.
23886         * doc/windows-sockets.texi: Small wording and formatting changes.
23888 2017-05-10  Bruno Haible  <bruno@clisp.org>
23890         doc: Move section "Library version handling".
23891         * doc/gnulib.texi: Move section "Library version handling"
23892         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
23894 2017-05-10  Bruno Haible  <bruno@clisp.org>
23896         doc: Move section "Running self-tests under valgrind".
23897         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
23898         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
23900 2017-05-10  Bruno Haible  <bruno@clisp.org>
23902         doc: New chapter "Build Infrastructure Modules".
23903         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
23905 2017-05-10  Bruno Haible  <bruno@clisp.org>
23907         Prepare for reordering sections in the manual.
23908         * doc/gnulib.texi: Move several sections to separate files. Include
23909         these files.
23910         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
23911         * doc/obsolete.texi: Likewise.
23912         * doc/extra-tests.texi: Likewise.
23913         * doc/transversal.texi: Likewise.
23914         * doc/namespace.texi: Likewise.
23915         * doc/check-version.texi: Likewise.
23916         * doc/windows-sockets.texi: Likewise.
23917         * doc/windows-libtool.texi: Likewise.
23918         * doc/licenses-texi.texi: Likewise.
23919         * doc/build-automation.texi: Likewise.
23920         * doc/c-locale.texi: Likewise.
23922 2017-05-10  Bruno Haible  <bruno@clisp.org>
23924         Fix instructions how to update manual on www.gnu.org.
23925         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
23927 2017-05-09  Bruno Haible  <bruno@clisp.org>
23929         tzset: Expand comment about TZ problem on native Windows.
23930         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
23931         Paul Eggert.
23932         * lib/ctime.c (rpl_ctime): Likewise.
23933         * lib/localtime.c (rpl_localtime): Likewise.
23934         * lib/mktime.c (mktime): Likewise.
23935         * lib/strftime-fixes.c (rpl_strftime): Likewise.
23936         * lib/wcsftime.c (rpl_wcsftime): Likewise.
23938 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23940         intprops: don’t depend on ‘verify’
23941         Problem reported by Ævar Arnfjörð Bjarmason in:
23942         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
23943         * lib/intprops.h: Do not include verify.h, and move compile-time
23944         checks from here ...
23945         * tests/test-intprops.c (main): ... to here, if they’re not here
23946         already.  Check widths of other standard integer types.
23947         * modules/intprops (Depends-on): Remove ‘verify’.
23949 2017-05-07  Bruno Haible  <bruno@clisp.org>
23951         utimens: On native Windows, support 100ns resolution also if fd < 0.
23952         * lib/utime.in.h: Include <time.h>.
23953         (_gl_utimens_windows): New declaration.
23954         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
23955         (utime): Invoke it.
23956         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
23957         instead of utime.
23958         * modules/utime (Depends-on): Add 'time'.
23960 2017-05-07  Bruno Haible  <bruno@clisp.org>
23962         utimens: Improve error code on native Windows.
23963         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
23964         error code EACCES, not EINVAL.
23966 2017-05-07  Bruno Haible  <bruno@clisp.org>
23968         utime: Handle more Windows error codes.
23969         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
23970         Based on explanations by Billy O'Neal.
23972 2017-05-05  Bruno Haible  <bruno@clisp.org>
23974         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
23975         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
23976         union.
23977         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
23978         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
23979         value of cipher->IV.
23981 2017-05-05  Bruno Haible  <bruno@clisp.org>
23983         wctype-h-c++-tests: Update.
23984         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
23986 2017-05-05  Bruno Haible  <bruno@clisp.org>
23988         wchar-c++-tests: Update.
23989         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
23991 2017-05-05  Bruno Haible  <bruno@clisp.org>
23993         utime-h-c++-tests: New module.
23994         * tests/test-utime-h-c++.cc: New file.
23995         (utime): Declare, missing since 2017-04-30.
23996         * modules/utime-h-c++-tests: New file.
23998 2017-05-05  Bruno Haible  <bruno@clisp.org>
24000         unistd-c++-tests: Update.
24001         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
24002         (read): Declare, missing since 2011-04-15.
24003         (sethostname): Declare, missing since 2011-12-03.
24005 2017-05-05  Bruno Haible  <bruno@clisp.org>
24007         time-c++-tests: Update.
24008         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
24009         (localtime, gmtime): Declare, missing since 2017-04-30.
24010         (ctime): Declare, missing since 2017-04-30.
24011         (strftime): Declare, missing since 2017-04-30.
24012         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
24013         2015-07-24.
24015 2017-05-05  Bruno Haible  <bruno@clisp.org>
24017         sys_resource-c++-tests: New module.
24018         * tests/test-sys_resource-c++.cc: New file.
24019         (getrusage): Declare, missing since 2012-04-13.
24020         * modules/sys_resource-c++-tests: New file.
24022 2017-05-05  Bruno Haible  <bruno@clisp.org>
24024         strings-c++-tests: New module.
24025         * tests/test-strings-c++.cc: New file.
24026         (ffs): Declare, missing since 2011-07-12.
24027         * modules/strings-c++-tests: New file.
24029 2017-05-05  Bruno Haible  <bruno@clisp.org>
24031         string-c++-tests: Update.
24032         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
24033         (ffsll): Declare, missing since 2011-07-15.
24035 2017-05-05  Bruno Haible  <bruno@clisp.org>
24037         stdlib-c++-tests: Update.
24038         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
24039         2011-10-18.
24040         (ptsname_r): Declare, missing since 2011-11-07.
24041         (qsort_r): Declare, missing since 2014-08-29.
24042         (random, srandom, initstate, setstate): Declare, missing since
24043         2012-01-14.
24044         (secure_getenv): Declare, missing since 2013-02-05.
24046 2017-05-05  Bruno Haible  <bruno@clisp.org>
24048         stdio-c++-tests: Update.
24049         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
24051 2017-05-05  Bruno Haible  <bruno@clisp.org>
24053         signal-h-c++-tests: Update.
24054         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
24056 2017-05-05  Bruno Haible  <bruno@clisp.org>
24058         math-c++-tests: Update.
24059         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
24060         (fma): Declare, missing since 2011-10-17.
24061         (fmal): Declare, missing since 2011-10-17.
24063 2017-05-05  Bruno Haible  <bruno@clisp.org>
24065         locale-c++-tests: Update.
24066         * tests/test-locale-c++.cc (localeconv): Declare, missing since
24067         2012-03-25.
24069 2017-05-05  Bruno Haible  <bruno@clisp.org>
24071         inttypes-c++-tests: New module.
24072         * tests/test-inttypes-c++.cc: New file.
24073         (strtoimax): Declare, missing since 2012-01-05.
24074         (strtoumax): Declare, missing since 2012-01-05.
24075         * modules/inttypes-c++-tests: New file.
24077 2017-05-05  Bruno Haible  <bruno@clisp.org>
24079         dirent-c++-tests: Update.
24080         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
24081         (rewinddir): Declare, missing since 2011-09-13.
24082         (dirfd): Declare, missing since 2010-03-08.
24084 2017-05-04  Bruno Haible  <bruno@clisp.org>
24086         argp: Fix mistake in 2017-04-23 commit.
24087         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
24088         assume that strerror_r returns 'int', not 'char *'.
24090 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
24092         argp: Fix typo.
24093         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
24095 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
24097         utimens: port to Emacs + MS-Windows
24098         Skip the new MS-Windows-specific code if Emacs.
24099         * lib/utimens.c [EMACS_CONFIGUATION]:
24100         Avoid new MS-Windows-specific code.
24101         (USE_SETFILETIME): New macro.
24102         (fdutimens): Use it.
24104 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24106         tzset: update doc for TZ problems on MS-Windows
24107         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
24108         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
24109         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
24110         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
24111         * doc/posix-functions/wcsftime.texi:
24112         Mention some issues with TZ under MS-Windows.
24114 2017-05-01  Bruno Haible  <bruno@clisp.org>
24116         copy-file: Fix build error on mingw.
24117         * modules/copy-file (Depends-on): Add 'close'.
24119 2017-05-01  Bruno Haible  <bruno@clisp.org>
24121         tzset: Work around TZ problem on native Windows.
24122         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
24123         Windows, set REPLACE_TZSET to 1.
24124         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
24125         invoke '_tzset' instead of 'tzset'.
24126         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
24128         * modules/time_rz (Depends-on): Add tzset.
24129         * lib/time_rz.c (tzset): Remove fallback definition.
24130         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
24132 2017-05-01  Bruno Haible  <bruno@clisp.org>
24134         mktime: Fix dependencies.
24135         * modules/mktime (Depends-on): Add 'time'.
24137 2017-05-01  Bruno Haible  <bruno@clisp.org>
24139         New module 'localtime-buffer', split off from module 'gettimeofday'.
24140         * lib/localtime-buffer.h: New file.
24141         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
24142         * lib/time.in.h (tzset): New declaration.
24143         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
24144         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
24145         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
24146         moved to lib/localtime-buffer.c or lib/tzset.c.
24147         * m4/localtime-buffer.m4: New file.
24148         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
24149         HAVE_TZSET, REPLACE_TZSET.
24150         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
24151         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
24152         gl_LOCALTIME_BUFFER_NEEDED.
24153         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
24154         since 2007-01-18.
24155         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
24156         tzset.
24157         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
24158         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
24159         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
24160         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
24161         * modules/localtime-buffer: New file.
24162         * modules/time (Depends-on): Remove 'gettimeofday'.
24163         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
24164         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
24165         * modules/tzset (Description): Enable hyperlink to POSIX spec.
24166         (Files): Add lib/tzset.c.
24167         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
24168         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
24169         gl_TIME_MODULE_INDICATOR.
24170         * modules/gettimeofday (Depends-on): Add localtime-buffer.
24172 2017-05-01  Bruno Haible  <bruno@clisp.org>
24174         copy-file: Preserve sub-second time stamps.
24175         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
24176         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
24177         transport the time stamps from the original file to the destination
24178         file.
24179         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
24180         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
24181         utime-h.
24183 2017-05-01  Bruno Haible  <bruno@clisp.org>
24185         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
24186         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
24187         also on MSVC.
24188         Reported by Eli Zaretskii <eliz@gnu.org>.
24190 2017-05-01  Bruno Haible  <bruno@clisp.org>
24192         wchar: Fix compilation error with the original mingw.org mingw.
24193         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24194         <stddef.h> instead.
24195         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
24196         gl_WCTYPE_H.
24197         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
24198         gl_TYPE_WINT_T_PREREQ instead.
24199         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
24200         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
24201         Reported by Eli Zaretskii <eliz@gnu.org>.
24203 2017-04-30  Bruno Haible  <bruno@clisp.org>
24205         utimecmp: Add support for native Windows.
24206         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
24208 2017-04-30  Bruno Haible  <bruno@clisp.org>
24210         utimens: Add support for native Windows.
24211         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
24212         (fdutimens): Provide a native Windows implementation, like utime.c with
24213         added tv_nsec support.
24214         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
24215         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
24217 2017-04-30  Bruno Haible  <bruno@clisp.org>
24219         wcsftime: New module.
24220         * lib/wchar.in.h (wcsftime): New declaration.
24221         * lib/wcsftime.c: New file.
24222         * m4/wcsftime.m4: New file.
24223         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
24224         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
24225         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24226         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
24227         HAVE_WCSFTIME, REPLACE_WCSFTIME.
24228         * modules/wcsftime: New file.
24229         * doc/posix-functions/wcsftime.texi: Mention the new module.
24231 2017-04-30  Bruno Haible  <bruno@clisp.org>
24233         strftime-fixes: New module.
24234         * lib/time.in.h (strftime): New declaration.
24235         * lib/strftime-fixes.c: New file.
24236         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
24237         (gl_FUNC_STRFTIME): Remove macro.
24238         * m4/strftime-fixes.m4: New file.
24239         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
24240         REPLACE_STRFTIME.
24241         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
24242         REPLACE_STRFTIME.
24243         * modules/strftime-fixes: New file.
24244         * doc/posix-functions/strftime.texi: Mention the new module.
24246 2017-04-30  Bruno Haible  <bruno@clisp.org>
24248         mktime: Work around TZ problem on native Windows.
24249         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
24250         from the native Windows workaround.
24251         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
24252         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
24253         'guessing no'.
24254         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
24255         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
24256         NEED_MKTIME_WINDOWS.
24257         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
24258         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
24259         NEED_MKTIME_INTERNAL.
24260         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
24261         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
24262         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
24263         not REPLACE_MKTIME.
24264         * doc/posix-functions/mktime.texi: Mention the native Windows
24265         workaround.
24267 2017-04-30  Bruno Haible  <bruno@clisp.org>
24269         localtime: New module.
24270         * lib/time.in.h (localtime): Declare also if requested by module
24271         'localtime'.
24272         * lib/localtime.c: New file.
24273         * m4/localtime.m4: New file.
24274         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
24275         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
24276         * modules/localtime: New file.
24277         * doc/posix-functions/localtime.texi: Mention the new module.
24279 2017-04-30  Bruno Haible  <bruno@clisp.org>
24281         ctime: New module.
24282         * lib/time.in.h (ctime): New declaration.
24283         * lib/ctime.c: New file.
24284         * m4/ctime.m4: New file.
24285         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
24286         REPLACE_CTIME.
24287         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
24288         * modules/ctime: New file.
24289         * doc/posix-functions/ctime.texi: Mention the new module.
24291 2017-04-30  Bruno Haible  <bruno@clisp.org>
24293         gettimeofday: Provide higher resolution on native Windows.
24294         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
24295         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
24296         (initialize): Initialize it.
24297         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
24298         'struct timeval'. Don't use _ftime().
24299         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
24300         <sys/timeb.h> and _ftime.
24302 2017-04-30  Bruno Haible  <bruno@clisp.org>
24304         Document the problem with the Cygwin environment variable TZ.
24305         * doc/posix-functions/tzset.texi: Add note about TZ.
24306         * doc/posix-functions/ctime.texi: Likewise.
24307         * doc/posix-functions/localtime.texi: Likewise.
24308         * doc/posix-functions/mktime.texi: Likewise.
24309         * doc/posix-functions/strftime.texi: Likewise.
24310         * doc/posix-functions/wcsftime.texi: Likewise.
24311         * doc/pastposix-functions/ftime.texi: Likewise.
24313 2017-04-30  Bruno Haible  <bruno@clisp.org>
24315         utime-tests: New module.
24316         * tests/test-utime.c: New file, based on tests/test-utimens.h.
24317         * tests/test-utimens-common.h: Include <sys/stat.h>.
24318         * modules/utime-tests: New file.
24320 2017-04-29  Bruno Haible  <bruno@clisp.org>
24322         utime: New module.
24323         * lib/utime.in.h: Add comment for snippets.
24324         (utime): New declaration.
24325         * lib/utime.c: New file.
24326         * m4/utime.m4: New file.
24327         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
24328         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
24329         REPLACE_UTIME.
24330         * modules/utime-h (Depends-on): Add snippets.
24331         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
24332         Insert snippets.
24333         * modules/utime: New file.
24334         * doc/posix-functions/utime.texi: Mention the new module.
24336 2017-04-29  Bruno Haible  <bruno@clisp.org>
24338         utime-h: Modernize handling of 'struct utimbuf'.
24339         * lib/utime.in.h: Include next <utime.h> if it exists.
24340         (utimbuf): Define to _utimbuf on native Windows.
24341         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
24342         Set UTIME_H on native Windows.
24343         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
24344         * modules/utime-h (Depends-on): Add include_next.
24345         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
24346         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
24348         * lib/utimens.c (utimbuf): Remove fallback definition.
24349         * m4/utimens.m4 (gl_UTIMENS): Don't require
24350         gl_CHECK_TYPE_STRUCT_UTIMBUF.
24351         * m4/utimbuf.m4: Remove file.
24352         * modules/utimens (Files): Remove m4/utimbuf.m4.
24354 2017-04-29  Bruno Haible  <bruno@clisp.org>
24356         Make use of module 'utime-h'.
24357         * modules/copy-file (Depends-on): Add utime-h.
24358         * lib/copy-file.c: Assume that <utime.h> exists.
24359         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
24361         * modules/utimens (Depends-on): Add utime-h.
24362         * lib/utimens.c: Assume that <utime.h> exists.
24364 2017-04-29  Bruno Haible  <bruno@clisp.org>
24366         utime-h: New module.
24367         * m4/utime_h.m4: New file.
24368         * lib/utime.in.h: New file.
24369         * modules/utime-h: New file.
24370         * doc/posix-headers/utime.texi: Mention the new module.
24372         * tests/test-utime-h.c: New file.
24373         * modules/utime-h-tests: New file.
24375 2017-04-30  Bruno Haible  <bruno@clisp.org>
24377         Fix a few typos.
24378         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
24379         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
24380         * doc/posix-functions/fstat.texi: Fix a plural typo.
24381         * doc/posix-functions/stat.texi: Likewise.
24382         * m4/include_next.m4: Update comments.
24384 2017-04-29  Bruno Haible  <bruno@clisp.org>
24386         error: Fix mistake in 2017-04-23 commit.
24387         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
24388         assume that strerror_r returns 'int', not 'char *'.
24390 2017-04-29  Bruno Haible  <bruno@clisp.org>
24392         stat: Fix time_t values and other problems on native Windows platforms.
24393         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
24394         implementations of stat().
24395         * lib/stat.c: Include filename.h instead of dosname.h. Include
24396         malloca.h, stat-w32.h.
24397         (is_unc_root): New function.
24398         (rpl_stat): New implementation for native Windows. Remove
24399         REPLACE_FUNC_STAT_DIR code.
24400         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
24401         Don't define REPLACE_FUNC_STAT_DIR.
24402         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
24403         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24404         (Depends-on): Remove dosname. Add filename, malloca.
24405         (configure.ac): Also compile lib/stat-w32.c.
24407 2017-04-29  Bruno Haible  <bruno@clisp.org>
24409         fstat: Fix time_t values on native Windows platforms.
24410         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
24411         * lib/stat-w32.h: New file.
24412         * lib/stat-w32.c: New file.
24413         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
24414         stat-w32.h instead.
24415         (fstat_nothrow): Remove function.
24416         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
24417         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
24418         always.
24419         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
24420         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
24421         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
24422         (configure.ac): Also compile lib/stat-w32.c.
24424 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24426         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
24427         Problem reported by Assaf Gordon and Gavin Smith in:
24428         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
24429         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
24430         #define this, too.
24432 2017-04-29  Bruno Haible  <bruno@clisp.org>
24434         strerror_r-posix: Fixes for MSVC 14.
24435         * lib/strerror_r.c: Include <stdarg.h>.
24436         (strerror_r): Provide error messages for errno values 100...140.
24437         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
24439 2017-04-28  Bruno Haible  <bruno@clisp.org>
24441         noreturn: New module.
24442         * lib/noreturn.h: New file.
24443         * modules/noreturn: New file.
24444         * tests/test-noreturn.c: New file.
24445         * modules/noreturn-tests: New file.
24446         * tests/test-noreturn-c++.cc: New file.
24447         * modules/noreturn-c++-tests: New file.
24449 2017-04-27  Bruno Haible  <bruno@clisp.org>
24451         wctype-h: Fix compilation error with the original mingw.org mingw.
24452         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
24453         HAVE_CRTDEFS_H.
24454         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
24455         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
24456         <stddef.h> instead.
24457         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
24459 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24461         nap.h: Fix compilation on non windows platforms
24462         * tests/nap.h: Move misplaced endif.
24464 2017-04-26  Pádraig Brady  <P@draigBrady.com>
24465         and Paul Eggert  <eggert@cs.ucla.edu>
24467         time_rz: fix heap buffer overflow vulnerability
24468         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
24469         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
24470         whether there is enough buffer space available, thus avoiding
24471         the problematic promotion of signed to unsigned causing an invalid
24472         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
24473         the start of the buffer.
24474         * tests/test-parse-datetime.c (main): Add a test case written by
24475         Paul Eggert, which overwrites enough of the heap so that
24476         standard glibc will fail with "free(): invalid pointer"
24477         without the patch applied.
24479 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
24481         xalloc: add missing integer overflow check
24482         * lib/xalloc.h (x2nrealloc): Also check for multiplication
24483         overflow when P is null.
24485 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24487         parse-datetime: make it standalone
24488         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
24489         (_GL_ATTRIBUTE_FORMAT): New macro.
24490         These are needed to get './gnulib-tool --test parse-datetime' to work.
24492 2017-04-23  Bruno Haible  <bruno@clisp.org>
24494         nap.h: Port to native Windows.
24495         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
24496         use nap_fd instead. On native Windows, close and reopen nap_fd.
24497         (nap_works): Don't compare the ctimes, because on native Windows, these
24498         are the creation times.
24499         (nap): Update.
24501 2017-04-23  Bruno Haible  <bruno@clisp.org>
24503         nap.h: Fix logic.
24504         * tests/nap.h (nap): Avoid signed integer overflow in loop.
24506 2017-04-23  Bruno Haible  <bruno@clisp.org>
24508         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
24509         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
24510         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
24511         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
24512         * lib/argp-help.c (__argp_failure): Likewise.
24514 2017-04-23  Bruno Haible  <bruno@clisp.org>
24516         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
24517         * m4/strerror_r.m4: Revert changes since 2016-10-16.
24518         * lib/strerror_r.c: Likewise.
24520 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
24522         Target a C99 subset, not a C89 subset
24523         For many years Gnulib has targeted C89 and has resisted using C99
24524         features, as some Gnulib-using programs still wanted to target
24525         C89.  As this no longer seems to be the case, relax the porting
24526         requirements to allow some C99 features.  This is merely a change
24527         to the documentation, to give other Gnulib developers a chance to
24528         weigh in on the topic.
24529         * doc/extern-inline.texi (extern inline):
24530         * doc/gnulib-readme.texi (Portability guidelines):
24531         * doc/gnulib-tool.texi (Initial import):
24532         * doc/gnulib.texi (Header files):
24533         Modernize to talk about C99 and C11 instead of C89 and C99.
24534         * doc/gnulib-readme.texi (Portability guidelines):
24535         Now a section, not merely a subsection, so that it
24536         can be split up.  Modernize a bit.
24537         (C language versions, C99 features assumed)
24538         (C99 features avoided):
24539         New sections.
24541 2017-04-23  Bruno Haible  <bruno@clisp.org>
24543         doc: New section "Modules that modify the way other modules work".
24544         * doc/gnulib.texi (Modules that modify the way other modules work): New
24545         section.
24547 2017-04-23  Bruno Haible  <bruno@clisp.org>
24549         stat-time: Update comments.
24550         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
24551         * tests/test-utimens-common.h: Add reference regarding st_ctime on
24552         Windows.
24554 2017-04-01  Bruno Haible  <bruno@clisp.org>
24556         glob: Fix more memory leaks.
24557         * lib/glob.c (glob): Free allocated memory before returning.
24558         Reported by Coverity via Tim Rühsen.
24560 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24562         poll: improve fast check for out-of-range NFD
24563         * lib/poll.c: Do not include intprops.h.
24564         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
24565         * modules/poll (Depends-on): Remove intprops.
24567         ftoastr: cite a newer paper
24568         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
24569         instead of Loitsch 2010.
24571 2017-04-22  Bruno Haible  <bruno@clisp.org>
24573         poll: Enable argument check also in the Windows implementation.
24574         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
24575         Reported by Paul Eggert.
24577 2017-04-22  Bruno Haible  <bruno@clisp.org>
24579         getlogin_r: Work around bug in Mac OS X 10.12.
24580         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
24581         bug.
24582         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
24583         given size minus 1, call getlogin_r a second time, on a larger buffer.
24584         * modules/getlogin_r (Depends-on): Add malloca.
24585         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
24587 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24589         parse-datetime: fix %z and prefer signed int
24590         %z problem reported by Pádraig Brady in:
24591         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
24592         While fixing it, I decided to prefer signed ints to size_t, as
24593         they are less error-prone (e.g., ubsan catches overflow).
24594         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
24595         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
24596         counts, since signed integers make for better debugging.
24597         (date): Don’t assume %z works in printf formats.
24598         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
24599         sizes of buffers known to be small, e.g., because we’re using snprintf.
24600         (parse_datetime2): Simplify call to debug_mktime_not_ok.
24602 2017-04-22  Bruno Haible  <bruno@clisp.org>
24604         *printf: Work around rounding bug on Mac OS X.
24605         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
24606         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
24607         Mac OS X and FreeBSD.
24608         * doc/glibc-functions/*printf.texi: Likewise.
24610 2017-04-22  Bruno Haible  <bruno@clisp.org>
24612         vasnprintf tests: Avoid warnings.
24613         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
24614         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
24615         test.
24617 2017-04-22  Bruno Haible  <bruno@clisp.org>
24619         sys_file tests: Avoid warning.
24620         * tests/test-sys_file.c (main): Add a default clause to the switch
24621         statement.
24623 2017-04-22  Bruno Haible  <bruno@clisp.org>
24625         sethostname: Update doc.
24626         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
24627         Mac OS X.
24629 2017-04-22  Bruno Haible  <bruno@clisp.org>
24631         quotearg tests: Avoid warnings.
24632         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
24633         false.
24635 2017-04-22  Bruno Haible  <bruno@clisp.org>
24637         poll: Enable argument check.
24638         * lib/poll.c: Include intprops.h.
24639         (poll): Check value of nfd correctly.
24640         * modules/poll (Depends-on): Add intprops.
24642 2017-04-22  Bruno Haible  <bruno@clisp.org>
24644         get-rusage-data: Avoid warnings on Mac OS X.
24645         * lib/get-rusage-data.c: On Mac OS X, don't define
24646         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
24647         (get_rusage_data) [Mac OS X]: Just return 0.
24649 2017-04-22  Bruno Haible  <bruno@clisp.org>
24651         xbinary-io: Fix build error.
24652         * modules/xbinary-io (Depends-on): Add gettext-h.
24653         * lib/xbinary-io.c: Include gettext.h and define _().
24654         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
24655         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
24657 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24659         parse-datetime: overflow and debug cleanups
24660         This long patch was triggered by this bug report from Ruediger Meier:
24661         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
24662         I fixed the bug he noted, then found some others nearby, and then
24663         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
24664         up some of the code to follow GNU standards while I was at it.
24665         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
24666         use c_isdigit.
24667         (EPOCH_YEAR): Remove; unused.
24668         (TM_YEAR_BASE): Now an enum rather than a macro.
24669         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
24670         time zone offset, since timezones now are in terms of seconds and
24671         not minutes.
24672         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
24673         appropriate.  Verify that intmax_t is wide enough.
24674         (time_overflow, time_zone_str): New functions, used to deal
24675         more reliably with overflow.
24676         (dbg_printf): Add printf attribute, to help catch integer width errors.
24677         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
24678         (%union, to_hour, yylex, parse_datetime2):
24679         Use intmax_t instead of long int and/or long_time_t.
24680         All uses changed.
24681         (DBGBUFSIZE): Move earlier.
24682         (relative_time, set_hhmmss, parser_control):
24683         Just use int for nanoseconds and for time zones; that’s wide enough.
24684         (parser_control): Use bool for members like year_seen that can
24685         be booleans instead of counters.  All uses changed.
24686         Remove debug_default_input_timezone; no longer needed.
24687         All uses removed.
24688         (apply_relative_time): Return a bool overflow flag.
24689         All uses changed to check for overflow.
24690         (apply_relative_time, zone, date, relunit, relunit_snumber)
24691         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
24692         Check for integer overflow portably.
24693         (str_days): Use just int for N, as it’s wide enough.
24694         Prefer 2D char arrays to arrays of char * when it looks like
24695         2D is a win on typical platforms.
24696         Prefer snprintf to strncpy/strncat, for simplicity;
24697         all buffers are smaller than INT_MAX so this is safe.
24698         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
24699         (debug_print_current_time): Don’t assume tv_nsec is of type long,
24700         as this is not true on x32.  Output "." before any nanoseconds.
24701         (debug_print_current_time, parse_datetime2):
24702         Output local zones using a more-consistent format.
24703         (debug_print_current_time, date, parse_datetime2):
24704         (main) [TEST]:
24705         Don’t assume time_t is the same width as long.
24706         (print_rel_part): New function, replacing ...
24707         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
24708         (debug_print_relative_time): Use bool for boolean.
24709         (local_zone): dsts_seen now counts only tDST instances.
24710         (date): Fix printf of size_t to use %z.  Do not assume numeric
24711         tokens have negative values merely because the context suggests
24712         a syntax with "-" separating tokens.
24713         (time_zone_hhmm): Return bool success indicator, which checks for
24714         overflow.  Store result into PC->time_zone instead.  All callers
24715         changed.
24716         (tm_year_str): New function.  Return a bool success indicator and
24717         store the result into a buffer.  All callers changed.  Output the
24718         numerically correct string even if adding 1900 to the year would
24719         overflow.
24720         (to_tm_year): New function, replacing the old to_year.  All
24721         callers changed.
24722         (tm_diff): Sync with glibc.
24723         (lookup_word): Use to_uchar instead of doing it by hand.
24724         (TZBUFSIZE): Now local to the only function that needs it.
24725         (debug_strfdatetime): Simplify now that time zones are int seconds.
24726         (debug_strfdate): Work even if tm_year + 1900 would overflow.
24727         (get_effective_timezone): Remove.  All uses removed.
24728         (parse_datetime2): Use fprintf in pieces instead of snprintfing
24729         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
24730         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
24731         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
24732         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
24733         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
24734         * modules/parse-datetime (Depends-on): Add inttypes.
24736 2017-04-21  Bruno Haible  <bruno@clisp.org>
24738         gettext-h: Avoid -Wundef warning.
24739         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
24740         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
24741         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
24743 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
24745         error: Avoid "function declaration isn't a prototype" warning.
24746         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
24748 2017-04-21  Bruno Haible  <bruno@clisp.org>
24750         vasnprintf: Fix for MSVC 14.
24751         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
24752         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
24753         of !HAVE_SNPRINTF_RETVAL_C99.
24755 2017-04-21  Bruno Haible  <bruno@clisp.org>
24757         mbrtowc tests: Fix test failures on MSVC 14.
24758         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
24759         behaviour for invalid input.
24761 2017-04-21  Bruno Haible  <bruno@clisp.org>
24763         mbsinit: Fix for MSVC 14.
24764         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
24765         implementation that is in sync with mbrtowc.c. On other platforms, use
24766         an adequate ad-hoc implementation.
24768 2017-04-21  Bruno Haible  <bruno@clisp.org>
24770         Fix test-mbrtowc5.sh failure on native Windows.
24771         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
24772         "C".
24774 2017-04-21  Bruno Haible  <bruno@clisp.org>
24776         Avoid accidental use of native Windows APIs on Cygwin.
24777         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
24778         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
24779         * lib/localename.c (WINDOWS_NATIVE): Likewise.
24781 2017-04-20  Bruno Haible  <bruno@clisp.org>
24783         Remove red warnings from the generated MODULES.html.
24784         * modules/fcntl (Description): Disambiguate function references.
24785         * modules/getcwd-lgpl (Description): Likewise.
24786         * modules/hostent (Description): Likewise.
24787         * modules/servent (Description): Likewise.
24788         * modules/tempname (Description): Likewise.
24790 2017-04-20  Bruno Haible  <bruno@clisp.org>
24792         verify tests: Fix spurious failure with parallel make.
24793         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
24794         EXTRA_PROGRAMS.
24795         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
24796         * tests/test-verify-try.c: New file.
24797         * modules/verify-tests (Files): Add it.
24798         (EXTRA_PROGRAMS): Add test-verify-try.
24799         (MOSTLYCLEANFILES): Update accordingly.
24800         Reported by Adam James Stewart <ajstewart@anl.gov>.
24802 2017-04-18  Bruno Haible  <bruno@clisp.org>
24804         vma-iter: Fix compilation error on Solaris 7.
24805         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
24806         like on IRIX, OSF/1.
24807         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24809 2017-04-18  Bruno Haible  <bruno@clisp.org>
24811         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
24812         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
24813         included.
24814         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
24815         <sys/procfs.h>.
24816         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
24817         <sys/procfs.h> cannot be included.
24818         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24820 2017-04-18  Bruno Haible  <bruno@clisp.org>
24822         getopt-gnu: Add comments.
24823         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
24824         * modules/getopt-gnu (configure.ac): Likewise.
24826 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24828         regex: port better to Solaris 10
24829         Solaris 10 <locale.h> includes <libintl.h>, which #defines
24830         gettext, and this causes a double #define.
24831         Problem reported by Gavin Smith in:
24832         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
24833         * lib/regex_internal.h (gettext): #undef before #defining.
24835 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24837         intprops: improve comments
24838         * lib/intprops.h: Improve and shorten commentary.
24839         For the record, if we ever run into a pedantic compiler that
24840         behaves differently from GCC when converting an out-of-range value
24841         to a signed integer, we can work around the problem with something
24842         like the following code, where UCT is the signed counterpart of T
24843         (UCT is sometimes narrower than UT) and all callers are changed
24844         accordingly:
24845         #if __SUNPRO_C <= 0x5120
24846         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24847            ((t) ((ut) (a) op (ut) (b)))
24848         #else
24849         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24850            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
24851             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
24852                + TYPE_MINIMUM (t)) \
24853             : (t) (uct) ((ut) (a) op (ut) (b)))
24854         #endif
24856 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24858         intprops: try to avoid tickling similar bugs
24859         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
24860         needs to be the same width as T; it can be wider.
24861         Change callers so that UT is at least as wide as unsigned int,
24862         as I suspect that this is less likely to run into compiler bugs.
24864         intprops: port to Oracle Studio 12.3 x86
24865         Problem reported by Gavin Smith in:
24866         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
24867         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
24868         Convert unsigned to signed via the usual rather than the standard way,
24869         to avoid a compiler bug in Oracle Studio 12.3 x86.
24871 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
24873         getopt: prefer - to _ in new file names
24874         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
24875         * lib/getopt-core.h: Rename from lib/getopt_core.h.
24876         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
24877         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
24878         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
24879         All uses changed.
24881         getopt: port recent getopt changes to macOS
24882         Problem reported by Harald Maier (Bug#26398).
24883         The macOS C compiler uses __nonnull for its own purposes and that
24884         clashes with glibc's __nonnull.
24885         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
24886         * lib/getopt_cdefs.in.h (__nonnull): Remove.
24887         * lib/getopt_core.h (getopt):
24888         * lib/getopt_ext.h (getopt_long, getopt_long_only):
24889         Use _GL_ARG_NONNULL, not __nonnull.
24890         * lib/unistd.in.h: Move snippet hooks to before where the getopt
24891         .h files are included, so that _GL_ARG_NONNULL is defined in time.
24892         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
24893         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
24895 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
24897         getopt-gnu: omit some duplicate code
24898         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
24899         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
24900         gnulib-tool already does this.
24901         * modules/getopt-gnu (configure.ac): Omit code duplicated from
24902         getopt-posix, which we depend on.
24904         getopt-posix: use angle-bracket include
24905         * lib/getopt1.c: Include <config.h>, not "config.h".
24907 2017-04-06  Zack Weinberg  <zackw@panix.com>
24909         getopt: annotate files with relationship to glibc
24911         As the final act in this patchset, adjust the message at the top of
24912         each file to indicate which files are synced with glibc.  (This has
24913         already been done for most of the headers.)
24915         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
24916         Mention in top-of-file boilerplate that these files are shared
24917         between glibc and gnulib.
24920         getopt: split up getopt.in.h and eliminate __need_getopt
24922         Over in glibc, all of the __need macros are being phased out in favor
24923         of small headers that declare only the necessary components, as this
24924         is much simpler and less prone to bugs.  As getopt is shared with
24925         glibc, gnulib needs to do the same for __need_getopt.
24927         __need_getopt is misnamed; what it really means is "we want only the
24928         getopt features specified in POSIX, not the GNU extensions".  glibc
24929         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
24930         these files can be shared verbatim with gnulib.  The portability
24931         wrapper, on the other hand, they have renounced altogether; glibc's
24932         getopt.h will no longer be shared with gnulib at all.  In exchange,
24933         certain glibc-specific quirks (having to do with __posix_getopt) no
24934         longer need appear in gnulib's headers at all.
24936         This patch merges getopt_core.h and getopt_ext.h from glibc, and
24937         splits up the current gnulib-side portability wrapper into three
24938         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
24939         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
24940         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
24941         unistd.in.h just use them.  All new files are clearly marked with
24942         whether they are shared with glibc.
24944         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
24945         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
24946         with glibc, and ...
24947         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
24948         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
24949         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
24950         instead of defining __need_getopt and including the full getopt.h.
24952         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
24953         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
24954         * modules/getopt-posix (Files): Add new headers and sort list.
24955         (Depends-on): No longer need snippet/arg-nonnull.
24956         (Makefile.am): Generate getopt_cdefs.h.
24959         getopt: better handling of ambiguous options
24961         glibc's getopt uses alloca to construct a linked list of possibilities
24962         for an "ambiguous" long option.  In gnulib, malloc should be used
24963         instead.  Providing for both cases complicates things a fair bit.
24965         This patch rewrites ambiguous-option handling to use a boolean vector
24966         instead of a linked list.  There is then only one allocation that
24967         might need freeing; in glibc it can honor __libc_use_alloca as usual,
24968         and in gnulib we define __libc_use_alloca to always be false, so we
24969         don't need ifdefs in the middle of the function.  This should also be
24970         slightly more efficient in the normal case of long options being fully
24971         spelled out -- I think most people aren't even aware they _can_
24972         sometimes abbreviate long options.
24974         One interesting consequence is that the list of possibilities is now
24975         printed in exactly the order they appear in the list of long options,
24976         instead of the first possibility being shuffled to the end.
24978         (The patch looks bigger than it really is because there's a fair bit
24979         of reindentation and code rearrangement.)
24981         * lib/getopt.c: When used standalone, define __libc_use_alloca
24982         as always false and alloca to abort if called.
24983         (process_long_option): Rewrite handling of ambiguous long options
24984         to use a single boolean vector, not a linked list; use
24985         __libc_use_alloca to decide whether to allocate this using alloca.
24988         getopt: refactor long-option handling
24990         There were two copies of the bulk of the code to handle long options.
24991         Now there is only one.
24993         This change temporarily removes the logic to avoid using alloca when
24994         standalone; the next patch in the series will restore it.
24996         * lib/getopt.c (process_long_option): New function split out
24997         from _getopt_internal_r.
24998         (_getopt_internal_r): Replace both copies of the long-option
24999         processing code with calls to process_long_option.
25002         getopt: tidy up _getopt_initialize a bit
25004         _getopt_data.__posixly_correct is completely redundant to
25005         _getopt_data.__ordering, and some work that logically belongs in
25006         _getopt_initialize was being done by _getopt_internal_r, making the
25007         code harder to understand.
25009         As a side effect, getenv will no longer be called if the first
25010         character of the options string is '+' or '-', which is probably a
25011         Good Thing.  (Perhaps we should have a flag character that
25012         specifically asks for the permutation behavior?)
25014         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
25015         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
25016         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
25019         getopt: merge from glibc: repetition reduction
25021         The definitions of the entry point functions 'getopt' and
25022         '__posix_getopt' can be made substantially less repetitive with a
25023         helper macro.
25025         While I was merging the const-correctness changes from gnulib into
25026         glibc I noticed there are still some unnecessary casts in
25027         _getopt_internal_r.
25029         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
25030         a macro.  Consistently cast 'argv' to 'char **' when calling
25031         _getopt_internal.
25032         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
25035         getopt: clean up error reporting
25037         getopt can print a whole bunch of error messages, and when used
25038         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
25039         cancellation point and getopt isn't, and also applying fprintf to a
25040         stream in wide-character mode is not allowed.  So every single error
25041         reporting case has an #ifdef _LIBC block in which it calls internal
25042         libc functions instead.  The counterpart patch series in glibc makes
25043         it possible to simplify all of that down to a set of #defines at the
25044         top of the file; core code is written as if it is safe to just call
25045         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
25046         call any *other* stdio functions.)
25048         * lib/getopt.c: When _LIBC is defined, define fprintf to
25049         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
25050         to _IO_funlockfile.  When neither _LIBC nor
25051         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
25052         funlockfile as no-ops.
25053         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
25054         standalone error-printing code can now be used for libc as well.
25055         Add an flockfile/funlockfile pair around one case where the error
25056         message is printed in several chunks.  Don't use fputc.
25059         getopt: fix fencepost error in ambiguous-W-option handling
25061         getopt_long contains an undocumented (AFAICT) feature in which, if you
25062         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
25063         treated as equivalent to '--foo'.  This is implemented with a partial
25064         second copy of the code for handling long options, and that code
25065         increments optind one too many times when recovering from an ambiguous
25066         abbreviated option, which can cause the main loop to walk past the end
25067         of argv and crash.
25069         I discovered this while writing a test case that tries to exercise all
25070         of getopt's error reporting paths; I wouldn't be surprised to learn
25071         that this feature is never used by real applications.
25073         * lib/getopt.c (_getopt_internal_r): Don't increment
25074         d->optind a second time when reporting ambiguous -W options.
25077         getopt: clean up getopt.c and getopt1.c file headers
25079         In getopt.c, there is no need to include wchar.h at all, and it is
25080         safe nowadays to assume that stdlib.h does declare getenv (several
25081         other gnulib modules make this assumption).
25083         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
25084         by using "" inclusions consistently, and there is no actual need to
25085         include stdlib.h (except in the #ifdef TEST block, where it should be
25086         unconditional), nor to provide a backup definition of NULL at all.
25088         * lib/getopt1.c: Simplify #ifdeffage at top of file.
25089         Move inclusion of stdlib.h to #ifdef TEST block and make
25090         unconditional.  Do not define NULL.
25091         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
25092         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
25093         * modules/getopt-gnu, modules/getopt-posix: Don't call
25094         gl_PREREQ_GETENV.
25097         getopt: harmonize comments with glibc
25099         The comments explaining how the behavior of 'getopt' varies depending
25100         on whether it's the standalone version and whether there are special
25101         characters at the beginning of the options string were inconsistent
25102         between gnulib and glibc, and also out of sync with the code.
25104         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
25107         getopt: remove USE_NONOPTION_FLAGS
25109         getopt includes code to parse an environment variable named
25110         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
25111         in decimal); but all of it has been #ifdefed out since 2001, with no
25112         official way to turn it back on.
25114         According to commentary in glibc's config.h.in, bash version 2.0
25115         set this environment variable to indicate argv elements that were
25116         the result of glob expansion and therefore should not be treated
25117         as options, but the feature was "disabled later" because "it
25118         caused problems".  According to bash's CHANGES file, "later" was
25119         release 2.01; it gives no more detail about what the problems
25120         were.
25122         Version 2.0 of bash was released on the last day of 1996, and version
25123         2.01 in June of 1997.  Twenty years later, I think it is safe to
25124         assume that this environment variable isn't coming back.
25126         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
25127         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
25128         __libc_argc and __libc_argv externs, which were only used by
25129         #ifdef USE_NONOPTION_FLAGS blocks.
25132         getopt: tabify, in preparation for merge with glibc
25134         glibc sticks to the GNU default of indenting with a mix of
25135         8-column tabs and spaces; make the gnulib copy match.
25137         getopt.h is not included because it is *not* going to be merged in its
25138         present form.
25140         * getopt.c, getopt1.c, getopt_int.h: Tabify.
25142 2017-04-02  Bruno Haible  <bruno@clisp.org>
25144         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
25145         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
25146         like it was done in modules/relocatable-lib on 2011-05-21 and in
25147         modules/relocatable-prog on 2011-08-15.
25148         Reported by Reuben Thomas <rrt@sc3d.org>.
25150 2017-03-31  Bruno Haible  <bruno@clisp.org>
25152         glob: Fix invalid free() call.
25153         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
25154         static storage to home_dir.
25155         Reported by Coverity via Tim Rühsen.
25157 2017-03-31  Bruno Haible  <bruno@clisp.org>
25159         glob: Fix memory leaks.
25160         * lib/glob.c (glob): Free allocated memory before returning.
25161         Reported by Coverity via Tim Rühsen.
25163 2017-03-31  Bruno Haible  <bruno@clisp.org>
25165         md5, sha1, sha256, sha512: Add comments regarding correctness.
25166         * lib/md5.h (buflen): Add comments regarding range.
25167         * lib/sha1.h (buflen): Likewise.
25168         * lib/sha256.h (buflen): Likewise.
25169         * lib/sha512.h (buflen): Likewise.
25170         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
25171         * lib/sha1.c (sha1_process_bytes): Likewise.
25172         * lib/sha256.c (sha256_process_bytes): Likewise.
25173         * lib/sha512.c (sha512_process_bytes): Likewise.
25174         Reported by Coverity via Tim Rühsen.
25176 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
25178         getopt: merge from glibc
25179         This does not change anything substantial; it merely simplifies
25180         hypothetical merges back to glibc.
25181         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
25182         Change copyright notice to match what is in glibc.
25183         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
25184         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
25185         __open_memstream rather than open_memstream and __glibc_likely
25186         instead of __builtin_expect.
25187         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
25189 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25191         dfa: make [0-9] faster in non-C locales
25192         Problem reported by John P. Linderman (Bug#26193).
25193         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
25194         If both ends of the range are ASCII digits, do not worry about
25195         multi-character collating sequences and the like.  Be consistent
25196         about using isalpha as a precondition for setbit_case_fold_c.
25198 2017-03-19  Bruno Haible  <bruno@clisp.org>
25200         lock: Fix compilation error with HP-UX IA64 cc.
25201         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
25202         weak on non-glibc platforms.
25204 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
25206         stdalign: tweak version# and test for HP-UX IA64
25207         Problems reported by Bruno Haible in:
25208         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
25209         * lib/stdalign.in.h (_Alignas):
25210         * m4/stdalign.m4 (gl_STDALIGN_H):
25211         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
25212         used octal (as that is how they document it), but it is decimal in
25213         practice now and the ancient implementations no longer matter.
25214         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
25216 2017-03-19  Bruno Haible  <bruno@clisp.org>
25218         vma-iter: Add support for Solaris.
25219         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
25220         approach.
25221         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
25222         * lib/get-rusage-as.c: Update comment about Solaris.
25223         * lib/get-rusage-data.c: Likewise.
25225 2017-03-19  Bruno Haible  <bruno@clisp.org>
25227         vma-iter: Prefer HP-UX specific API on HP-UX.
25228         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
25229         * lib/vma-iter.h: Update.
25230         Just in case HP-UX ever implements mquery().
25232 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25234         stdalign: restore previous behavior for HP-UX IA64
25235         See Bruno Haible's email in:
25236         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25237         which cites p 150 of a manual saying that 'aligned' works on Itanium.
25238         * lib/stdalign.in.h (_Alignas):
25239         Assume the '061200' applies to Itanium, not to PA-RISC.
25240         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
25242 2017-03-17  Bruno Haible  <bruno@clisp.org>
25244         stat-time, timespec: Support use of the header files in C++ mode.
25245         * lib/stat-time.h: Add "C" linkage declaration.
25246         * lib/timespec.h: Likewise.
25248 2017-03-17  Bruno Haible  <bruno@clisp.org>
25250         stdalign: Make it work with HP-UX cc.
25251         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
25252         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
25253         for HP-UX cc.
25255 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
25257         flexmember: try to detect HP-UX 11.31 cc bug
25258         Problem reported by Bruno Haible in:
25259         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
25260         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25261         Attempt to detect bug in HP-UX 11.31 cc.
25263 2017-03-16  Bruno Haible  <bruno@clisp.org>
25265         stdint: Fix test compilation failure with HP-UX 11 cc.
25266         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
25267         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
25268         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
25269         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
25271 2017-03-14  Bruno Haible  <bruno@clisp.org>
25273         gnulib-tool: Don't produce a tests directory with only snippet .h files.
25274         * gnulib-tool (func_modules_transitive_closure_separately): If
25275         testsrelated_modules ends up with no "real" modules, aside from
25276         modules with applicability 'all', set it to empty.
25278 2017-03-14  Bruno Haible  <bruno@clisp.org>
25280         vma-iter: Add support for HP-UX.
25281         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
25282         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
25283         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
25284         * lib/get-rusage-as.c: Update comment about HP-UX.
25285         * lib/get-rusage-data.c: Likewise.
25286         (get_rusage_data): Use get_rusage_data_via_setrlimit.
25288 2017-03-14  Bruno Haible  <bruno@clisp.org>
25290         limits-h: Make it work with HP-UX cc.
25291         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
25292         defined.
25294 2017-03-14  Bruno Haible  <bruno@clisp.org>
25296         Fix test failures on DragonFlyBSD.
25297         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
25298         * tests/test-select.h (test_bad_fd): Likewise.
25299         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
25301 2017-03-14  Bruno Haible  <bruno@clisp.org>
25303         freadahead: Silence warning on DragonFlyBSD.
25304         * lib/freadahead.c (__sreadahead): Declare ourselves.
25306 2017-03-14  Bruno Haible  <bruno@clisp.org>
25308         vma-iter: Add comment about AIX.
25309         * lib/vma-iter.c: Add comment about why this module is not implemented
25310         on AIX.
25312 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25314         snippets: move unadjusted snippet sources to lib
25315         Problem reported by Michal Privoznik in:
25316         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
25317         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
25318         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
25319         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
25320         * lib/unused-parameter.h: Rename from
25321         build-aux/snippet/unused-parameter.h.
25322         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
25323         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
25324         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
25325         * modules/snippet/c++defs (Files:, CXXDEFS_H):
25326         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
25327         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
25328         Adjust to file renamings.
25330 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
25332         gnulib-tool: don't automatically distribute files from top/
25333         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
25334         not distribute top/README-release by default, don't distribute files
25335         from top/ unconditionally.
25336         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
25337         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
25339 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25341         gnulib-tool: fix typo in comment output
25342         * gnulib-tool (func_import): Fix typo with previous change.
25344         snippets: work around GNU Make 3.82 VPATH
25345         When using 'gnulib-tool --gnu-make' on Emacs, and building
25346         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
25347         an out-of-source (VPATH) build failed because the sans-copyright
25348         snippet file was not built before the file that used it.
25349         Presumably this is some sort of VPATH thing.  Work around the
25350         problem by using the original snippet, i.e., don’t bother to
25351         remove its copyright notice.
25352         * modules/snippet/_Noreturn, modules/snippet/link-warning:
25353         Don’t assume Automake in comments.  Omit long-incorrect comment.
25354         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
25355         (MOSTLYCLEANFILES):
25356         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
25357         (MOSTLYCLEANFILES):
25358         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
25359         (MOSTLYCLEANFILES):
25360         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
25361         (MOSTLYCLEANFILES):
25362         Remove.
25363         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
25364         * modules/snippet/c++defs (CXXDEFS_H):
25365         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
25366         * modules/snippet/warn-on-use (WARN_ON_USE_H):
25367         Don’t bother to remove the copyright notice; just use the
25368         original snippet as-is.
25370 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
25372         gnulib-tool: minor --gnu-make fixups
25373         * gnulib-tool (func_emit_lib_Makefile_am):
25374         Remove useless code that was a blind alley during implementation.
25375         Problem reported by Thien-Thi Nguyen in:
25376         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
25377         (func_import): Note the "--gnu-make" option in the output comment.
25379 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
25381         gnulib-tool: new option --gnu-make
25382         This is for applications like GNU Emacs that use GNU Make
25383         features instead of Automake.
25384         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
25385         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
25386         Do not assume Automake.
25387         * gnulib-tool (func_determine_path_separator)
25388         (func_modules_transitive_closure, func_update_file)
25389         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25390         (func_import): Add support for --gnu-make.
25392 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
25394         gnulib-common.m4: avoid aclocal.m4 bloat
25395         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
25396         Hide AM_PROG_AR from aclocal, so that aclocal does not
25397         install irrelevant macro definitions into aclocal.m4.
25399 2017-03-10  Bruno Haible  <bruno@clisp.org>
25401         vma-iter: Let callers know about error.
25402         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
25403         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
25405 2017-03-05  Bruno Haible  <bruno@clisp.org>
25407         Fix value of LD for 64-bit compilers on AIX.
25408         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
25409         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
25411 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
25413         dtotimespec: simplify
25414         * lib/dtotimespec.c (dtotimespec): Simplify.
25416 2017-03-04  Bruno Haible  <bruno@clisp.org>
25418         test-calloc-gnu: Reenable test also for GCC 7.
25419         * tests/test-calloc-gnu.c (eight): New function.
25420         (main): Don't skip test; use eight() instead.
25422 2017-03-04  Jim Meyering  <meyering@fb.com>
25424         test-calloc-gnu: port to GCC7
25425         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
25426         that attempts to calloc more than SIZE_MAX bytes, because GCC7
25427         and newer would detect that at compilation time.
25429 2017-03-04  Bruno Haible  <bruno@clisp.org>
25431         tests: Avoid compiler warning about uses of null_ptr.
25432         * tests/null-ptr.h: New file.
25433         * tests/test-canonicalize.c: Include null-ptr.h.
25434         (null_ptr): Remove function.
25435         * tests/test-canonicalize-lgpl.c: Likewise.
25436         * tests/test-memmem.c: Likewise.
25437         * tests/test-ptsname_r.c: Likewise.
25438         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
25439         * modules/canonicalize-lgpl-tests: Likewise.
25440         * modules/memmem-tests: Likewise.
25441         * modules/ptsname_r-tests: Likewise.
25442         Reported by Jim Meyering.
25444 2017-03-03  Bruno Haible  <bruno@clisp.org>
25446         doc: Mention Mac OS X deficiencies regarding semaphores.
25447         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
25448         * doc/posix-functions/sem_destroy.texi: Likewise.
25449         * doc/posix-functions/sem_getvalue.texi: Likewise.
25451 2017-03-03  Bruno Haible  <bruno@clisp.org>
25453         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
25454         Reported by Assaf Gordon <assafgordon@gmail.com> via
25455         Pádraig Brady <P@draigBrady.com>.
25456         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
25457         semaphores.
25458         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
25459         (atomic_int_semaphore): New macro.
25461 2017-02-28  Bruno Haible  <bruno@clisp.org>
25463         perror tests: Tweak for z/OS.
25464         Reported by Daniel Richard G. <skunk@iskunk.org>.
25465         * tests/test-perror.sh: Don't fail z/OS style perror output.
25467 2017-02-26  Bruno Haible  <bruno@clisp.org>
25469         nproc: Refactor large function.
25470         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
25471         from num_processors.
25472         (num_processors): In this function, only deal with OMP.
25474 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25476         nproc: adjust handling of OpenMP environment variables
25477         to match the return value from omp_get_num_threads(), i.e.:
25478          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
25479          - Treat 0 as an invalid value and ignore
25480         Also remove the call to omp_get_num_threads() because
25481         it's ineffective without the omp pragmas in place.
25482         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
25483         so that it can be ignored.
25484         (num_processors): Honor OMP_THREAD_LIMIT even without
25485         OMP_NUM_THREADS being set.  Also fix a typo in the environment
25486         variable being checked, from the previous recent commit.
25488 2017-02-26  Pádraig Brady  <P@draigBrady.com>
25490         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
25491         * lib/nproc.c (parse_omp_threads): A new function refactored
25492         from num_processors() to support parsing both of the
25493         above environment variables.
25494         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
25495         to accurately reflect the current OpenMP nesting level.
25496         Also support the OMP_THREAD_LIMIT environment variable
25497         to limit the max value determined from OMP_NUM_THREADS.
25498         * modules/nproc: Depend on minmax header.
25499         Suggested by Oliver Heimlich.
25501 2017-02-25  Bruno Haible  <bruno@clisp.org>
25503         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
25504         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
25506 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
25508         ftoastr: port to -Wdouble-promotion
25509         Work around -Wdouble-promotion false alarm in recent GCCs.
25510         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
25511         (ftoastr_snprintf, FTOASTR): Use it.
25513 2017-02-21  Bruno Haible  <bruno@clisp.org>
25515         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
25516         Reported by Rene Saavedra <rennes@openmailbox.org> in
25517         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
25518         * lib/glthread/lock.h: On glibc systems without
25519         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
25520         implementation of rwlocks.
25521         * lib/glthread/lock.c: Likewise.
25523 2017-02-20  Bruno Haible  <bruno@clisp.org>
25525         lock tests: Fix build failure on z/OS.
25526         Reported by Daniel Richard G. <skunk@iskunk.org>.
25527         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
25528         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
25529         exist.
25531 2017-02-19  Bruno Haible  <bruno@clisp.org>
25533         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
25534         This helps when CC=clang.
25535         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
25536         of /usr/bin/gcc.
25538         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
25539         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
25541 2017-02-19  Bruno Haible  <bruno@clisp.org>
25543         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
25544         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
25545         --with-tests --single-configure is specified.
25547 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
25549         users.txt: Update links, use HTTPS where possible
25550         * users.txt: Updated to HTTPS where possible,
25551         fixed some links to new locations.
25553 2017-02-16  Bruno Haible  <bruno@clisp.org>
25555         xbinary-io: Fix inlining.
25556         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
25558 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
25560         xbinary-io: rename from xsetmode
25561         This patch is taken from suggestions by Bruno Haible in:
25562         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
25563         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
25564         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
25565         not ENOTTY, when it is an inappropriate device.
25566         * lib/binary-io.h (SET_BINARY): Resurrect.
25567         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
25568         (xset_binary_mode_error): Rename from xsetmode_error.
25569         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
25570         (xset_binary_mode): Rename from xsetmode.
25571         All uses changed.
25572         * modules/xbinary-io: Rename from modules/xsetmode.
25573         Update file names.
25574         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
25575         * NEWS: Update to match revised behavior.
25577 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
25579         tests: Adjust to recent SET_BINARY change
25580         * tests/test-binary-io.c (main):
25581         * tests/test-binary-io.sh: Remove test for SET_BINARY.
25582         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
25583         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
25584         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
25586         xsetmode: new module
25587         This is to fix a problem noted by Eric Blake.
25588         Code was using xfreopen to change files to binary mode, but this
25589         fails for stdout when in append mode.  Such code should use
25590         xsetmode instead.
25591         * NEWS: Document incompatible changes to binary-io module.
25592         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
25593         New function.
25594         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
25595         (set_binary_mode): New function, which also checks for tty.
25596         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
25598 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
25600         headers: fix begin-end typos
25601         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
25602         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
25604         selinux-h: port to PGI 16.10
25605         * lib/se-selinux.in.h: Don't assume that include_next skips over
25606         duplicate -I DIR options.
25608         argp: port to PGI 16.10
25609         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
25611 2017-02-13  Darshit Shah  <darnir@gnu.org>
25613         unicase: Update function protoype to match definition.
25614         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
25615         uses 'size_t' as the datatype for the 'len' parameter in the functions
25616         it generates. Update the prototype specified here to match the newly
25617         generated function.
25619 2017-02-12  Bruno Haible  <bruno@clisp.org>
25621         times test: Avoid gcc warnings on Linux/x32.
25622         * tests/test-times.c (main): Really cast printf arguments from clock_t
25623         to 'long int'.
25625 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25627         glob: port better to emscripten
25628         Problem reported by Bruno Haible in:
25629         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
25630         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
25632 2017-02-11  Bruno Haible  <bruno@clisp.org>
25634         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
25635         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
25636         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
25637         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
25638         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
25639         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
25640         Distinguish hppa64 from hppa.
25642 2017-02-10  Bruno Haible  <bruno@clisp.org>
25644         search: Don't assume that tsearch() exists if 'VISIT' is defined.
25645         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
25646         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
25647         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
25649 2017-02-09  Bruno Haible  <bruno@clisp.org>
25651         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
25652         * doc/gnulib.texi (Libtool and Windows): Recommend
25653         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
25654         Reported by Reuben Thomas <rrt@sc3d.org>.
25656 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25658         stddef-tests: port to SIZE_MAX <= INT_MAX
25659         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
25660         Do not assume that INT_MAX < SIZE_MAX.
25662 2017-02-01  Bruno Haible  <bruno@clisp.org>
25664         lock tests: Fix link error.
25665         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
25666         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25668 2017-01-31  Bruno Haible  <bruno@clisp.org>
25670         lock: Fix link error (regression from 2017-01-05).
25671         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
25672         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
25673         pthread_rwlockattr_destroy weak.
25674         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25676 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25678         Port to PGI 16.10 x86-64
25679         This patch fixes one real bug in gl_anylinked_list2.h, along with
25680         some minor glitches that are not bugs.  It does not silence PGI’s
25681         thousands of bogus warnings when compiling test-intprops.c.
25682         Fortunately, the warnings do not cause a failure.
25683         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
25684         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
25685         My goodness, PGI goes back a long ways - this predates C89!
25686         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
25687         For example, ASYNCSAFE (const void *) should expand to
25688         ‘const void *volatile’, not to ‘volatile const void *’.
25689         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
25690         * lib/verify.h (verify) [!__GNUC__]:
25691         Use shorter albeit meaningless string to bypass silly compiler limits.
25692         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
25693         * tests/nan.h (NaNf, NaNd, NaNl):
25694         Use static functions to avoid misguided compiler diagnostics.
25695         Is there some reason we don’t use static functions on all platforms?
25697 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25699         parse-datetime: handle timezones reentrantly
25700         This API change was prompted by a report by Pádraig Brady in:
25701         https://bug.debian.org/851934#10
25702         To help fix the bug, make parse_datetime2 more reentrant.
25703         * NEWS: Document this incompatible change.
25704         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
25705         Add two arguments, the timezone and the timezone name.
25706         All callers changed.  If TZ="..." is specified, use it for
25707         calculating defaults.
25708         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
25709         this code should be usable in a library.
25710         (mktime_ok, get_effective_timezone):
25711         Accept timezone arg too.  All callers changed.
25712         (get_tz): Remove.
25713         (get_effective_timezone): Check for failures.
25715 2017-01-20  Eric Blake  <eblake@redhat.com>
25717         localename: port to cygwin 2.6
25718         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
25719         Cygwin.
25720         * modules/localename (Depends-on): Add extensions, since
25721         NL_LOCALE_NAME() is not visible without it.
25723 2017-01-17  Pádraig Brady  <P@draigBrady.com>
25725         parse-datetime: fix dependence on AC_PROG_SED
25726         * modules/parse-datetime: Use `sed` directly like all other modules.
25727         Reported by J William Piggott
25729 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
25731         intprops: update doc URLs
25732         * doc/intprops.texi (Integer Range Overflow): Update URLs.
25734 2017-01-16  Bruno Haible  <bruno@clisp.org>
25736         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
25737         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
25738         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
25739         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
25740         distinguish s390 and s390x.
25741         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
25742         * NEWS: Mention the change regarding 'armel'.
25744 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25746         localeinfo: case_folded_counterparts and WEOF
25747         * NEWS: Document this.
25748         * lib/localeinfo.c (case_folded_counterparts):
25749         First arg is now wint_t, not wchar_t.  This generalizes the
25750         function to also work on WEOF, where it returns 0.
25752         dfa: port to gcc -fsanitize=undefined
25753         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
25754         as this runs afoul of gcc -fsanitize=undefined.
25756 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
25758         strftime: %z is -00 if unknown
25759         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
25760         the caller's responsibility to set 'negative_number'.  All uses changed.
25761         (__strftime_internal): Put '-' before a zero UTC offset if the time
25762         zone abbreviation starts with "-", which is the recently-introduced
25763         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
25764         * tests/test-strftime.c: Test for this.
25766 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25768         dfa: port to older GCC
25769         Problem reported by Assaf Gordon in:
25770         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
25771         * modules/c99: New module.  This merely attempts to use the latest
25772         C version, which should be enough to solve this particular problem.
25773         The idea is to document which Gnulib modules assume C99 or later.
25774         * modules/dfa (Depends-on): Add it.
25776 2017-01-10  Bruno Haible  <bruno@clisp.org>
25778         Update DEPENDENCIES.
25779         * DEPENDENCIES: List only https URLs. Update recommended version for
25780         autoconf, automake, gperf.
25782 2017-01-10  Jim Meyering  <meyering@fb.com>
25784         maint.mk: enforce spelling of "timestamp" (i.e., no space)
25785         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
25786         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
25788 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25790         dfa: minor simplification with emptyset
25791         * lib/dfa.c (build_state): Simplify by using emptyset.
25793 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25795         dfa: shrink constraints from 4 bits to 3
25796         * lib/dfa.c (newline_constraint, letter_constraint)
25797         (other_constraint, prev_newline_dependent)
25798         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
25799         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
25800         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
25801         Constraints need only 3 bits, not 4.  Using smaller integers
25802         shrinks the code a bit and makes grep a tad faster on x86-64.
25804         dfa: omit unnecessary ptrdiff_t check
25805         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
25806         overflow, since xnmalloc does that now.
25808         dfa: omit unnecessary allocation
25809         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
25810         an all-zero follow set works just fine.
25812         dfa: omit unused local
25813         * lib/dfa.c (build_state): Fix up recent change.
25815         maint: remove stray .texi files
25816         Although these were superseded by other files like
25817         doc/posix-functions/ctime.texi, the old files were not removed.
25818         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
25820 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25822         getprogname: fix port to IRIX
25823         * lib/getprogname.c (getprogname) [__sgi]:
25824         Don't dump core if malloc returns NULL.
25826         dfa: fix reallocation bug when matching newlines
25827         Problem reported for sed by S. Gilles (Bug#25390).
25828         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
25829         (dfastate): Reallocate before moving any newline transition ...
25830         (build_state): ... instead of reallocating here, where it is too late.
25832 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25834         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
25835         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
25837 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25839         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
25840         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
25842 2017-01-07  Bruno Haible  <bruno@clisp.org>
25844         stdioext: Port to Minix 3.2 and newer.
25845         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
25846         * lib/fseeko.c (fseeko): Likewise.
25847         Reported by Nelson Beebe via Paul Eggert.
25849 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
25851         getprogname: port to IRIX
25852         * lib/getprogname.c (getprogname): Port to IRIX.
25853         Based on an idea by Bastien Roucariès at:
25854         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
25855         via code from Bruno Haible at:
25856         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
25858         localename-tests: port to NetBSD 7
25859         Problem reported by Nelson H. F. Beebe.
25860         * tests/test-localename.c:
25861         Test newlocale and uselocale only if both exist.
25863         glob, intprops, xalloc: work around Clang bug
25864         Work around LLVM bug 16404, which is still not fixed.
25865         https://llvm.org/bugs/show_bug.cgi?id=16404
25866         Problem reported by Nelson H. F. Beebe.
25867         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
25868         Remove.
25869         * lib/glob.c (size_add_wrapv):
25870         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
25871         * lib/xalloc-oversized.h (xalloc_oversized):
25872         Do not use overflow builtins if Clang.
25874         dfa: fix 'return' typo
25875         Problem reported by Nelson H. F. Beebe.
25876         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
25878 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25880         parse-datetime: fix generated paths for coverage files
25881         * modules/parse-datetime: Adjust the paths for parse-datetime.y
25882         within parse-datetime.c, so that gcc generates appropriate .gcno
25883         files, allowing lcov to proceed without error.  Previously it
25884         would error trying to find "lib/lib/parse-datetime.y".
25886 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25888         maint.mk: support parallel execution of coverage
25889         * top/maint.mk (coverage): Run dependencies serially,
25890         thus supporting parallel processing of each one,
25891         particularly build-coverage, which builds and runs tests.
25893 2017-01-05  Bruno Haible  <bruno@clisp.org>
25895         lock tests: Prefer semaphore over mutex.
25896         * tests/test-lock.c (USE_SEMAPHORE): New constant.
25897         (struct atomic_int, init_atomic_int, get_atomic_int_value,
25898         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
25899         Suggested by Torvald Riegel <triegel@redhat.com>.
25901 2017-01-05  Bruno Haible  <bruno@clisp.org>
25903         lock: Provide guarantee to avoid writer starvation for rwlocks.
25904         The rationale is: 1) Read-preferring read-write locks are prone to
25905         writer starvation if the number of reader threads multiplied by the
25906         percentage of time they have the lock held is too high. 2) Write-
25907         preferring read-write locks are the only reliable way to avoid this.
25908         3) There have been reports of 'test-lock' hanging on glibc systems
25909         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
25910         and glibc indeed implements read-preferring rwlocks by default, see
25911         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
25912         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
25913         * m4/pthread_rwlock_rdlock.m4: New file.
25914         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25915         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
25916         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25917         of rwlock initialization on glibc systems without
25918         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25919         of rwlocks altogether on non-glibc systems without
25920         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25921         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
25922         * lib/glthread/lock.c [USE_POSIX_THREADS]
25923         (glthread_rwlock_init_for_glibc): New function.
25924         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
25925         comment.
25926         [USE_PTH_THREADS]: New implementation of rwlocks.
25927         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
25928         readers.
25929         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
25930         (Depends-on): Add 'extensions'.
25931         * tests/test-rwlock1.c: New file.
25932         * lock-tests (Files): Add it.
25933         (Depends-on): Add usleep.
25934         (Makefile.am): Add test-rwlock1 to the tests.
25936 2017-01-05  Bruno Haible  <bruno@clisp.org>
25938         thread: Fix pth port.
25939         * lib/glthread/thread.h (pth_init): Declare weak.
25940         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
25941         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
25942         function.
25944 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
25946         parse-datetime: fix debug message on lone year number
25947         Input dates such as
25948           date -d "Apr 11 22:59:00 2011"
25949         are parsed as date (Apr 11, with default year 2016), then time, then a
25950         number (2011). Based on the combination of previously seen tokens,
25951         'digits_to_date_time' determines 2011 to be a year value.
25952         This fixes the debug messages to correctly show the updated year.
25953         Before:
25954             $ date --debug -d 'Apr 11 22:59:00 2011'
25955             date: parsed date part: (Y-M-D) 2016-04-11
25956             date: parsed time part: 22:59:00
25957             date: parsed number part: today/this/now
25958         After:
25959             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
25960             date: parsed date part: (Y-M-D) 2016-04-11
25961             date: parsed time part: 22:59:00
25962             date: parsed number part: year: 2011
25963         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
25964         'debug_year_seen' member fields.
25965         (digits_to_date_time): Update 'year_seen' as needed.
25966         (debug_print_current_time): Inform about year updates.
25967         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
25969         parse-datetime: fix local timezone debug messages
25970         "Local timezones" are strings that affect only DST relative to the
25971         default timezone. The debug messages in parse-datetime.y printed
25972         wrong information when encountering local timezones.
25973         Examples:
25974         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
25975              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
25976              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
25977         When the default timezone relates to the zone strings, EET/EEST are
25978         parsed as local timezones (tLOCAL_ZONE), and only change the DST
25979         value (0/1, respectively):
25980              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
25981              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
25982         * lib/parse-datetime.y (debug_print_current_time): If local timezone
25983         was seen, inform about DST change, don't print actual timezone.
25984         (debug_strfdatetime): If local timezone was seen, use default timezone
25985         (and adjust as needed) instead of using incorrect timezone.
25986         (parse_datetime2): Use correct time-zone source string, and adjust
25987         default timezone as needed.
25989         parse-datetime: add debug warning about DST changes
25990         Incorrect date arithmetic due to daylight saving time (DST) are a
25991         common (false) bug report in coreutils.
25992         Detect two such cases and print a warning:
25993         1. year/month/day adjustments (performed on 'struct tm'),
25994            where 'mktime' returns a different isdst value.
25995         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
25996            where the result of 'localtime(3)' on the value will return a
25997            different isdst value.
25998         Note: DST changes could be harmless or unnoticeable.
25999         Examples (with 'TZ=America/New_York'):
26000         Unnoticeable: result is 2016-Dec-14
26001            $ date -d '2016-06-15 EDT + 6 months' +%b
26002            Dec
26003         Unnoticeable: result is 2016-Dec-15 11:00:00
26004            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
26005            2016-12-15
26006         This is unexpected:
26007            $ date -d '2016-06-01 EDT + 6 months' +%F
26008            2016-11-30
26009         The new debug warnings will show:
26010            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
26011            ...
26012            date: warning: daylight saving time changed after date adjustment
26013            ...
26014         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
26015         print an appropriate warning message.
26017         parse-datetime: add debug warning about date arithmetic
26018         Date arithmetic are done directly on the fields of 'struct tm',
26019         which can result in invalid dates. Normalization with 'mktime(3)'
26020         will then produce a different date - which might cause unexpected
26021         results.
26022         Examples:
26023           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
26024           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
26025         Note that date normalization is not inherently wrong and not rejected,
26026         as it has legitimate uses:
26027           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
26028         If the user asked to adjust months but 'mday' changed,
26029         or user asked to adjust years but 'month' changed - warn about it.
26030             $ ./src/date --debug -d '2016-10-31 - 1 month'
26031             ...
26032             date: warning: when adding relative months/years, \
26033                            it is recommended to specify the 15th of the month
26034             ...
26035             date: warning: month/year adjustment resulted in shifted dates:
26036             date:      adjusted Y M D: 2016 09 31
26037             date:    normalized Y M D: 2010 10 01
26038             ...
26039         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
26040         a warning message. Improve recommendation of when to use 15 of the
26041         month or noon for date arithmetic.
26043         parse-datetime: fix debug message of relative part after timezone
26044         Relative part (e.g '+8 days') after a timezone string was not
26045         reported (was only reported after a timezone number). Due to the
26046         parser's structure, timezone strings with numbers were handled
26047         separately.
26048         before:
26049              # Timezone number + relative part: OK
26050              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
26051              ...
26052              date: parsed relative part: -8 day(s)
26053              # Timezone string + relative part: missing
26054              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
26055              [ missing message ]
26056         After: messages are printed in both cases.
26057         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
26059         parse-datetime: fix incorrect debug message on lone number
26060         A lone number is an absolute value, not a relative time part.
26061         before:
26062            $ date --debug -d '20130101'
26063            date: parsed number part: today/this/now
26064         After:
26065            $ ./src/date --debug -d '20130101'
26066            date: parsed number part: (Y-M-D) 2013-01-01
26067         * lib/parse-datetime.y ('item'/'number' tokens): Call
26068         'debug_print_current_time' instead of 'debug_print_relative_time'.
26070 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
26072         doc: modernize for C11 etc.
26073         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
26074         for C11, MinGW, etc.  This responds to Paul Smith's question in:
26075         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
26077         dfa: prefer functions to FETCH_WC macro
26078         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
26079         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
26080         wint_t result into DFA->lex.wctok instead of to a separate arg.
26081         All callers changed.  Move more local decls closer to where
26082         they're used.
26084         dfa: narrow more local var scopes
26085         * lib/dfa.c: Move more local decls to be more local.
26087         dfa: remove duplicate assignment
26088         Problem reported by Bruno Haible in:
26089         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
26090         * lib/dfa.c (parse_bracket_exp): Simplify.
26092 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26094         dfa: simplify constraint-dependency checking
26095         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
26096         (prev_other_constraint): Remove.
26097         (prev_newline_dependent, prev_letter_dependent):
26098         Simplify, to avoid an unnecessary bitwise AND operation.
26100         dfa: prefer functions and constants to macros
26101         * lib/dfa.c: Prefer constants to macros where either will do.
26102         (streq, isasciidigit, newline_constraint)
26103         (letter_constraint, other_constraint, succeeds_in_context)
26104         (prev_newline_constraint, prev_letter_constraint)
26105         (prev_other_constraint, prev_newline_dependent)
26106         (prev_letter_dependent, accepting, accepts_in_context):
26107         Now static functions instead of function-like macros.
26108         Use lower-case names accordingly.  All uses changed.
26110         dfa: narrow more local var scopes
26111         * lib/dfa.c: Move some more local decls down to nearer where
26112         they're needed.
26114 2016-12-31  Jim Meyering  <meyering@fb.com>
26116         dfa: narrow the scope of many local variables
26117         * lib/dfa.c: Now that we are no longer constrained to c89, move
26118         declarations of many variables (often indices) "down" into the
26119         scope(s) where used or to the point of definition.  This is a
26120         no-semantic-change diff.
26122 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
26124         version-etc: new year
26125         * build-aux/gendocs.sh (version):
26126         * doc/gendocs_template:
26127         * doc/gendocs_template_min:
26128         * doc/gnulib.texi:
26129         * lib/version-etc.c (COPYRIGHT_YEAR):
26130         Update copyright dates by hand in templates and the like.
26131         * all files: Run 'make update-copyright'.
26133 2016-12-31  Eric Blake  <eblake@redhat.com>
26135         do-release-commit-and-tag: avoid shell syntax error
26136         * build-aux/do-release-commit-and-tag (curr_br): $branch can
26137         contain spaces when rebasing.
26139         maint.mk: hoist gnulib_dir definition earlier
26140         * top/maint.mk (gnulib_dir): Move near top of file.
26142 2016-12-31  Jim Meyering  <meyering@fb.com>
26144         maint.mk: do not always evaluate intprops-related shell
26145         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
26146         using gnulib_dir undefined (gnulib_dir is defined later in the
26147         file, which will be fixed separately), and besides, there is no
26148         need to incur the cost of this shell invocation for every single
26149         use of this .mk file.  Reported by Eric Blake in
26150         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
26152 2016-12-30  Jim Meyering  <meyering@fb.com>
26154         maint.mk: improve sc_prohibit_intprops_without_use
26155         * top/maint.mk (_intprops_names): Don't hard-code the list of
26156         symbol names.  Instead, derive it on the fly.
26158 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
26160         dfa: shorten sbit, success
26161         * lib/dfa.c (struct regex_syntax.sbit):
26162         (struct dfa.success): Use char, not int, for array elements, since
26163         they are all in the range 0..7.
26165         dfa: simplify multibyte_prop etc.
26166         This follows up on a change made when dfa.c was in grep, namely grep
26167         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
26168         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
26169         That earlier simplification allows for some more simplification
26170         and trimming down here.
26171         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
26172         (struct lexer_state): New mamber brack.
26173         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
26174         since they must be in the range 0..3 now.
26175         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
26176         the brack member now supersedes them.
26177         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
26178         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
26179         (dfaparse): Remove unnecessary initializations of already-0 storage.
26180         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
26181         (dfassbuild): No need to clear sup->mbcsets.
26183         dfa: minor performance tweak
26184         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
26186         dfa: wrap charclass inside a struct
26187         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
26188         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
26189         about 5% faster, where list.txt is generated by 'aspell dump
26190         master | head -n 100000 >list.txt'.  See Bug#22239.
26191         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
26192         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
26193         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
26194         Adjust to this, e.g., by using charclass * rather than charclass.
26195         All callers changed as needed.
26196         (copyset): Remove.  All uses changed to simple assignment.
26197         (parse_bracket_exp): Use zeroset instead of memset.
26199 2016-12-30  Jim Meyering  <meyering@fb.com>
26201         maint.mk: update list of intprops.h symbol names
26202         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
26203         This avoids a false failure of the sc_prohibit_intprops_without_use
26204         rule in grep.
26206 2016-12-29  Eric Blake  <eblake@redhat.com>
26208         getopt: fix parallel test failure
26209         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
26210         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
26211         * tests/test-getopt-main.h (main): Use different file names
26212         in case test-getopt-gnu and test-getopt-posix run in parallel.
26214 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26216         xalloc: x2nrealloc check for ptrdiff_t overflow
26217         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
26218         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
26220 2016-12-24  Bruno Haible  <bruno@clisp.org>
26222         lock test: Fix performance problem on multi-core machines.
26223         * tests/test-lock.c (USE_VOLATILE): New macro.
26224         (struct atomic_int): New type.
26225         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
26226         functions.
26227         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
26228         as 'struct atomic_int'.
26229         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
26230         reclock_checker_thread, test_recursive_lock): Use the new functions.
26231         Reported by Eric Blake in
26232         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
26233         and by Pádraig Brady in
26234         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
26236 2016-12-19  Bruno Haible  <bruno@clisp.org>
26238         vma-iter: Fix endless loop on 64-bit Windows.
26239         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
26240         'unsigned long'.
26242 2016-12-19  Bruno Haible  <bruno@clisp.org>
26244         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
26245         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
26246         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
26247         Invoke gt_TYPE_WINT_T instead.
26248         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
26249         * modules/stdint (Files): Add m4/wint_t.m4.
26250         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26251         * modules/wctype-h (Makefile.am): Likewise.
26252         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
26253         not only on MSVC.
26254         * lib/wctype.in.h (wint_t): Likewise.
26256 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26258         getopt-posix-tests: fix Makefile typo
26259         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
26260         Fix typo: the last ‘_’ was missing in the name.
26261         I suspect that the typo explains this build failure:
26262         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
26263         although I can’t reproduce the problem on Solaris 10 sparc.
26265 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26267         dfa: improve worst-case 'replace' performance
26268         See my note in Bug#22357#71.
26269         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
26270         (merge_constrained): New function, which is like
26271         the old 'merge' function, except with a new argument C2.
26272         Simplify the body by avoiding the need for different sections
26273         of code depending on whether one input is exhausted.
26274         (merge): Use the new function.
26275         (delete): Return the constraint of the deleted position,
26276         not the entire position.  Caller changed.
26277         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
26279 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26281         dfa: performance improvement for removal of epsilon closure
26282         See Bug#22357#32.
26283         * lib/dfa.c (delete): Use binary search to find deleted index.
26284         (replace): New function.  It replaces a position with the followed set.
26285         (epsclosure): Replace it with a new algorithm.  Update caller.
26287 2016-12-18  Bruno Haible  <bruno@clisp.org>
26289         Split tests for getopt-posix and getopt-gnu.
26290         * tests/test-getopt-posix.c: New file.
26291         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
26292         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
26293         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
26294         GNULIB_TEST_GETOPT_GNU.
26295         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
26296         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
26297         (Makefile.am): Test test-getopt-posix instead of test-getopt.
26298         * modules/getopt-gnu-tests: New file.
26299         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
26301 2016-12-18  Bruno Haible  <bruno@clisp.org>
26303         posix-modules: Add options for specific platforms.
26304         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
26305         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
26306         Invoke func_tmpdir. Filter out the excludes.
26308 2016-12-18  Bruno Haible  <bruno@clisp.org>
26310         getopt: Fix link error for users of getopt() in <unistd.h>.
26311         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
26312         __need_getopt is defined. Undefine all macros before defining them.
26313         * modules/getopt (Include): Clarify that including <unistd.h> is also
26314         OK.
26315         * tests/test-getopt.c: Add comment.
26317 2016-12-17  Bruno Haible  <bruno@clisp.org>
26319         getaddrinfo tests: Avoid compilation error on MSVC.
26320         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
26321         getaddrinfo on native Windows.
26323 2016-12-17  Bruno Haible  <bruno@clisp.org>
26325         getlogin, getlogin_r: Fix link errors on MSVC.
26326         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
26327         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
26328         (Link): New section.
26329         * modules/getlogin_r (Files): Add m4/getlogin.m4.
26330         (configure.ac): Require gl_LIB_GETLOGIN.
26331         (Link): New section.
26332         * NEWS: Mention the new link requirements.
26333         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
26334         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
26336 2016-12-17  Bruno Haible  <bruno@clisp.org>
26338         Un-deprecate the 'progname' module.
26339         * NEWS: Describe the appropriate use-cases of 'progname' versus
26340         'getprogname'. Based on discussion summary at
26341         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
26343 2016-12-17  Bruno Haible  <bruno@clisp.org>
26345         Reorganize NEWS a bit.
26346         * NEWS: Move some not so important changes away from section
26347         "Important Notes".
26349 2016-12-17  Bruno Haible  <bruno@clisp.org>
26351         tanhf: Avoid redefinition error on MSVC.
26352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
26353         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
26354         may be defined as an inline function.
26355         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
26356         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
26358 2016-12-17  Bruno Haible  <bruno@clisp.org>
26360         tanf: Avoid redefinition error on MSVC.
26361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
26362         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
26363         may be defined as an inline function.
26364         * modules/math (Makefile.am): Substitute REPLACE_TANF.
26365         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
26367 2016-12-17  Bruno Haible  <bruno@clisp.org>
26369         sqrtf: Avoid redefinition error on MSVC.
26370         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
26371         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
26372         may be defined as an inline function.
26373         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
26374         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
26376 2016-12-17  Bruno Haible  <bruno@clisp.org>
26378         sinhf: Avoid redefinition error on MSVC.
26379         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
26380         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
26381         may be defined as an inline function.
26382         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
26383         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
26385 2016-12-17  Bruno Haible  <bruno@clisp.org>
26387         sinf: Avoid redefinition error on MSVC.
26388         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
26389         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
26390         may be defined as an inline function.
26391         * modules/math (Makefile.am): Substitute REPLACE_SINF.
26392         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
26394 2016-12-17  Bruno Haible  <bruno@clisp.org>
26396         logf: Avoid redefinition error on MSVC.
26397         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
26398         may be defined as an inline function.
26400 2016-12-17  Bruno Haible  <bruno@clisp.org>
26402         log10l: Avoid redefinition error on MSVC.
26403         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
26404         may be defined as an inline function.
26406 2016-12-17  Bruno Haible  <bruno@clisp.org>
26408         log10f: Avoid redefinition error on MSVC.
26409         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
26410         may be defined as an inline function.
26412 2016-12-17  Bruno Haible  <bruno@clisp.org>
26414         hypotl: Avoid redefinition error on MSVC.
26415         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
26416         may be defined as an inline function.
26418 2016-12-17  Bruno Haible  <bruno@clisp.org>
26420         hypotf: Avoid redefinition error on MSVC.
26421         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
26422         may be defined as an inline function.
26424 2016-12-17  Bruno Haible  <bruno@clisp.org>
26426         fmodl: Avoid redefinition error on MSVC.
26427         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
26428         may be defined as an inline function.
26430 2016-12-17  Bruno Haible  <bruno@clisp.org>
26432         fmodf: Avoid redefinition error on MSVC.
26433         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
26434         may be defined as an inline function.
26436 2016-12-17  Bruno Haible  <bruno@clisp.org>
26438         expf: Avoid redefinition error on MSVC.
26439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
26440         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
26441         may be defined as an inline function.
26442         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
26443         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
26445 2016-12-17  Bruno Haible  <bruno@clisp.org>
26447         coshf: Avoid redefinition error on MSVC.
26448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
26449         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
26450         may be defined as an inline function.
26451         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
26452         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
26454 2016-12-17  Bruno Haible  <bruno@clisp.org>
26456         cosf: Avoid redefinition error on MSVC.
26457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
26458         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
26459         may be defined as an inline function.
26460         * modules/math (Makefile.am): Substitute REPLACE_COSF.
26461         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
26463 2016-12-17  Bruno Haible  <bruno@clisp.org>
26465         atan2f: Avoid redefinition error on MSVC.
26466         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
26467         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
26468         may be defined as an inline function.
26469         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
26470         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
26472 2016-12-17  Bruno Haible  <bruno@clisp.org>
26474         atanf: Avoid redefinition error on MSVC.
26475         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
26476         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
26477         may be defined as an inline function.
26478         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
26479         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
26481 2016-12-17  Bruno Haible  <bruno@clisp.org>
26483         asinf: Avoid redefinition error on MSVC.
26484         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
26485         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
26486         may be defined as an inline function.
26487         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
26488         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
26490 2016-12-17  Bruno Haible  <bruno@clisp.org>
26492         acosf: Avoid redefinition error on MSVC.
26493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
26494         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
26495         may be defined as an inline function.
26496         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
26497         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
26499 2016-12-17  Bruno Haible  <bruno@clisp.org>
26501         Avoid redefinition errors on MSVC.
26502         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
26503         the function may be defined as an inline function.
26504         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
26505         the function may be defined as an inline function.
26507 2016-12-17  Bruno Haible  <bruno@clisp.org>
26509         Avoid redefinition errors on MSVC.
26510         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
26511         * lib/unistd.in.h: Include <stdio.h> when necessary.
26513 2016-12-17  Bruno Haible  <bruno@clisp.org>
26515         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
26516         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
26517         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
26518         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
26519         WINT_MAX.
26521 2016-12-17  Bruno Haible  <bruno@clisp.org>
26523         Avoid autoconf warning.
26524         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
26525         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
26527 2016-12-17  Bruno Haible  <bruno@clisp.org>
26529         fpending: Revert workaround against Emacs bug.
26530         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
26531         The Emacs bug is fixed by Eli Zaretskii in
26532         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
26534 2016-12-17  Bruno Haible  <bruno@clisp.org>
26536         getlogin_r tests: Port to mingw.
26537         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
26538         regression introduced on 2014-05-19.
26540 2016-12-17  Bruno Haible  <bruno@clisp.org>
26542         getlogin: Port to newer mingw.
26543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
26544         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
26545         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
26546         HAVE_GETLOGIN.
26547         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
26548         HAVE_GETLOGIN.
26549         * doc/posix-functions/getlogin.texi: Mention the issue.
26550         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
26551         regression introduced on 2014-05-14.
26553 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26555         builtin-expect: improve port to IBM XL C
26556         Problem reported for z/OS by Daniel Richard G. in:
26557         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
26558         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
26559         Test for <builtins.h> directly.
26561         builtin-expect: port to IBM XL C
26562         Problem reported for z/OS by Daniel Richard G. in:
26563         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
26564         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
26565         Also allow __builtin_expect defined via a standard include file.
26567         regex: fix dependency
26568         Problem reported by Bruno Haible in:
26569         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
26570         * modules/regex: Depend on builtin-expect.
26572         builtin-expect: new module
26573         Fix fnmatch to use it.
26574         Problem reported for z/OS by Daniel Richard G.
26575         * lib/fnmatch.c (__builtin_expect):
26576         * lib/glob.c (__builtin_expect):
26577         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
26578         * lib/memmem.c (__builtin_expect) [!_LIBC]:
26579         * lib/scandir.c (__builtin_expect):
26580         * lib/strstr.c (__builtin_expect) [!_LIBC]:
26581         Remove macro; config.h now does this.
26582         * lib/gl_anytreehash_list1.h (add_to_bucket):
26583         * lib/regex_internal.h (BE):
26584         Assume __builtin_expect.
26585         * m4/builtin-expect.m4, modules/builtin-expect: New files.
26586         * modules/avltreehash-list, modules/fnmatch, modules/glob:
26587         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
26588         * modules/scandir, modules/strstr-simple:
26589         Depend on builtin-expect.
26591 2016-12-15  Bruno Haible  <bruno@clisp.org>
26593         init.sh: Add possibility to not delete temporary files.
26594         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
26595         to yes, don't erase the temporary directory.
26597 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26599         regex: fix integer-overflow bug in never-used code
26600         Problem reported by Clément Pit–Claudel in:
26601         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
26602         * lib/regex_internal.h: Include intprops.h.
26603         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
26604         behavior on integer overflow.
26605         * modules/regex (Depends-on): Add intprops.
26607         fpending: fix port to MinGW on Emacs
26608         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
26609         Problem reported by Eli Zaretskii in:
26610         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
26611         Is Plan 9 still a valid porting target, anyway?
26613 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26615         safe-alloc: use xalloc-oversized
26616         * lib/safe-alloc.c: Include xalloc-oversized.h.
26617         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
26618         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
26620         xalloc: do not exceed PTRDIFF_MAX
26621         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
26622         xalloc_oversized check, since objects larger than PTRDIFF_MAX
26623         bytes have pointer-subtraction problems.
26625         malloca: do not exceed PTRDIFF_MAX
26626         * lib/malloca.h: Include xalloc-oversized.
26627         (nmalloca): Use xalloc_oversized instead of rolling our own.
26628         * modules/malloca (Depends-on):
26629         * modules/relocatable-prog-wrapper (Depends-on):
26630         Add xalloc-oversized.
26632         quotearg: pacify GCC better
26633         * modules/quotearg (Depends-on): Add minmax, stdint.
26634         * lib/quotearg.c: Include minmax.h, stdint.h.
26635         (nslots): Now int, as there seems little point to going to extra
26636         work merely to support the INT_MAX slot, which nobody ever uses.
26637         (quotearg_n_options): Redo size-overflow checks to pacify GCC
26638         and to catch (mostly-theoretical) ptrdiff_t problems too.
26639         This can be done via one comparison.
26641 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
26643         xalloc-oversized: check for PTRDIFF_MAX too
26644         This avoids undefined behavior when subtracting pointers to
26645         objects containing more than PTRDIFF_MAX bytes.
26646         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
26647         Also return 1 if the result would exceed PTRDIFF_MAX>
26648         * modules/xalloc-oversized (Depends-on):
26649         Add stdint.
26651         dfa: fix glitches in previous commit
26652         Sorry, I don't know how I managed to commit the wrong version.
26653         * lib/dfa.c (MIN): Move up.
26654         (xpalloc): Now static.
26656         dfa: fix some unlikely integer overflows
26657         I found these while reviewing the recent Coverity-related fix.
26658         This patch changes part of dfa.c to prefer ptrdiff_t instead of
26659         size_t for object counts.  Using ptrdiff_t is the style typically
26660         used in Emacs; although it wastes a sign bit as sizes can never be
26661         negative, it makes -fsanitize=undefined more likely to catch
26662         integer overflows in index calculation, and nowadays the upside is
26663         typically more important than the downside.  Although perhaps the
26664         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
26665         of dfa.c already does, since it uses state_num which is signed),
26666         that is a bigger change and is not needed to fix the bugs I found.
26667         * lib/dfa.c: Include stdint.h and intprops.h.
26668         (TOKEN_MAX): New macro.
26669         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
26670         (charclass_index, parse_bracket_exp, addtok, insert, merge)
26671         (realloc_trans_if_necessary, free_mbdata):
26672         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
26673         This is safe because xpalloc checks that the sizes do not exceed
26674         either SIZE_MAX or PTRDIFF_MAX.
26675         (xpalloc): New function, mostly taken from Emacs.
26676         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
26677         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
26678         (charclass_index): Check for integer overflow in computing
26679         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
26680         added to it later.
26681         (alloc_position_set): Check for integer overflow.  On typical
26682         platforms this check has zero overhead, since the constant
26683         expression is false.
26684         (realloc_trans_if_necessary):
26685         Remove assertion, which I hope Coverity no longer needs.
26687         * modules/dfa (Depends-on): Add intprops, stdint.
26689 2016-12-12  Jim Meyering  <meyering@fb.com>
26691         dfa: add an assertion to avoid coverity false positive
26692         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
26693         warned that "newalloc1 - 2" could overflow.
26695 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
26697         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
26698         * dfa.h (DFA_CASE_FOLD): Remove.
26699         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
26701 2016-12-13  John W. Eaton  <gnu@jweaton.org>
26703         link: fix test to declare use of rename()
26704         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
26705         -Werror=implicit-function-declaration
26707 2016-12-12  Bruno Haible  <bruno@clisp.org>
26709         fpending: Port to native Windows with MSVC.
26710         * lib/fpending.c: Include stdio-impl.h.
26711         (__fpending): Include all known implementations. Err out if it's not
26712         ported.
26713         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
26714         * modules/fpending (Files): Add lib/stdio-impl.h.
26715         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
26717 2016-12-12  Bruno Haible  <bruno@clisp.org>
26719         stdioext: Port to native Windows with MSVC.
26720         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
26721         (struct _gl_real_FILE): New type.
26722         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
26723         Windows.
26724         * lib/fbufmode.c (fbufmode): Add code for native Windows.
26725         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
26726         other SystemV derived implementations.
26727         * lib/fpurge.c (fpurge): Likewise.
26728         * lib/freadable.c (freadable): Likewise.
26729         * lib/freadahead.c (freadahead): Likewise.
26730         * lib/freading.c (freading): Likewise.
26731         * lib/freadptr.c (freadptr): Likewise.
26732         * lib/freadseek.c (freadptrinc): Likewise.
26733         * lib/fseeko.c (fseeko): Likewise.
26734         * lib/fseterr.c (fseterr): Likewise.
26735         * lib/fwritable.c (fwritable): Likewise.
26736         * lib/fwriting.c (fwriting): Likewise.
26737         Reported by Gisle Vanem <gvanem@yahoo.no>.
26739 2016-12-11  Jim Meyering  <meyering@fb.com>
26741         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
26742         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
26743         to work with most shells, but not with the one provided by many
26744         Solaris 10 systems, so running configure with such a /bin/sh evokes
26745         e.g., "./configure: syntax error at line 33602: `(' unexpected".
26746         Reported by Assaf Gordon in
26747         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
26749 2016-12-10  Bruno Haible  <bruno@clisp.org>
26751         threadlib: Optimize out runtime test on Solaris >= 10.
26752         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
26753         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
26754         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
26756 2016-12-10  Bruno Haible  <bruno@clisp.org>
26758         stdint: Update doc about Solaris 9.
26759         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
26761 2016-12-09  Bruno Haible  <bruno@clisp.org>
26763         c-ctype tests: Fix link error on Solaris 9.
26764         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
26765         Reported at <https://savannah.gnu.org/bugs/?46827>.
26767 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
26769         dfa: fix performance bug that recomputes trans
26770         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
26771         25 on-demand changes.  The bug caused build_state to reset all
26772         d->trans elements to -2 even when d->trans was already non-null.
26773         Use C99 style decls after statements in this function.
26775         same-inode: port to MinGW
26776         Here st_ino is always 0, so change the definition of SAME_INODE so
26777         that 1 means the two files are the same, 0 with st_ino != 0 means
26778         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
26779         reported by Bruno Haible (Bug#25146).
26780         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
26781         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
26783 2016-12-04  Bruno Haible  <bruno@clisp.org>
26785         javacomp-script: Support Java 7 and 8.
26786         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
26787         target-version 1.7, 1.8.
26789 2016-12-02  Daiki Ueno  <ueno@gnu.org>
26791         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
26792         GPLv2" rewriting.
26794 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
26796         * gnulib-tool (func_import): Adhere to the license guideline when
26797         rewriting the license text to "LGPLv3+ or GPLv2":
26798         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
26800 2016-12-02  Bruno Haible  <bruno@clisp.org>
26802         localcharset: Avoid theoretical buffer overrun.
26803         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
26804         return value from setlocale if it would lead to a buffer overrun.
26806 2016-12-01  Bruno Haible  <bruno@clisp.org>
26808         Relicense some modules under LGPLv2+.
26809         Kevin Cernekee's approval is in
26810         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
26811         * modules/fseterr (License): Change to LGPLv2+.
26812         * modules/mbchar (License): Likewise.
26813         * modules/mbiter (License): Likewise.
26814         * modules/mbsnlen (License): Likewise.
26815         * modules/wcwidth (License): Likewise.
26817 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26819         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
26820         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
26821         OS/2 kLIBC.
26823 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26825         alphasort, scandir: Port to OS/2 kLIBC
26826         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
26827         declaration.
26828         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
26830 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26832         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
26833         * lib/relocatable.c (relocate): Do not touch pathname if it is started
26834         with '/@unixroot'.
26836 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26838         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
26839         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
26840         OS/2 kLIBC unless TCPV40HDRS is defined.
26842 2016-11-29  Jim Meyering  <meyering@fb.com>
26844         dfa: avoid new infinite loop
26845         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
26846         * lib/dfa.c (dfastate): When constructing a new state table, we could
26847         initially declare that we had found a match, and later find that
26848         constraints eliminate that possibility, yet continue to use the
26849         now stale "matched" indicator.  That would lead to an infinite loop.
26850         The solution is to update "matched" when necessary.
26851         Introduced by commit v0.1-983-g403adf1.
26853 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26855         dfa: avoid match middle in multibyte character
26856         * lib/dfa.c (transit_state): If fails in matching single byte characters
26857         on a state including period expression in non-UTF8 multibyte locales,
26858         skip trailing bytes.
26859         (dfa_supported): Revert previous change.
26861 2016-11-27  Jim Meyering  <meyering@fb.com>
26863         dfa: avoid false match in non-UTF8 multibyte locales
26864         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
26865         as "not supported" so that callers will resort to using regex-based
26866         matcher.  This will surely hurt performance, but correctness trumps
26867         performance here, and the affected locales are less and less relevant,
26868         these days.  See grep's bug report https://bugs.gnu.org/24975.
26870 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
26872         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
26873         * lib/ptsname_r.c: Include the appropriate headers.
26874         [__sun]: Delete sys/sysmacros.h include.
26875         [_AIX || __osf__]: Likewise.
26876         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
26878 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26880         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
26881         * lib/md4.c (md4_process_bytes): The existing define is made internal
26882         in recent versions of glibc, so also use this new public define.
26883         * lib/md5.c (md5_process_bytes): Likewise.
26884         * lib/sha1.c (sha1_process_bytes): Likewise.
26885         * lib/sha256.c (sha256_process_bytes): Likewise.
26886         * lib/sha512.c (sha512_process_bytes): Likewise.
26888 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26890         maint: use a more standard return from mbrtowc test
26891         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
26892         from the test program as this often indicates an
26893         unhandled case in the test program.
26894         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
26895         (gl_MBRTOWC_SANITYCHECK): Likewise.
26896         (gl_MBRTOWC_NULL_ARG2): Likewise.
26897         (gl_MBRTOWC_NUL_RETVAL): Likewise.
26899 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26901         freopen: work around glibc bug with closed fd
26902         Work around glibc bug#15589, where freopen mishandles the case
26903         where stdin etc. are already closed.
26904         * doc/posix-functions/freopen.texi (freopen): Document the bug.
26905         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
26906         instead of __need_FILE, as the latter does not work with glibc.
26907         Include <fcntl.h>, for open flags.
26908         (rpl_freopen): Work around glibc bug.
26909         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
26910         * modules/freopen (Depends-on): Add fcntl-h.
26911         * tests/test-freopen.c (main): Test for bug.
26913 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26915         fnmatch: fix typo introduced on 2016-08-17
26916         This fixes the port to non-GCC compilers that lack __builtin_expect.
26917         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
26919         dfa: simplify with new function fillset
26920         * lib/dfa.c (fillset): New function.
26921         Use it for clarity when applicable.
26923         dfa: fix glitches with on-demand states
26924         Also, adjust commentary to better match new code.
26925         Some of these glitches predate the recent change.
26926         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
26927         only non-initial states.
26928         (dfastate): Rename locals to better match new roles.
26929         Move them into nested scopes if this is easy.
26930         Omit unnecessary calls to zeroset.
26931         Simplify test for whether to throw in the positions of state 0.
26932         Omit C99-ism (decl after statement) since Gawk still wants C89.
26933         (build_state): Omit unnecessary test and assignment.
26934         Fix some confusion that counted transition tables inaccurately
26935         and could cause a memory leak.
26936         (dfaexec_main): Redo to make it clearer to the compiler that
26937         -1 and -2 are the only negative state numbers here.
26939 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26941         dfa: addition of new state on demand
26942         * src/dfa.c (dfastate): Add argument UC, the current input character.
26943         Fill only a group including the character in transition table.
26944         (realloc_trans_if_necessary): Add the dummy state which means that a
26945         transition table is assigned but the next state is not assigned.
26946         (build_state): Return the next state.  All callers updated.
26947         (transit_state_singlebyte): If we get the dummy state,
26948         fill the transition table.
26949         (dfaexec_main): Handle the dummy state.
26950         (free_mbdata, dfafree): Consider the dummy state.
26952 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26954         srclist: sync with released gettext
26955         * config/srclist.txt: Set "release" option to the files under
26956         $GETTEXT.
26958 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26960         srclist: add "release" option
26961         * config/srclist.txt: Change the format so that the first column
26962         of each line points to the top-level directory of the source
26963         archive.
26964         * config/srclist-update: Accept "release" option that checks files
26965         from the most recently tagged revision in the source archive.
26967 2016-11-21  Bruno Haible  <bruno@clisp.org>
26969         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
26970         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26971         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
26972         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
26973         Inline and remove member function 'rpl ()' of the wrapper struct.
26975 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26977         dfa: fix logic typo
26978         Problem reported by Stephane Chazelas (Bug#24973).
26979         * lib/dfa.c (using_simple_locale): Fix typo that caused some
26980         non-simple locales like fr_FR to be treated as simple.
26982 2016-11-20  Jim Meyering  <meyering@fb.com>
26984         fix test driver leaks: exclude, malloc, realloc
26985         * tests/test-exclude.c (main): Fix trivial leak.
26986         * tests/test-malloc-gnu.c (main): Likewise.
26987         * tests/test-realloc-gnu.c (main): Likewise.
26988         With these changes, grep's tests are now leak free.
26989         I.e., running them with ASAN elicits no failure:
26990           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
26991             AM_LDFLAGS='-fsanitize=address -static-libasan' check
26993 2016-11-11  Bruno Haible  <bruno@clisp.org>
26995         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
26996         * modules/libunistring: (License): Change from LGPL to
26997         "LGPLv3+ or GPLv2".
26998         * modules/libunistring-optional: Likewise.
26999         * modules/unicase/*: Likewise.
27000         * modules/uniconv/*: Likewise.
27001         * modules/unictype/*: Likewise.
27002         * modules/unigbrk/*: Likewise.
27003         * modules/unilbrk/*: Likewise.
27004         * modules/uniname/*: Likewise.
27005         * modules/uninorm/*: Likewise.
27006         * modules/unistdio/*: Likewise.
27007         * modules/unistr/*: Likewise.
27008         * modules/uniwbrk/*: Likewise.
27009         * modules/uniwidth/*: Likewise.
27011 2016-11-12  Bruno Haible  <bruno@clisp.org>
27013         Relicense some modules under LGPLv2+.
27014         Paul Eggert's approval is in
27015         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
27016         Eric Blake's approval is in
27017         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
27018         Ludovic Courtès's approval is in
27019         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
27020         * modules/isnand-nolibm (License): Change to LGPLv2+.
27021         * modules/isnanf-nolibm (License): Likewise.
27022         * modules/isnanl-nolibm (License): Likewise.
27024 2016-11-19  Bruno Haible  <bruno@clisp.org>
27026         Relicense some modules under LGPLv2+.
27027         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
27028         modules/vasnprintf.
27029         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
27030         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
27031         All other significant changes to the files in lib/ of these modules
27032         are from me.
27033         * modules/memcmp2 (License): Change to LGPLv2+.
27034         * modules/amemxfrm (License): Likewise.
27035         * modules/fpieee (License): Likewise.
27036         * modules/fpucw (License): Likewise.
27037         * modules/frexp-nolibm (License): Likewise.
27038         * modules/frexpl-nolibm (License): Likewise.
27039         * modules/printf-frexp (License): Likewise.
27040         * modules/printf-frexpl (License): Likewise.
27041         * modules/printf-safe (License): Likewise.
27042         * modules/signbit (License): Likewise.
27044 2016-11-17  Bruno Haible  <bruno@clisp.org>
27046         Enable Unicode decoder safety unconditionally.
27047         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
27048         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
27049         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27050         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27051         * lib/unistr/u8-prev.c (u8_prev): Likewise.
27052         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
27053         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
27054         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
27055         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
27056         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
27057         * lib/unistr/u16-prev.c (u16_prev): Likewise.
27058         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
27059         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
27060         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
27061         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
27062         * lib/unistr/u32-prev.c (u32_prev): Likewise.
27063         * lib/unistr/u32-next.c (u32_next): Likewise.
27064         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
27065         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
27066         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27067         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27068         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
27069         CONFIG_UNICODE_SAFETY tests unconditionally.
27070         * tests/unistr/test-u32-mblen.c (main): Likewise.
27071         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
27072         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
27073         * tests/unistr/test-u32-next.c (main): Likewise.
27074         * tests/unistr/test-u32-strmblen.c (main): Likewise.
27075         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
27076         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
27077         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
27078         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
27079         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27080         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
27081         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
27082         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
27083         * lib/unistr/u16-check.c (u16_check): Update comment.
27084         * NEWS: Mention the changes that callers should be aware of.
27086 2016-11-19  Bruno Haible  <bruno@clisp.org>
27088         relocatable-prog-wrapper: Fix breakage on Cygwin.
27089         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
27090         (Depends-on): Remove intprops.
27091         * lib/relocwrapper.c: Update dependency tree.
27092         (strerror): Undefine.
27093         * build-aux/install-reloc (func_create_wrapper): Do not compile
27094         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
27096 2016-11-19  Bruno Haible  <bruno@clisp.org>
27098         strerror: Make it compile in C++ mode.
27099         * lib/strerror.c (strerror): Ignore the return value of memcpy().
27101 2016-11-15  Pedro Alves  <palves@redhat.com>
27103         sys_time: add gnulib::timeval for C++
27104         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
27105         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
27106         timeval macro.
27108 2016-11-14  Pedro Alves  <palves@redhat.com>
27110         snippet/c++defs: fix real-floating arg functions in C++ mode
27111         Also, define isfinite, isinf, isnan, signbit in the gnulib
27112         namespace instead of in the global namespace.
27113         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
27114         (_GL_END_NAMESPACE): New.
27115         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
27116         (isfinite, isinf, isnan, signbit) [__cplusplus &&
27117         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
27118         instead of in the global namespace.
27119         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
27120         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
27121         of in the global namespace.
27123 2016-11-13  Jim Meyering  <meyering@fb.com>
27125         strftime: don't use __THROW
27126         Each use of __THROW would provoke this from gcc-7-to-be:
27128           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
27129             on unit local functions [-Wattributes]
27130           static int iso_week_days (int, int) __THROW;
27131           ^~~~~~
27132         * lib/strftime.c (__THROW): Don't define.
27133         Remove each use of __THROW.
27134         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
27135         (tm_diff, iso_week_days, __strftime_internal): Likewise.
27137 2016-11-14  Paul Eggert  <eggert@union>
27139         obstack: port to gcc -fcheck-pointer-bounds
27140         Problem found by 'make check' failure on bleeding-edge coreutils
27141         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
27142         6.2.0-5ubuntu12), configured via "./configure
27143         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
27144         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
27145         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
27146         New macro, copied from fts_.h.
27147         (struct _obstack_chunk.contents): Use it.
27149 2016-11-14  Eric Blake  <eblake@redhat.com>
27151         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
27152         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
27153         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
27155 2016-11-14  Pádraig Brady  <P@draigBrady.com>
27157         strptime: fix compile error in recent change
27158         * lib/strptime.c (__strptime_internal): Fix ported code.
27160 2016-11-11  Bruno Haible  <bruno@clisp.org>
27162         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
27163         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
27164         (func_import): Extend determination of license_incompatibilities.
27165         (func_create_testdir): Extend table of license compatibility. Handle
27166         also the licenses GPLv3+, GPL, LGPLv3+.
27168 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
27170         strftime: tune %q
27171         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
27173         Merge strftime.c changes from glibc
27174         This incorporates:
27175         2007-10-16 [BZ #5184] Add tzset_called argument
27176         2008-06-13 [BZ #6612] pass reference to tzset_called around
27177         2009-10-30 Implement Burmese language locale for Myanmar
27178         2010-01-09 Add support for XPG7 testing
27179         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
27180         2015-10-20 Convert miscellaneous function definitions to prototype style
27181         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
27182         it anyway and this lessens the difference between gnulib and glibc.
27183         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
27184         (__THROW): Define if standard headers do not.
27185         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
27186         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
27187         Declare with __THROW.
27188         (__strftime_internal): Rename from strftime_case_. Add arg for
27189         whether tzset is called.  All uses changed.  Call tzset at most
27190         once.  Allow %OC, for Burmese.
27191         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
27192         Don't assume values are in range.
27194 2016-11-12  Eric Blake  <eblake@redhat.com>
27196         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
27197         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
27198         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
27199         different value.
27201 2006-11-12  Pedro Alves  <palves@redhat.com>
27203         Fix gnulib C++ namespace support and std::frexp
27204         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
27205         _GL_CXXALIASWARN.
27207 2006-11-12  Pedro Alves  <palves@redhat.com>
27209         GNULIB_NAMESPACE::func need not pull in rpl_func
27210         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
27211         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
27212         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
27213         struct instead of a function pointer.
27215 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
27217         manywarnings: fix -Wno-missing-field-initializers detection
27218         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
27219         to be independent of -Wunused-variable.  I.E. ensure the latter
27220         warning doesn't occur so that detection of the former is accurate.
27222 2016-11-05  Pádraig Brady  <pbrady@fb.com>
27224         strftime,strptime: support %q to represent the quarter
27225         * lib/strftime.c (strftime_case_): Add %q case.
27226         * lib/strptime.c (__strptime_internal): Likewise.
27227         * tests/test-strftime.c (quarter_test): A new test case.
27229 2016-11-03  Eric Blake  <eblake@redhat.com>
27231         bootstrap: Fix get_version() for AIX 5.3
27232         * build-aux/bootstrap (get_version): Factor out sed script, since
27233         indented comments choke AIX 5.3 sed.
27234         Reported-by: Michael Felt <aixtools@gmail.com>
27236 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27238         intprops: port to older XL C
27239         Problem reported by Alexander Samoilov in:
27240         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
27241         http://savannah.nongnu.org/bugs/?49448
27242         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
27243         Define to 1 only for XL C 12.1 or later, since this bug
27244         occurs in XL C for AIX 6.0 but not in 12.1.
27246 2016-11-02  Pádraig Brady  <P@draigBrady.com>
27248         backupfile: initialize default suffix within the implementation
27249         * lib/backupfile.c (find_backup_file_name): Initialize the
27250         global variable here, to simplify usage, and to only call
27251         getenv() when needed.
27253 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27255         futimens: remove FIXME for old Linux kernels
27256         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
27257         this in 2012" FIXME, like that for utimensat.
27259         utimensat: remove FIXME for old Linux kernels
27260         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
27261         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
27262         this in 2012" FIXME, by assuming the file system bug is absent
27263         unless demonstrated to be present.  We no longer need to worry
27264         about Linux kernel 2.6.32 when building with newer kernels.
27266 2016-10-16  Bruno Haible  <bruno@clisp.org>
27268         qsort_r: Fix macrology for platforms that lack the function.
27269         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
27270         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
27271         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
27272         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
27273         not exist.
27274         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
27275         the function exists.
27276         * modules/qsort_r: Add comments.
27278 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27280         sys_types: fix Texinfo typos
27281         * doc/glibc-functions/gnu_dev_major.texi:
27282         * doc/glibc-functions/gnu_dev_makedev.texi:
27283         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
27285 2016-10-26  John David Anglin  <dave.anglin@bell.net>
27287         getprogname: port to HP-UX
27288         See Bug#24805.
27289         * lib/getprogname.c (getprogname) [__hpux]: Port.
27290         * tests/test-getprogname.c (STREQ) [__hpux]:
27291         Special-case for HP-UX limitations on program name length.
27293 2016-10-20  Bruno Haible  <bruno@clisp.org>
27295         Update doc about target platforms.
27296         * doc/gnulib-intro.texi (Target Platforms): Update list.
27298 2016-10-15  Bruno Haible  <bruno@clisp.org>
27300         opendir, readdir, closedir: Relicense under LGPLv2+.
27301         * modules/opendir (License): Change to LGPLv2+.
27302         * modules/readdir (License): Likewise.
27303         * modules/closedir (License): Likewise.
27305 2016-10-16  Bruno Haible  <bruno@clisp.org>
27307         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
27308         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
27309         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
27310         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
27311         HAVE_DECL_STRERROR_R.
27313 2016-10-16  Bruno Haible  <bruno@clisp.org>
27315         Make the 'argp' module work without the 'error' module.
27316         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
27318 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
27320         diffseq: restore TOO_EXPENSIVE heuristic
27321         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
27322         (Bug#24715).  The simplest solution is to restore the
27323         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
27324         using a higher threshold to avoid Bug#16848 on smaller files.
27325         * lib/diffseq.h (struct context): Restore member too_expensive.
27326         (struct partition): Restore members lo_minimal, hi_minimal.
27327         (diag, compareseq): Restore arg find_minimal.  All uses changed.
27328         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
27329         1993 to make 'diff' run faster (but not as well) on large inputs,
27330         but use a threshold of 4096 instead of the old 256.
27331         * lib/fstrcmp.c (strcmp_bounded):
27332         * lib/git-merge-changelog.c (compute_differences):
27333         Adjust to diffseq.h changes.
27335 2016-10-22  Bruno Haible  <bruno@clisp.org>
27337         iconv: Avoid compilation error when bootstrapping GNU libiconv.
27338         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
27339         declaration yet, define ICONV_CONST to empty.
27341 2016-10-15  Bruno Haible  <bruno@clisp.org>
27343         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
27344         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
27345         module.
27347 2016-10-16  Bruno Haible  <bruno@clisp.org>
27349         system-quote tests: Avoid compiler warning on AIX.
27350         * tests/test-system-quote-child.c (fopen): Redefine like the system's
27351         <stdio.h> does.
27353 2016-10-16  Bruno Haible  <bruno@clisp.org>
27355         Fix some "gcc -Wall" warnings.
27356         * tests/test-ffsl.c (main): Use variable x, not i.
27357         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
27358         freopen.
27359         * tests/test-sethostname1.c (main): Explicitly ignore the return value
27360         of sethostname.
27362 2016-10-16  Bruno Haible  <bruno@clisp.org>
27364         gnulib-tool: Make --create-testdir on all modules work again.
27365         * gnulib-tool (func_create_testdir): Don't include the
27366         non-recursive-gnulib-prefix-hack module.
27368 2016-10-21  Daiki Ueno  <ueno@gnu.org>
27370         libunistring: change the maintainer to 'all'
27371         * modules/gen-uni-tables, modules/libunistring:
27372         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
27373         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
27374         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
27375         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
27376         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
27377         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
27378         * modules/uniwidth/*: Change the maintainer to 'all'.
27380 2016-10-16  Bruno Haible  <bruno@clisp.org>
27382         Simplify "configure: checking ..." messages.
27383         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
27384         AC_MSG_NOTICE.
27385         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
27387 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
27389         quotearg-tests: pacify gcc -Wall
27390         Problem reported by Bruno Haible in:
27391         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
27392         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
27393         * tests/test-quotearg.h: ... from here.
27395 2016-10-20  Pádraig Brady  <P@draigBrady.com>
27397         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
27398         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
27399         Needed on Centos <= 4.
27401 2016-10-20  Jim Meyering  <meyering@fb.com>
27403         printf.m4: fix a bug in detecting printf %j support
27404         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
27405         uintmax_t is defined in neither stdint.h nor inttypes.h.
27406         Before, this macro might have mistakenly set
27407         gl_cv_func_printf_sizes_c99=yes on such a system.
27408         Spotted by Zev Weiss.
27410 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
27412         sched: substitute HAVE_SYS_CDEFS_H too
27413         Problem reported by Tom G. Christensen in:
27414         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
27415         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
27416         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
27418 2016-10-19  Pádraig Brady  <P@draigBrady.com>
27420         quotearg: never write beyond the returned length
27421         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
27422         scan of the string when we initially encounter a single quote when
27423         shell quoting, so that if we then switch to a more concise quoting method
27424         we will not have written beyond that returned length.
27425         This is significant for sh-quote, which has separate routines
27426         to determine the length and do the actual quoting.
27427         * tests/test-quotearg.h: Reinstate the buffer bounds checking
27428         now that we never write more than the returned length.
27430 2016-10-18  Bruno Haible  <bruno@clisp.org>
27432         getprogname tests: Avoid failure in packages that use libtool.
27433         * tests/test-getprogname.c (main): Strip "lt-" prefix.
27434         Based on a patch by Jim Meyering.
27436 2016-10-16  Bruno Haible  <bruno@clisp.org>
27438         getprogname: Fix test failure on Cygwin. Comments.
27439         * lib/getprogname.h: Add comments.
27440         * lib/getprogname.c: Add comments. Fix #elif indentation.
27441         * tests/test-getprogname.c (main): On Cygwin, expect a result without
27442         ".exe" suffix.
27444 2016-10-16  Bruno Haible  <bruno@clisp.org>
27446         Make sure the libunistring detection rejects older versions with a
27447         known bug.
27448         * modules/unistr/u8-strtok (configure.ac): Bump required version.
27449         * modules/unistr/u16-strtok (configure.ac): Likewise.
27450         * modules/unistr/u32-strtok (configure.ac): Likewise.
27452 2016-10-18  Bruno Haible  <bruno@clisp.org>
27454         sh-quote, system-quote: revert regression of unit test.
27455         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
27456         * tests/test-system-quote-main.c (check_one): Likewise.
27458 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27460         quotearg: fix stale tests
27461         * tests/test-quotearg.c [locale_results]: Add the missing str7
27462         entries to the expected results.
27463         * tests/test-system-quote-main.c (check_one): Don't enforce that we
27464         don't write beyond the returned length, since that's no longer the
27465         case if we switch to a more concise quoting style.
27466         * tests/test-sh-quote.c (check_one): Likewise.
27467         (main): Adjust for the new more concise quoting style.
27468         Reported by Bruno Haible.
27470 2016-10-16  Jim Meyering  <meyering@fb.com>
27472         non-recursive-gnulib-prefix-hack: fix inconsequential typo
27473         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
27474         to "$1".  This macro is always invoked with $1 == lib.
27475         Spotted by Bruno Haible
27477 2016-10-16  Bruno Haible  <bruno@clisp.org>
27479         Fix a test crash.
27480         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
27481         fails.
27483 2016-10-16  Pádraig Brady  <P@draigBrady.com>
27485         test-limits-h: suppress -Woverlength-strings
27486         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
27488 2016-10-15  Bruno Haible  <bruno@clisp.org>
27490         gettime, timespec, utimens: Relicense under LGPL.
27491         * modules/gettime (License): Change to LGPL.
27492         * modules/timespec (License): Likewise.
27493         * modules/utimens (License): Likewise.
27495 2016-10-14  Bruno Haible  <bruno@clisp.org>
27496             Pádraig Brady  <P@draigBrady.com>
27498         canonicalize-lgpl: Support the case path_max > INT_MAX.
27499         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
27500         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
27502 2016-10-13  Jim Meyering  <meyering@fb.com>
27504         getprogname: IBM z/OS: avoid NULL-dereference
27505         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
27506         upon strdup failure.
27508 2016-10-12  Jim Meyering  <meyering@fb.com>
27510         test-stdint: use _GL_VERIFY rather than "verify" for some tests
27511         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
27512         and an abbreviated diagnostic rather than verify with the full one,
27513         because the full-length strings would evoke warnings from gcc with
27514         -Woverlength-strings.
27516 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27518         stdint: port SIZE_MAX to glibc s390
27519         Problem reported by Eric Blake in:
27520         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
27521         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
27522         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
27523         correct type, if possible.
27525 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
27527         getprogname: port to IBM z/OS
27528         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
27530 2016-10-11  Jim Meyering  <meyering@fb.com>
27532         maint: remove stray space after "." in AC_DEFINE comment.
27533         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
27534         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27536 2016-10-05  Jim Meyering  <meyering@fb.com>
27538         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27539         * lib/long-options.c (parse_long_options): Add a break statement
27540         to avoid this new warning/failure:
27541         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27542           --create-testdir --dir=/t/x --with-tests --test long-options
27543         ../../gllib/long-options.c: In function 'parse_long_options':
27544         ../../gllib/long-options.c:66:12: error: this statement may \
27545           fall through [-Werror=implicit-fallthrough]
27546                    (*usage_func) (EXIT_SUCCESS);
27547                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27549 2016-10-05  Jim Meyering  <meyering@fb.com>
27551         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27552         Testing this module would fail when using GCC 7 like this:
27553         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27554           --dir=/tmp/x --with-tests --test utimecmp
27555         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27556         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27557           [-Werror=bool-operation]
27558                          time_t s = src_s & ~ (res == 2 * BILLION);
27559                                             ^
27560         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27561           [-Werror=bool-operation]
27562                src_s &= ~ (res == 2 * BILLION);
27563                         ^
27564         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27565         Instead, make it explicit that we intend to apply it to 0 or 1.
27567 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27569         dfa: save memory for states
27570         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
27571         states if dfa has a lot of caches.
27573 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
27575         wchar, wctype-h: fix for MinGW 3.22.2
27576         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
27577         special invocation, to fix issues with MinGW 3.22.2 wchar.h
27578         when included from <string.h>.
27579         * lib/wctype.in.h [__MINGW32__]: Add special invocation
27580         convention for MinGW 3.22.2, to solve issues with their
27581         wctype.h when included from <ctype.h>.
27583 2016-10-05  Jim Meyering  <meyering@fb.com>
27585         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27586         * lib/long-options.c (parse_long_options): Add a break statement
27587         to avoid this new warning/failure:
27588         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27589           --create-testdir --dir=/t/x --with-tests --test long-options
27590         ../../gllib/long-options.c: In function ‘parse_long_options’:
27591         ../../gllib/long-options.c:66:12: error: this statement may \
27592           fall through [-Werror=implicit-fallthrough]
27593                    (*usage_func) (EXIT_SUCCESS);
27594                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27596         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27597         Testing this module would fail when using GCC 7 like this:
27598         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27599           --dir=/tmp/x --with-tests --test utimecmp
27600         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27601         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27602           [-Werror=bool-operation]
27603                          time_t s = src_s & ~ (res == 2 * BILLION);
27604                                             ^
27605         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27606           [-Werror=bool-operation]
27607                src_s &= ~ (res == 2 * BILLION);
27608                         ^
27609         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27610         Instead, make it explicit that we intend to apply it to 0 or 1.
27612 2016-10-03  Pádraig Brady  <P@draigBrady.com>
27614         quotearg: minimize shell quoting using double quotes
27615         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
27616         quote in encountered then use double quotes (c style quoting)
27617         when possible, as it simplifies the quoting.
27618         * tests/test-quotearg-simple.c: Add test cases.
27619         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
27620         for the fact we now may write beyond the returned length.
27622 2016-10-02  Jim Meyering  <meyering@fb.com>
27624         vasnprintf.c: avoid spurious warning from GCC 7
27625         The presence of cpp directives renders this "FALLTHROUGH" comment
27626         ineffective, so does not suppress the -Wimplicit-fallthrough warning
27627         from GCC 7 built from git on 2016-10-02.
27628         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
27629         directives, so that it takes effect once again.  This is clearly
27630         not a proper change, and I will revert it once this bug is fixed:
27631         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
27633 2016-10-01  Jim Meyering  <meyering@fb.com>
27635         getprogname: correct the test for a __progname variable
27636         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
27637         and AC_LINK_IFELSE to check for a global __progname.  If found,
27638         define HAVE_VAR___PROGNAME.
27639         * lib/getprogname.c (getprogname): Reflect the new name of the
27640         feature- checked preprocessor symbol:
27641         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
27643 2016-09-28  Jim Meyering  <meyering@fb.com>
27645         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
27646         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
27647         fall-through case with a /* fallthrough */ comment.
27649         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
27650         * lib/dfa.c (dfassbuild): Mark the end of this case with a
27651         /* fallthrough */ comment.
27653         getprogname: avoid __progname vs program_invocation_short_name pitfall
27654         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
27655         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
27656         not with Fedora 24's glibc-2.23.1-10.
27657         * lib/getprogname.c (__progname): Move this declaration down...
27658         (getprogname): ... into the #elif block where used, and make it
27659         explicitly "extern".
27661         getprogname: port to OpenBSD 5.1
27662         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
27663         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
27664         * modules/getprogname (configure.ac): Move most of this code...
27665         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
27666         increment serial number, and add a test for __progname.
27667         https://bugs.gnu.org/24562
27668         Reported by Nelson H. F. Beebe.
27670 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
27672         sched: port to GCC 6.2.1 on macOS Sierra
27673         Problem reported by Denis Davydov in:
27674         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
27675         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
27676         Include <sys/cdefs.h> before <sched.h>.
27677         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
27678         so that we needn’t worry about the sched.h include bug here.
27679         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
27680         and include it before <sched.h> if it exists, when
27681         checking for <sched.h>.
27683         tests/init.sh: port Alpine fix to AIX 7.1
27684         * tests/init.sh (compare_): When attempting to use diff -U3,
27685         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
27686         diff -u not outputting a space after leading '+', as the users
27687         of 'compare' should not be that picky about its output format.
27688         In the AIX 7.1 case, return with diff exit status (or with 2 if
27689         trouble), instead of some random nonzero exit status.
27690         * tests/test-init.sh (test_compare): Remove space after leading
27691         '+', so that AIX 7.1 'diff' passes the test.
27693 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27695         nl_langinfo: pacify GCC
27696         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
27697         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
27699         stdint: also set GL_GENERATE_LIMITS_H
27700         Problem reported by Jim Meyering in:
27701         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
27702         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
27704         limits-h, stdint: Don't assume extensions, fix typo
27705         * m4/limits-h.m4 (gl_LIMITS_H):
27706         * m4/stdint.m4 (gl_STDINT_H):
27707         Don't assume AC_USE_SYSTEM_EXTENSIONS.
27708         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
27709         reported by Jim Meyering in:
27710         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
27712 2016-09-21  Jim Meyering  <meyering@fb.com>
27714         getprogname: port to AIX
27715         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
27716         and strdup to obtain a short program name string.  Using code from
27717         Bruno Haible and an idea from Bastien ROUCARIÈS, in
27718         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
27719         Assaf Gordon reported that this new file would fail to compile on
27720         AIX-7.1 32bit.
27722 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
27724         extensions: fix typo in comment
27725         * m4/extensions.m4: Sync from Autoconf master.
27727         stdint: support new _WIDTH macros
27728         * doc/posix-headers/stdint.texi: Document this.
27729         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
27730         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
27731         support for INTMAX_WIDTH, etc. as well as for support for just C99.
27732         * modules/stdint (Depends-on): Add limits-h.
27733         (Makefile.am): Substitute HAVE_C99_STDINT_H.
27734         * modules/stdint-tests (Depends-on): Add extensions, so that
27735         INTMAX_MAX etc. are defined.
27736         * tests/test-stdint.c: Verify the new macros.
27738         limits-h: new module
27739         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
27740         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
27741         * doc/posix-headers/limits.texi: Document new module.
27742         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
27743         * modules/limit-h-tests, tests/test-limits-h.c: New files.
27745         stdio: don't redefine __USE_MINGW_ANSI_STDIO
27746         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
27747         if it is already defined.  Apparently GNU Emacs relies on this.  See:
27748         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
27750 2016-09-15  Eric Blake  <eblake@redhat.com>
27752         sys_types: avoid glibc 2.25 warnings about major()
27753         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
27754         older autoconf.
27755         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
27756         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
27757         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
27758         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
27760         mountlist: include sysmacros.h for glibc
27761         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
27762         AC_HEADER_MAJOR.
27763         * lib/mountlist.c (includes): Use correct headers.
27765 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
27767         extensions: port to more ISO C TSes
27768         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
27769         master, to add support for more recent ISO C TRs and TSes.
27771 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27773         intprops: new macro TYPE_WIDTH
27774         * lib/intprops.h (TYPE_WIDTH): New macro.
27775         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
27776         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
27777         * lib/parse-datetime.y (parse_datetime2):
27778         Use it.
27780         extensions: port to recent ISO C TRs
27781         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27782         Sync from Autoconf master, to add support for recent ISO C TRs.
27783         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
27784         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
27785         the MinGW option is not an extension.
27787 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
27789         dfa: port to Solaris 9
27790         Problems reported by Tom G. Christensen in:
27791         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
27792         * modules/dfa (Depends-on): Add isblank.
27793         * modules/dfa-tests (dfa_match_aux_LDADD):
27794         Rename from test_stat_LDADD, to fix typo.
27795         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
27797 2016-09-10  Jim Meyering  <meyering@fb.com>
27799         strverscmp: avoid link failure on OS X
27800         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
27801         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
27803 2016-08-16  Jim Meyering  <meyering@fb.com>
27805         dfa: new module, importing grep's DFA matcher
27806         Since grep's DFA matcher is now being used by two gnulib-enabled
27807         projects, grep and sed, it makes sense to version-control its
27808         sources and unit tests in one place: here.
27809         * modules/dfa: New module.
27810         * modules/dfa-tests: New file.
27811         * lib/dfa.c: New file, from grep.
27812         * lib/dfa.h: Likewise.
27813         * lib/localeinfo.c: Likewise.
27814         * lib/localeinfo.h: Likewise.
27815         * tests/dfa-match-aux.c: Likewise.
27816         * tests/dfa-invalid-char-class.sh: Likewise.
27817         * tests/dfa-match.sh: Likewise, with minor changes.
27818         * MODULES.html.sh (Misc): Add "dfa" to this list.
27820 2016-09-09  Jim Meyering  <meyering@fb.com>
27822         getprogname-tests: don't depend on assert-h
27823         * modules/getprogname-tests (Depends-on): Remove assert-h.
27824         It was not needed, and in fact would cause build failure for
27825         coreutils on some systems.  Reported by Assaf Gordon in https:
27826         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
27828 2016-09-07  Jim Meyering  <meyering@fb.com>
27830         getprogname-tests: work also when EXEEXT is nonempty
27831         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
27832         * tests/test-getprogname.c (main): Use it.
27833         Suggested by Gisle Vanem.
27835 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
27837         getprogname: fix errors in previous change
27838         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
27839         s/program_invocation_name/base/
27840         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
27842 2016-09-08  Pádraig Brady  <P@draigBrady.com>
27844         parse-datetime: restrict debug output to input string
27845         * lib/parse-datetime.y (parse_datetime2): If we parse
27846         all of the input but determine it's invalid, ensure
27847         we don't output the now invalid input pointer.
27848         This issue was seen with `date -d 'now +1'`.
27850 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27852         flexmember: new macro FLEXALIGNOF
27853         * lib/flexmember.h: Include <stddef.h>, for offsetof.
27854         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
27855         this macro.  Update comments.
27857 2016-09-07  Jim Meyering  <meyering@fb.com>
27859         getprogname: port to systems with __argv (mingw, msvc)
27860         * lib/getprogname.c (getprogname): Include "dirname.h" and use
27861         last_component: more general than open coding it with hard-coded "/".
27862         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
27863         * modules/getprogname (Depends-on): Add dirname-lgpl.
27864         (configure.ac): Check for __argv in <stdlib.h>.
27865         * modules/getprogname-tests: New file.
27866         * tests/test-getprogname.c: New file.
27867         Suggested by Gisle Vanem in
27868         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
27870 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27872         flexmember: port better to GCC + valgrind
27873         With a char[] flexible array member in a struct with nontrivial
27874         alignment, GCC-generated code can access past the end of the
27875         array, because GCC assumes there are padding bytes to get the
27876         struct aligned.  So the common idiom of malloc (offsetof (struct
27877         s, m), n) does not properly allocate an n-byte trailing member, as
27878         malloc’s argument should be the next multiple of alignof (struct s).
27879         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
27880         Although C11 apparently permits this GCC optimization (i.e., there
27881         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
27882         See the thread containing:
27883         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
27884         * lib/flexmember.h: New file.
27885         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
27886         * lib/localename.c, lib/time_rz.c:
27887         Include flexmember.h.
27888         * lib/fnmatch_loop.c (struct patternlist):
27889         * lib/localename.c (struct hash_node):
27890         Use FLEXIBLE_ARRAY_MEMBER.
27891         * lib/fnmatch_loop.c (EXT):
27892         * lib/fts.c (fts_alloc):
27893         * lib/glob.c (glob_in_dir):
27894         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
27895         * lib/localename.c (gl_lock_define_initialized):
27896         * lib/time_rz.c (tzalloc):
27897         Use FLEXSIZEOF instead of offsetof.
27898         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27899         Check that the size of the struct can be taken.
27900         * modules/flexmember (Files): Add lib/flexmember.h.
27901         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
27902         Add flexmember.
27904 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27906         getprogname: port to Solaris 10
27907         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
27908         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
27909         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
27911         stdalign: correct mistake in alignof doc
27912         Problem reported by Joseph Myers in:
27913         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
27914         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
27915         alignof(S) where S is a structure containing a flexible array
27916         member.  The Gnulib substitute does not support this, but C11 does.
27918 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27920         main.mk: remove sc_program_name, since there is no more need to
27921         use set_program_name in tools (getprogname is enough for most
27922         of the cases).
27923         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
27924         * top/maint.mk (sc_program_name): Remove.
27926 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27928         Port tests away from progname, since modules that need the
27929         program name already depend on getprogname.
27930         * modules/acl-tests (Depends-on): Remove progname.
27931         * modules/argmatch (Depends-on): Likewise.
27932         * modules/argmatch-tests (Depends-on): Likewise.
27933         * modules/argp-tests (Depends-on): Likewise.
27934         * modules/argp-version-etc-tests (Depends-on): Likewise.
27935         * modules/array-list-tests (Depends-on): Likewise.
27936         * modules/array-oset-tests (Depends-on): Likewise.
27937         * modules/avltree-list-tests (Depends-on): Likewise.
27938         * modules/avltree-oset-tests (Depends-on): Likewise.
27939         * modules/avltreehash-list-tests (Depends-on): Likewise.
27940         * modules/carray-list-tests (Depends-on): Likewise.
27941         * modules/copy-file-tests (Depends-on): Likewise.
27942         * modules/exclude-tests (Depends-on): Likewise.
27943         * modules/fchownat-tests (Depends-on): Likewise.
27944         * modules/fdopendir-tests (Depends-on): Likewise.
27945         * modules/filenamecat-tests (Depends-on): Likewise.
27946         * modules/fstatat-tests (Depends-on): Likewise.
27947         * modules/fstrcmp-tests (Depends-on): Likewise.
27948         * modules/linked-list-tests (Depends-on): Likewise.
27949         * modules/linkedhash-list-tests (Depends-on): Likewise.
27950         * modules/mkdirat-tests (Depends-on): Likewise.
27951         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
27952         * modules/nonblocking-socket-tests (Depends-on): Likewise.
27953         * modules/obstack-printf-tests (Depends-on): Likewise.
27954         * modules/openat-tests (Depends-on): Likewise.
27955         * modules/parse-datetime-tests (Depends-on): Likewise.
27956         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
27957         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
27958         * modules/quotearg-simple-tests (Depends-on): Likewise.
27959         * modules/quotearg-tests (Depends-on): Likewise.
27960         * modules/rbtree-list-tests (Depends-on): Likewise.
27961         * modules/rbtree-oset-tests (Depends-on): Likewise.
27962         * modules/rbtreehash-list-tests (Depends-on): Likewise.
27963         * modules/spawn-pipe-tests (Depends-on): Likewise.
27964         * modules/system-quote-tests (Depends-on): Likewise.
27965         * modules/uniname/uniname-tests (Depends-on): Likewise.
27966         * modules/uninorm/nfc-tests (Depends-on): Likewise.
27967         * modules/uninorm/nfd-tests (Depends-on): Likewise.
27968         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
27969         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
27970         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
27971         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
27972         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
27973         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
27974         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
27975         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
27976         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
27977         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
27978         * modules/unlinkat-tests (Depends-on): Likewise.
27979         * modules/version-etc-tests (Depends-on): Likewise.
27980         * modules/xalloc-die-tests (Depends-on): Likewise.
27981         * modules/xmemdup0-tests (Depends-on): Likewise.
27982         * modules/xprintf-posix-tests (Depends-on): Likewise.
27983         * modules/xvasprintf-tests (Depends-on): Likewise.
27984         * tests/test-argmatch.c: Do not include progname.h.
27985         (main) Stop calling set_program_name.
27986         * tests/test-argp-version-etc.c: Likewise.
27987         * tests/test-argp.c: Likewise.
27988         * tests/test-argv-iter.c: Likewise.
27989         * tests/test-array_list.c: Likewise.
27990         * tests/test-array_oset.c: Likewise.
27991         * tests/test-avltree_list.c: Likewise.
27992         * tests/test-avltree_oset.c: Likewise.
27993         * tests/test-avltreehash_list.c: Likewise.
27994         * tests/test-carray_list.c: Likewise.
27995         * tests/test-copy-acl.c: Likewise.
27996         * tests/test-copy-file.c: Likewise.
27997         * tests/test-exclude.c: Likewise.
27998         * tests/test-fchownat.c: Likewise.
27999         * tests/test-fdopendir.c: Likewise.
28000         * tests/test-filenamecat.c: Likewise.
28001         * tests/test-fstatat.c: Likewise.
28002         * tests/test-fstrcmp.c: Likewise.
28003         * tests/test-linked_list.c: Likewise.
28004         * tests/test-linkedhash_list.c: Likewise.
28005         * tests/test-mkdirat.c: Likewise.
28006         * tests/test-nonblocking-pipe-main.c: Likewise.
28007         * tests/test-nonblocking-socket-main.c: Likewise.
28008         * tests/test-obstack-printf.c: Likewise.
28009         * tests/test-openat.c: Likewise.
28010         * tests/test-parse-datetime.c: Likewise.
28011         * tests/test-pipe-filter-gi1.c: Likewise.
28012         * tests/test-pipe-filter-gi2-main.c: Likewise.
28013         * tests/test-pipe-filter-ii1.c: Likewise.
28014         * tests/test-pipe-filter-ii2-main.c: Likewise.
28015         * tests/test-quotearg-simple.c: Likewise.
28016         * tests/test-quotearg.c: Likewise.
28017         * tests/test-rbtree_list.c: Likewise.
28018         * tests/test-rbtree_oset.c: Likewise.
28019         * tests/test-rbtreehash_list.c: Likewise.
28020         * tests/test-sameacls.c: Likewise.
28021         * tests/test-set-mode-acl.c: Likewise.
28022         * tests/test-spawn-pipe-main.c: Likewise.
28023         * tests/test-system-quote-main.c: Likewise.
28024         * tests/test-unlinkat.c: Likewise.
28025         * tests/test-version-etc.c: Likewise.
28026         * tests/test-xalloc-die.c: Likewise.
28027         * tests/test-xfprintf-posix.c: Likewise.
28028         * tests/test-xmemdup0.c: Likewise.
28029         * tests/test-xprintf-posix.c: Likewise.
28030         * tests/test-xvasprintf.c: Likewise.
28031         * tests/uniname/test-uninames.c: Likewise.
28032         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28033         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28034         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28035         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28036         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28037         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28038         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28039         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28040         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28041         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28042         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28043         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28044         * tests/test-c-stack.c: (program_name): Do not define.
28045         (main): Do not set program_name.
28046         * tests/test-closein.c: Likewise.
28047         * tests/test-xstrtol.c: Likewise.
28048         * tests/test-yesno.c: Likewise.
28050 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28052         Port modules to use getprogname explicitly, instead of requiring
28053         progname to be used (or program_name to be provided).
28054         * lib/argmatch.c: Do not include progname.h.
28055         [TEST] (program_name): Do not define.
28056         [TEST] (main): Call getprogname instead of using program_name.
28057         * lib/c-stack.c: Do not include progname.h.
28058         (program_name): Do not define.
28059         (die): Call getprogname instead of using program_name.
28060         * lib/chdir-long.c: Do not include progname.h.
28061         [TEST_CHDIR] (main): Do not set program_name.
28062         * lib/error.c [!_LIBC]: Include progname.h.
28063         [!_LIBC] (program_name): Define using getprogname.
28064         * lib/euidaccess.c: Do not include progname.h.
28065         [TEST] (main): Do not set program_name.
28066         * lib/git-merge-changelog.c: Include getprogname.h instead of
28067         progname.h.
28068         (usage): Call getprogname instead of using program_name.
28069         (main): Likewise.  Stop calling set_program_name.
28070         * lib/group-member.c: Do not include progname.h.
28071         [TEST] (main): Do not set program_name.
28072         * modules/argmatch (Depends-on): Add getprogname.
28073         * modules/c-stack (Depends-on): Likewise.
28074         * modules/error (Depends-on): Likewise.
28075         * modules/git-merge-changelog (Depends-on): Likewise.
28076         Also remove progname.
28078 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
28080         * NEWS: Document the deprecation of the 'progname' module.
28082 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
28084         getprogname: new module
28085         This provides a LGPL module for getting the name of the current
28086         program, using the same API found on *BSD systems.
28087         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
28088         * modules/getprogname: New files.
28089         * MODULES.html.sh (Misc): Add getprogname.
28091 2016-09-02  Jim Meyering  <meyering@fb.com>
28093         manywarnings: add -fno-common
28094         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
28095         to the list.  Quoting the manual, "Compiling with -fno-common is
28096         useful on targets for which it provides better performance, or if
28097         you wish to verify that the program will work on other systems that
28098         always treat uninitialized variable declarations this way [putting
28099         it in the data section]."  If diffutils had been using this sooner,
28100         it would have prevented this duplicate declaration issue:
28101         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
28103 2016-08-31  Simon Josefsson  <simon@josefsson.org>
28105         parse-datetime: Fix typo.
28106         * lib/parse-datetime.y (parse_datetime2): Fix typo.
28108 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28110         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
28111         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
28112         GCC 5 and 6 that have __builtin_sub_overflow but not
28113         __builtin_sub_overflow_p.  With the recent changes, these
28114         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
28115         implementation than with INT_SUBTRACT_OVERFLOW implementation,
28116         since the former needs just one runtime comparison whereas the
28117         latter needs two.
28119         strverscmp: sync with glibc
28120         Although this doesn't exactly synchronize with glibc
28121         byte-for-byte, it makes the code behave the same as glibc.
28122         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
28123         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
28124         difference shouldn't matter in practical use.  All uses changed
28125         back to isdigit.
28126         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
28127         (next_state): Now unsigned char array; redo elements.
28128         (result_type): Now signed char array; redo elements.
28129         (__strverscmp): Fix glibc bug 9913 by using new states.
28130         * tests/test-strverscmp.c (main): Test glibc bug 9913.
28132 2016-08-29  Jim Meyering  <meyering@fb.com>
28134         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
28135         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
28136         similarly to how it was done to intprops.h.
28138 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
28140         intprops.h: port recent changes to GCC 6.2.0
28141         * lib/intprops.h (__has_builtin): Move earlier.
28142         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
28143         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
28144         the last argument can be null.  All uses changed.
28145         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
28146         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28147         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
28148         and it's not clear which GCC versions it works for.
28149         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
28150         its definiens.
28152         intprops.h: use __typeof__ with GCC 7
28153         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
28154         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
28155         This avoids computing the expression's value (which might overflow!).
28157 2016-08-29  Jim Meyering  <meyering@fb.com>
28159         intprops.h, xalloc-oversized.h: work with gcc 7
28160         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
28161         __builtin_mul_overflow each accept a NULL pointer as the third
28162         argument.  However in gcc 7, that is no longer accepted.
28163         Instead, one must use the "_p"-suffixed names, with which, the
28164         third parameter is no longer a pointer.
28165         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
28166         the definition: not true for gcc 7 and subsequent.
28167         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
28168         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28169         Provide new definitions for gcc 7 and subsequent.
28170         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
28171         that works with gcc-7.
28173         intprops.h: fix missing-backslash problems
28174         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
28175         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
28177 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28179         intprops: fix paren typo on old platforms
28180         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
28181         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
28182         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
28183         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
28184         && !defined LLONG_MAX]:
28185         Remove stray paren.
28187         intprops: port to OpenVMS
28188         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
28189         * doc/posix-headers/limits.texi: Document the problem.
28190         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
28191         Define if not already defined.
28193 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
28195         parse-datetime: improve debug implementation
28196         Follow-up to commit 12ad79069 ("add optional debug printing").
28197         Improve parse-datetime's debug implementation: remove macros,
28198         replace global debug flag variable with a function parameter,
28199         use nstrftime for formatting.
28200         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
28201         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
28202         (parse_datetime2): New function, accepts 'flags' parameter, supporting
28203         debug flag. Existing interface 'parse_datetime' left unmodified.
28204         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
28205         (struct parser_control): add 'parse_datetime_debug' member variable.
28206         (parse_datetime): Call new function 'parse_datetime2' without debug.
28207         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
28208         pc.parse_datetime_debug variable as needed.
28209         (to_year): Accept new flags parameter, instead of using global variable.
28210         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
28211         use struct 'debug' variable instead of global variable.
28212         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
28213         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
28214         correspnding functions directly instead of using macros.
28215         * modules/parse-datetime: Add gnulib's strftime module.
28217 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
28219         c-strcase-tests: port to EBCDIC
28220         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
28221         which assume ASCII encoding semantics to run only in ASCII
28222         mode, as they fail in EBCDIC.
28224         sigpipe-tests: fix typo
28225         * tests/test-sigpipe.sh: C, not B.
28227 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28229         canonicalize-lgpl: fix errno after malloca fails
28230         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
28231         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
28232         * lib/canonicalize-lgpl.c (__realpath):
28233         Don't assume malloca sets errno on failure.
28235 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28237         strtod: port errno handling to z/OS
28238         * lib/strtod.c (strtod): Save and restore errno more reliably.
28240 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28242         strtod: port to z/OS
28243         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28244         implementation.
28246 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28248         strtod: port to z/OS
28249         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
28250         implementation.
28252         regex, string: rename to avoid '__string'
28253         * lib/regex.h, lib/string.in.h: Do not use the identifier
28254         '__string', as it is effectively reserved by string.h on z/OS.
28256         c-strcase-tests, wcwidth-tests: depend on c-ctype
28257         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
28258         Add c-ctype.
28260 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
28262         thread: port to z/OS
28263         * lib/glthread/thread.c, lib/glthread/thread.h:
28264         Rudimentary gl_thread support for z/OS.
28266         maint: port tests to z/OS errno behavior
28267         * tests/test-nonblocking-reader.h:
28268         * tests/test-nonblocking-writer.h:
28269         Accommodate z/OS errno code preferences. (I believe this should
28270         still be within spec; IBM is good at following the letter if not
28271         the spirit of such things.)
28273         maint: preprocessor changes to support z/OS
28274         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
28275         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
28276         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
28277         * tests/test-nonblocking-pipe.h:
28279         fclose, strstr-simple, wchar: port to z/OS
28280         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
28281         Changes to the Autoconf M4 code to support z/OS.  Note that
28282         fclose() is broken in a different way on z/OS than it is on other
28283         systems, thus the special-case in fclose.m4.
28285         iconv_open-utf-tests, iconv-tests: port to EBCDIC
28286         * tests/test-iconv-utf.c, tests/test-iconv.c:
28287         Added appropriately conditional #pragmas so that the test strings
28288         in test-iconv-utf.c are correctly interpreted in ASCII instead of
28289         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
28290         addressed in a more portable way by simply rewriting all the ASCII
28291         literal characters as octal escapes, but then you would lose the
28292         partial readability that the strings have now. Also, iconv_open()
28293         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
28295         c-strcase-tests, wcwidth-tests: port to EBCDIC
28296         * tests/test-c-strcasecmp.c: Include c-ctype.h.
28297         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
28298         * tests/test-wcwidth.c: Likewise.
28300 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
28302         stdbool: don't require _Bool for C++
28303         Problem reported by David Seifert in:
28304         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
28305         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
28306         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
28307         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
28308         stricter about checking that bool and _Bool are compatible in C.
28310 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
28312         getdelim: remove dependency on realloc-posix
28313         * lib/canonicalize-lgpl.c (alloc_failed)
28314         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
28315         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
28316         Use __set_errno where needed, for consistency.
28317         * lib/getdelim.c (alloc_failed): New function.
28318         (getdelim): Use it.
28320 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
28322         parse-datetime: add optional debug printing
28323         Print parsing information, warnings, and errors to stderr.
28324         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
28325         * lib/parse-datetime.y:
28326         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
28327         (PROGRESS*): Same as DEBUG, for progress reporting.
28328         (dbg_printf): Print message to stderr, with 'date' prefix.
28329         (struct parser_control): Add 'debug_*_seen' variables.
28330         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
28331         (debug_print_current_time, debug_print_relateive_time): Prints the
28332         current/relative date/time value of parser_control.
28333         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
28334         (to_year): Warn about 2-digit year parsing.
28335         (yylex):   Warn about unrecognized words.
28336         (get_effective_timezone): Returns current timezone in minutes.
28337         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
28338         clearly and unambigiously as possible.
28339         (debug_mktime_not_ok): Print detailed information about failed
28340         date/time values.
28341         (parse_datetime): Add DEBUG messages for failures, warnings. Add
28342         PROGRESS messages for status messages.
28343         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
28345 2016-08-06  Jim Meyering  <meyering@fb.com>
28347         tests/init.sh: exclude dash with bad "local" semantics
28348         * tests/init.sh (gl_shell_test_script_): Add a function to
28349         eliminate a shell like "dash" (unlike bash, zsh) that has
28350         surprising/risky "local var='...'" semantics.  Inspired by
28351         the problem and discussion in https://bugs.gnu.org/24116#11.
28353 2016-08-02  Ján Tomko  <jtomko@redhat.com>
28355         maint.mk: expand the prohibit_doubled_word regex
28356         This check has a static list of words that are checked for
28357         repetitions.  Expand it before running the perl script to
28358         avoid using expensive captures.  This decreases the cost
28359         for libvirt from 1.66s to 0.66s.
28360         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
28361         (sc_prohibit_doubled_word): Use it.
28363 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28365         useless-if-before-free: skip non-matching lines early
28366         * build-aux/useless-if-before-free: First match each line with the
28367         simple/quick /\bif\b/ and reject if there is no match. This often
28368         saves the cost of the much more involved regular expression.
28369         For libvirt, this decreases the cost from 1.44s to 1.02s.
28371 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28373         maint.mk: speed up sc_po_check
28374         sc_po_check would skip files based on their names, or on the
28375         existence of files with derived names. Rewrite it to use perl
28376         instead of shell to make the check faster.
28377         * top/maint.mk (perl_translatable_files_list_): Define.
28378         (sc_po_check): Use it.
28380 2016-07-30  Ján Tomko  <jtomko@redhat.com>
28382         maint.mk: speed up require_config_h_first
28383         Instead of spawning three processes per file,
28384         rewrite the check in perl and run it once for all the files.
28385         * top/maint.mk (perl_config_h_first_): Define.
28386         (sc_require_config_h_first): Use it in place of shell code.
28388 2016-07-26  Ján Tomko  <jtomko@redhat.com>
28390         maint.mk: speed up sc_po_check
28391         sc_po_check would skip files based on their names, or on the
28392         existence of files with derived names. Rewrite it to use perl
28393         instead of shell to make the check faster.
28394         * top/maint.mk (perl_translatable_files_list_): Define.
28395         (sc_po_check): Use it.
28397 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28399         obstack: pacify GCC 6 with -Wnull-dereference
28400         Problem reported by Assaf Gordon in:
28401         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
28402         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
28403         Declare with __attribute_noreturn__.
28404         * lib/obstack.h (__attribute_noreturn__): New macro.
28406 2016-07-13  Eric Blake  <eblake@redhat.com>
28408         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
28409         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
28410         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
28412 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
28414         doc: mention glibc SSIZE_MAX buglet
28415         * doc/posix-headers/limits.texi (limits.h): Document the bug.
28417 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
28419         printf-posix: Fix mingw build
28420         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
28421         expression for detecting C symbol prefixes but forgot to qoute square
28422         brackets in the command line arguments for grep.  That way when
28423         building with mingw the condition was false although it ought to be
28424         true instead.  In particular scenarios this led to the following
28425         compile error:
28427             Cannot export rpl_printf: symbol not found
28428             Cannot export rpl_scanf: symbol not found
28429             collect2: error: ld returned 1 exit status
28431         Fix this by properly quoting square brackets.
28433 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
28435         mktime: call tzset as per POSIX
28436         Problem reported by Ludovic Courtès in:
28437         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
28438         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
28439         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
28441 2016-06-26  Pádraig Brady  <P@draigBrady.com>
28443         fts: handle readdir() errors
28444         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
28445         but also upon error when it will also set errno.  Therefore
28446         flag the error case from readdir().  We treat the case where
28447         no items are read the same as if the dir can't be accessed,
28448         i.e. by setting fts_errno to FTS_DNR.
28450 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
28452         intprops: port better to GCC 7
28453         GCC 7 __builtin_add_overflow supports a new usage form, where the
28454         last argument is a null pointer, and which merely returns 1 if an
28455         overflow would occur.  This is a constant expression if all
28456         arguments are constants, and should generate faster code when code
28457         needs to be generated.
28458         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
28459         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
28460         Use builtin operations if available.
28461         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
28462         operations are available, as it's almost surely faster.
28464 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28466         intprops-test: port to GCC 6
28467         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
28468         since the bug is not fixed in GCC 6.1.
28470 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
28472         xalloc-oversized: port to GCC 7; fewer warnings
28473         GCC 7 will have a better way to deal with integer overflow.
28474         Plus, fix a warnings problem reported by Tim Ruehsen in:
28475         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
28476         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
28477         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
28478         For GCC 5, use __xalloc_oversized if both args are constants,
28479         or if pedantic.
28481 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
28483         regex: port to Sun C
28484         Reported by Daiki Ueno.
28485         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
28486         __restrict, in prototype.  This fixes a problem I introduced in
28487         the 2016-02-19 merge from glibc.
28489 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
28491         stdbool: Restore __bool_true_false_are_defined check
28492         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
28493         __bool_true_false_are_defined is still defined, even with C++11.
28495 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
28497         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
28498         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
28500 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
28502         Use GCC_LINT, not lint
28503         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
28504         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
28505         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
28506         Document problem with lint and _Noreturn.
28507         * lib/diffseq.h (IF_LINT, IF_LINT2):
28508         * lib/fts.c (sccsid):
28509         * lib/getndelim2.c (IF_LINT):
28510         * lib/gl_anylinked_list2.h (gl_linked_iterator)
28511         (gl_linked_iterator_from_to):
28512         * lib/gl_anytree_list2.h (gl_tree_iterator)
28513         (gl_tree_iterator_from_to):
28514         * lib/gl_anytree_oset.h (gl_tree_iterator):
28515         * lib/gl_array_list.c (gl_array_iterator)
28516         (gl_array_iterator_from_to):
28517         * lib/gl_array_oset.c (gl_array_iterator):
28518         * lib/gl_carray_list.c (gl_carray_iterator)
28519         (gl_carray_iterator_from_to):
28520         * lib/idcache.c:
28521         * lib/inet_ntop.c (IF_LINT):
28522         * lib/regcomp.c (build_charclass_op, create_tree):
28523         * lib/regex_internal.c (re_acquire_state)
28524         (re_acquire_state_context):
28525         * lib/trigl.c (rcsid):
28526         * lib/trim.c (IF_LINT):
28527         * lib/vasnprintf.c (IF_LINT):
28528         * lib/verify.h (assume):
28529         Treat GCC_LINT like lint.
28531 2016-05-29  Bruno Haible  <bruno@clisp.org>
28533         secure_getenv: Port to many more platforms.
28534         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
28535         functions.
28536         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
28537         for non-BSD Unix platforms and for native Windows.
28538         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
28539         Prompted by a request from Nikos Mavrogiannopoulos.
28541 2016-05-27  Eric Blake  <eblake@redhat.com>
28543         canonicalize: Fix broken probe for realpath.
28544         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
28545         in logic introduced in 54615b95.
28547 2016-05-26  Eric Blake  <eblake@redhat.com>
28549         unsetenv: relax to LGPLv2+
28550         * modules/unsetenv (License): Match setenv license.
28552 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
28554         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
28555         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
28556         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
28557         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
28558         (commonarg, dirargs, dirs, infoarg, generate_ascii)
28559         (generate_html, generate_info, generate_tex, outdir)
28560         (source_extra, split, srcfile, texarg): Move above 'version'.
28561         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
28563 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28565         manywarnings: update for GCC 6.1
28566         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
28567         Add GCC 6.1 options that apply to C.
28568         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
28569         do not apply to C, are obsolescent, etc.
28571 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
28573         glob: size_t overflow checks
28574         * lib/glob.c (__has_builtin): New macro.
28575         (size_add_wrapv, glob_use_alloca): New static functions.
28576         (glob, glob_in_dir): Check for size_t overflow in several places,
28577         and fix some size_t checks that were not quite right.
28579         glob: don't assume INT_MAX < SIZE_MAX
28580         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
28581         latter is not portable to (probably theoretical) hosts where
28582         SIZE_MAX <= INT_MAX.
28584 2016-05-09  Bruno Haible  <bruno@clisp.org>
28586         Fix undefined behaviour in gettext.h.
28587         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
28588         pointer's value after the storage it points to has been freed.
28589         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
28590         Spotted by Coverity.
28592 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
28594         git-version-gen: avoid undefined shift
28595         Problem reported by Mosè Giordano in:
28596         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
28597         * build-aux/git-version-gen: Avoid undefined behavior if invoked
28598         with --prefix or --fallback but without a later argument.  While
28599         we're at it, omit unnecessary quotes.
28601 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
28603         glob: merge glibc changes into lib/glob.c
28604         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
28605         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
28606         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
28607           struct dirent [BZ #19779]
28608         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
28609           callback gl_readdir
28610         2015-10-20 Convert miscellaneous function definitions to prototype style
28611         2015-10-20 Convert 113 more function definitions to prototype style
28612           (files with assertions)
28613         2015-06-12 Fix getlogin_r namespace (bug 18527).
28614         2014-02-10 Use glibc_likely instead __builtin_expect.
28615         2013-10-20 When glob pattern contains a trailing slash match only
28616           directories. Fixes bug 10278.
28617         2013-09-04 glob: silence -Wattribute warnings
28618         2013-06-07 Avoid use of "register" as optimization hint.
28619         2012-09-25 Use size_t instead of int for internal variables in glob
28620           (bug 14621)
28621         2011-07-20 Check for overflows in expressions
28622         2011-05-28 Remove unused variable
28623         2011-05-22 Add a few more alloca size checks
28624         2010-03-27 Whitespace fixes
28625         2010-03-27 Fix one more issue with the glob patch
28626         2010-03-24 Fix glob with empty pattern
28627         2008-05-27 Remove useless more "if" tests before "free"
28628         * modules/glob (Depends-on): Add stdint.
28630 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
28632         mktime: port to stricter signed overflow checking
28633         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
28634         (long_int): Require width for INT_MAX * 3 * (seconds per year),
28635         instead of merely for INT_MAX * 2.  In practice platforms that
28636         do the latter also do the former.
28637         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
28638         (shr): New static function, replacing SHR.  All uses changed.
28639         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
28640         and TIME_T_MAX.  All uses changed.
28641         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
28642         Use long_int, not time_t.
28643         (long_int_avg): New static function, replacing time_t_avg.
28644         All uses changed.  Round toward positive infinity, as that
28645         generates slightly better code.
28646         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
28647         by INT_ADD_WRAPV.
28648         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
28649         (convert_time): New static function.
28650         (ranged_convert): Use it
28651         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
28652         Use simpler test for loop exit.
28653         (__mktime_internal): Store negative of guessed offset, to simplify
28654         overflow checking.  Remove no-longer-needed test for small time_t
28655         overflows.
28657         mktime: speed up DEBUG_MKTIME benchmarks
28658         Call tzset just once, at the start, rather than for every test
28659         case.  This lets us measure the CPU cost of mktime as opposed to
28660         that of tzset.  This is relevant when TZ is not set and glibc is
28661         being used.  This speeds up tests by a factor of 40 on my Fedora
28662         23 x86-64 platform.
28663         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
28664         to call tzset and as a sanity check.  Later on, use localtime_r
28665         instead of localtime.
28667         mktime: resurrect DEBUG_MKTIME testing
28668         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
28669         Include <string.h>, for strcmp.
28671         mktime: simplify DEBUG_MKTIME
28672         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
28673         Simplify later usage accordingly.
28675         Port mktime_internal offset to unsigned time_t
28676         This avoids some assumptions about wraparound arithmetic on
28677         signed integer overflow.
28678         * lib/mktime-internal.h (mktime_offset_t): New type.
28679         (mktime_internal): Use it in decl.
28680         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
28682         * lib/mktime.c (__mktime_internal, localtime_offset):
28683         * lib/timegm.c (timegm): Use it.
28684         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
28685         (gl_FUNC_MKTIME): Require it.
28687 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
28689         xstrtol: prohibit monstrosities like "1bB"
28690         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
28691         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
28692         "B" only if the first suffix needs a base.
28693         * tests/test-xstrtol.sh: Test this.
28695 2016-04-21  Pádraig Brady  <P@draigBrady.com>
28697         xstrtod: reinstate setting of *result upon ERANGE
28698         * lib/xstrtod.c (XSTRTOD): The user may decide to use
28699         the returned limits upon ERANGE, so allow and document that.
28701 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
28703         xstrtod: modify *result only if no errors
28704         * lib/xstrtod.c (XSTRTOD).
28706 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28708         btowc: document problems in C locale
28709         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
28710         with mbrtowc.  See: http://bugs.gnu.org/23269#32
28712 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28714         mktime: improve integer overflow checking
28715         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
28716         (WRAPV): Remove; no longer needed.
28717         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
28718         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
28719         Remove.  Use intprops.h defns instead.
28720         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
28721         Use bool for Boolean, for clarity.
28722         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
28723         detect integer overflow.
28724         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
28726         intprops: check two's complement assumption
28727         Suggested by Eric Blake in:
28728         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
28729         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
28730         short, int, long, and (if available) long long are two's complement.
28731         * modules/intprops (Depends-on): Add 'verify'.
28733         intprops, mktime, strtol: assume two's complement
28734         These macros were not portable to every conforming C11 ones'
28735         complement platform.  It's not worth the hassle of porting to some
28736         platforms that use ones' complement or signed magnitude, as such
28737         platforms are almost purely theoretical nowadays and porting even
28738         to some of them makes the code harder to review for little
28739         practical benefit.  Problem reported by Florian Weimer in:
28740         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
28741         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28742         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
28743         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
28744         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28745         (TYPE_SIGNED_MAGNITUDE):
28746         Remove.  All uses rewritten to assume two's complement, which is
28747         all we can reasonably test nowadays anyway.
28748         * top/maint.mk (_intprops_names): Remove the removed macros.
28750 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28752         stdint: port to strict C11 left shift
28753         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
28754         Pacify clang -Wshift-negative-value, which should be an issue only
28755         on clang setups where stdint.h does not conform to C11 or to C++11.
28756         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
28758 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
28760         mbrtowc: work around glibc bug#19932
28761         Fix mbrtowc so that it never returns -1 in the C locale,
28762         as this conflicts with a future version of POSIX
28763         http://austingroupbugs.net/view.php?id=663#c2738
28764         and causes problems with GNU grep: http://bugs.gnu.org/23234
28765         See glibc bug 19932:
28766         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
28767         * doc/posix-functions/mbrlen.texi (mbrlen):
28768         * doc/posix-functions/mbrtowc.texi (mbrtowc):
28769         Document the glibc bug.
28770         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
28771         Include hard-locale.h, locale.h.
28772         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
28773         if the bug is possible.
28774         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
28775         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
28776         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
28777         * modules/mbrtowc (Depends-on): Add hard-locale.
28778         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
28779         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
28780         * tests/test-mbrtowc5.sh: New file.
28782 2016-04-03  Pedro Alves  <palves@redhat.com>
28784         stdint: detect good enough pre-C++11 stdint.h in C++ mode
28785         When gnulib is configured in C++ mode for a system with a working C99
28786         implementation of stdint.h that predates C++11, gnulib ends up
28787         substituting stdint.h anyway.  This works on most targets, but on e.g.,
28788         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
28789         MinGW is LLP64.  Instead of trying to detect the right types, detect
28790         good-enough-pre-C++11 stdint.h and in such case define
28791         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
28792         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
28793         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
28794         conforms to C99.  If it does, check whether it hides symbols
28795         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
28796         does, define those macros in config.h.
28798 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28800         argp: merge changes from glibc
28801         Among other things, this should fix problems found by a Coverity
28802         scan and reported by Andrei Borzenkov:
28803         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
28804         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
28805         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
28806         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
28807         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
28808         * lib/argp.h:
28809         Merge changes from glibc.
28810         * tests/test-argp-2.sh: Adjust to match new behavior.
28812 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
28814         stddef: support configuring with g++
28815         Problem reported by Ángel González in:
28816         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
28817         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
28818         Do not define if _GCC_MAX_ALIGN_T is defined.
28820 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28822         test-framework-sh: minor cleanups
28823         * tests/init.sh (testdir_prefix_): Output a trailing newline,
28824         since strictly speaking POSIX requires this.
28825         (setup_): Do not use the variable 'fail', as that makes the
28826         trace output harder to read ('fail' is typically used by
28827         tests to mean the test failed).  Treat // portably.
28828         Check that new directory is not merely a sibling of the tmp dir.
28829         Avoid unnecessary invocation of tr.
28831         test-framework-sh: revert port to NetBSD 7.0
28832         It was a false alarm; I misinterpreted Assaf Gordon's report.
28833         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28834         Restore.
28835         (test_dir_): Adjust to mktempd_ change.
28836         (mktempd_): Restore 2nd arg.  Use -t again.
28837         (base_template_, template_, nx_): Resurrect old code.
28839         Port better to Alpine Linux
28840         Its diff implementation does not support -c, but does support -U3.
28841         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28842         * tests/init.sh (diff_opt_): New var.
28843         (compare_): Prefer diff -U3 to diff -c to plain diff.
28845 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
28847         test-framework-sh: port to NetBSD 7.0
28848         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28849         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28850         Remove.  All uses removed.
28851         (test_dir_): Adjust to mktempd_ change.
28852         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
28853         (base_template_, template_, nx_): Simplify by hardcoding.
28855 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
28857         gitlog-to-changelog: suppress ignored chatter
28858         * build-aux/gitlog-to-changelog: Do not warn about skipping
28859         an SHA if it would have been ignored anyway.
28861 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
28863         setlocale: add "sv" to Windows language table
28864         * lib/setlocale.c (language_table) [W32]: Add "sv".
28865         Reported in <https://savannah.gnu.org/bugs/?44588>.
28867 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28869         sys_select: port to new Cygwin
28870         Problem reported by Ken Brown in:
28871         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
28872         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
28873         diagnostics.
28875 2016-03-17  Jim Meyering  <meyering@fb.com>
28877         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
28878         * tests/test-userspec.c (main): Remove unnecessary braces and fix
28879         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
28880           test-userspec.c:176:9: error: statement is indented as if it were \
28881             guarded by... [-Werror=misleading-indentation]
28882                    {
28883                    ^
28884           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
28885                  if (!diag && !T[i].result)
28886                  ^~
28888 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
28890         time_rz: port to clang -Wunused-const-variable
28891         * lib/time_rz.c (TZ): Remove.  All uses removed.
28893         std-gnu11: improve clang support
28894         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
28895         2016-03-15 Also try clang
28896         2016-03-15 Port C11 and C++11 testing to clang
28898         select: port more to Intel 2016.1.150 compiler
28899         Problem reported by Balázs Hajgató in:
28900         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
28901         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
28903 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28905         select: try to port to 2016.1.150 compiler
28906         Problem reported by Balázs Hajgató in:
28907         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
28908         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
28909         POSIX specifies 'restrict'.
28911 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
28913         localename-tests: memory allocation fixes
28914         * tests/test-localename.c (test_locale_name)
28915         (test_locale_name_thread): Don't call freelocale on a locale
28916         that was the base of a successful newlocale, as that
28917         results in a double free.  Problem reported by Assaf Gordon.
28918         (test_locale_name_thread): Free saved names after use, to pacify
28919         gcc -fsanitize=address.
28921 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28923         intprops: make .h file license match module
28924         * lib/intprops.h: Change the license wording to match glibc format.
28925         This is what is in modules/intprops anyway.  See:
28926         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
28928 2016-03-08  Eric Blake  <eblake@redhat.com>
28930         acl: fix missing return on Cygwin
28931         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
28932         fall off end of function. Fixes http://bugs.gnu.org/22949
28934 2016-03-05  Bruno Haible  <bruno@clisp.org>
28936         extern-inline: port to PGI CC
28937         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
28938         keyword 'inline'.
28939         Reported by Adam James Stewart in:
28940         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
28942 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
28944         signbit: port back to pre-C++11 GCC
28945         * lib/math.in.h (signbit): Do previous change only if
28946         __cplusplus < 201103.  See Jonathan Wakely in:
28947         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
28949 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
28951         mountlist: recognize autofs-mounted remote file systems, too
28952         Originally reported at: https://bugzilla.redhat.com/1309247
28953         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
28954         "-hosts" because it is used by autofs to mount remote file systems.
28956 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
28958         signbit: port to C++ with GCC 6
28959         * lib/math.in.h (signbit) [__cplusplus]:
28960         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
28961         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
28963         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
28965         regex: make it closer to libc
28966         Make Idx a signed type, rather than possibly unsigned.
28967         The unsignedness was not really buying us anything, since the code
28968         overflows for other reasons before getting to PTRDIFF_MAX.  Making
28969         it signed allows us to use -1 and -2 with abandon, like libc does,
28970         thus lessening the number of differences between gnulib and libc.
28971         Also, it should help avoid gratuitous warnings like the one
28972         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
28973         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
28976         regex: merge patches from libc
28978         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
28979         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
28980         Convert miscellaneous function definitions to prototype style.
28981         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
28982         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
28983         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
28984         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
28985         (re_search_internal):
28986         Convert to prototype-style function definition.
28987         Use internal_function for internal functions.
28989 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
28991         stdalign: port to older HP and IBM cc
28992         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
28993         C compilers, by checking their version numbers.  These version
28994         numbers appear in MariaDB and in Qt code that dates way back and
28995         that conditiionally uses the 'aligned' attribute.
28997 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
28999         stdalign: port to clang 3.7.0
29000         Problem reported by Herbert J. Skuhra in:
29001         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
29002         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
29003         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
29004         https://llvm.org/bugs/show_bug.cgi?id=26547
29006 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29008         readdir_r: now obsolescent
29009         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
29010         * lib/mountlist.c (read_file_system_list): Add a FIXME.
29012 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29014         misc: port better to gcc -fsanitize=address
29015         Without these patches, ./configure CFLAGS='-fsanitize=address'
29016         would compute incorrect values.  This patch fixes some (but not all)
29017         test failures with recent glibc, with this configuration.
29018         * m4/acl.m4 (gl_ACL_GET_FILE):
29019         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
29020         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
29021         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
29022         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
29023         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
29024         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
29025         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
29026         * m4/getline.m4 (gl_FUNC_GETLINE):
29027         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
29028         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
29029         * m4/regex.m4 (gl_REGEX):
29030         * m4/strndup.m4 (gl_FUNC_STRNDUP):
29031         * tests/test-calloc-gnu.c (main):
29032         * tests/test-duplocale.c (main):
29033         * tests/test-getgroups.c (main):
29034         * tests/test-getline.c (main):
29035         * tests/test-inttostr.c (main):
29036         * tests/test-localename.c (test_locale_name)
29037         (test_locale_name_thread, test_locale_name_environ)
29038         (test_locale_name_default):
29039         * tests/test-regex.c (main):
29040         * tests/test-setlocale1.c (main):
29041         * tests/test-stat.h (test_stat_func):
29042         Free heap-allocated storage before exiting.
29043         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
29044         Don't match *_foo symbols inserted by AddressSanitizer.
29045         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
29047 2016-02-02  Jim Meyering  <meyering@fb.com>
29049         verify-tests: also remove stray test-verify.Tpo
29050         * modules/verify-tests (Makefile.am): Arrange for "make clean"
29051         to remove the test-verify.Tpo file that is left behind by
29052         the automake-generated rule upon compilation failure.
29053         Otherwise, that .Tpo file would cause a failed "make distcheck"
29054         at least for grep.
29056 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
29058         std-gnu11: new module
29059         This makes it easier for applications to prefer C11 and C++11
29060         to older variants, when compiling C and C++ code.
29061         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
29062         a nontrivial chunk of GPLed Autoconf source code.
29063         * COPYING: Mention the m4/*.m4 copyright situation.
29064         * MODULES.html.sh (std-gnu11): New module.
29065         * m4/std-gnu11.m4, modules/std-gnu11: New files.
29067 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
29069         get-permissions, strftime: fix grammar in comments
29070         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
29071         some grammar fixes Alan Mackenzie made to GNU Emacs.
29073 2016-01-25  Daiki Ueno  <ueno@gnu.org>
29075         gettext: mark as obsolete
29076         Suggested by Paul Eggert in:
29077         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
29078         * modules/gettext (Status): Mark as obsolete.
29079         (Notice): Suggest to use 'gettext-h' instead.
29080         * modules/gettext-h (Description): Suggest GNU gettext, instead of
29081         the 'gettext' module.
29083 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29085         gnulib-tool: don't give up on ln -s so easily
29086         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
29087         because an earlier one failed.  The targets could be on different
29088         file systems.  Problem reported by KO Myung-Hun in:
29089         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
29091         closedir: fix OS/2-related typos
29092         Problem reported by KO Myung-Hun in:
29093         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
29094         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
29095         in the last couple of changes.
29097 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
29099         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
29100         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
29101         copying a directory.
29103 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
29105         regex: treat [x] as x if x is a unibyte encoding error
29106         Problem reported by Aharon Robbins in:
29107         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
29108         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
29109         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
29111         closedir, dirfd, opendir: port to OpenSolaris 5.10
29112         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
29113         * m4/dirfd.m4 (gl_FUNC_DIRFD):
29114         * m4/opendir.m4 (gl_FUNC_OPENDIR):
29115         Don't use ${word##pat} substitution, as it doesn't work in
29116         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
29117         http://bugs.gnu.org/22443#11
29119 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29121         bootstrap: use American spelling
29122         * build-aux/bootstrap: Honor American spelling.
29124 2016-01-22  Karl Berry  <karl@freefriends.org>
29126         * doc/posix-functions/localtime.texi,
29127         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
29129 2016-01-21  Bruno Haible  <bruno@clisp.org>
29131         hash-pjw-bare: fix comment
29132         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
29134         wcwidth: Replace also on OpenBSD 5.8
29135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
29136         * doc/posix-functions/wcwidth.texi: Update.
29138 2016-01-20  Pádraig Brady  <P@draigBrady.com>
29140         gnu-web-doc-update: fix addition of new files
29141         If there were already added (emnpty) dirs,
29142         then cvs aborts the add with the message:
29143           cvs [add aborted]: there is a version in <./dirname> already
29144         * build-aux/gnu-web-doc-update: Add directories separately
29145         to the addition of files, to avoid the above issue
29146         impacting the addition of files.
29148 2016-01-19  Daiki Ueno  <ueno@gnu.org>
29150         utimens-tests: avoid pulling gettext .m4 files
29151         Although this is not the right fix to the original problem:
29152         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
29153         it makes it possible again for consumer projects to use arbitrary
29154         version of gettext, through the steps described at:
29155         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
29156         See here for details:
29157         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
29158         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
29159         'gettext'.
29160         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
29161         'gettext'.
29163 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
29165         regex: pacify static checkers
29166         Problem and draft fix reported by Aharon Robbins in:
29167         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29168         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
29169         Clear memory to pacify static checkers.
29171         regex: fix [ diagnostic
29172         Problem and fix reported by Aharon Robbins in:
29173         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29174         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
29176         regex: fix memory leaks
29177         Problem and draft fix reported by Aharon Robbins in:
29178         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
29179         * lib/regcomp.c (build_range_exp, build_charclass_op)
29180         * lib/regex_internal.c (re_dfa_add_node):
29181         Fix memory leak on failure.
29183 2016-01-18  Pádraig Brady  <P@draigBrady.com>
29185         fts: don't unconditionally use leaf optimization for NFS
29186         NFS st_nlink are not accurate on all implementations,
29187         leading to aborts() if that assumption is made.
29188         See <https://bugzilla.redhat.com/1299169>
29189         * lib/fts.c (leaf_optimization_applies): Remove NFS from
29190         the white list, and document the issue.
29192 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29193             KO Myung-Hun  <komh@chollian.net>
29195         gnulib-tool: don't assume ln -s works
29196         * gnulib-tool (func_ln_s): New function.
29197         (func_ln): Use it.
29199 2016-01-15  KO Myung-Hun  <komh@chollian.net>
29201         utimes: detect utimes() correctly on OS/2 kLIBC
29202         utimes() of OS/2 kLIBC has some limitations.
29203         1. OS/2 itself supports a file date since 1980 year in local time.
29204         2. OS/2 itself supports only even seconds for a file time.
29205         3. utimes() of OS/2 kLIBC does not work on an opened file.
29206         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
29207         * doc/posix-functions/utimes.texi: Document the above limitations of
29208         utimes() on OS/2 kLIBC.
29210 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29211             KO Myung-Hun  <komh@chollian.net>
29213         openat_proc_name: port to OS/2 kLIBC
29214         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
29215         instead of /proc/self/fd.
29216         * lib/openat-proc.c (openat_proc_name):
29217         Don't assume file name length is less than INT_MAX.
29218         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
29220 2016-01-14  KO Myung-Hun  <komh@chollian.net>
29222         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
29223         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
29224         definitions of intptr_t and uintptr_t (which use int and unsigned)
29225         to avoid clashes with declarations of system functions like sbrk.
29226         * lib/stdint.in.h (intptr_t, uintptr_t): Check
29227         _INTPTR_T_DECLARED before defining them.
29229         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
29230         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
29231         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
29232         Declare on kLIBC.
29233         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
29234         fd associated with dirp.
29235         (_gl_register_dirp_fd): New. Register fd associated with dirp to
29236         dirp_fd_list.
29237         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
29238         (dirfd): Implemented for kLIBC.
29239         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
29240         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
29241         succeeds.
29242         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
29243         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29244         (REPLACE_DIRFD): Define to 1 if replaced.
29245         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
29246         * modules/closedir (Depends-on): Add dirfd.
29247         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
29248         condition.
29249         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
29250         * modules/opendir (Depends-on): Add dirfd.
29252         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
29253         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
29254         * lib/dup.c (dup_nothrow): New.
29255         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
29256         (klibc_dup2): New.
29257         * lib/fcntl.c (klibc_fcntl): New.
29258         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
29259         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
29260         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
29261         fd.
29263         pipe_filter_ii_execute: port to OS/2 kLIBC
29264         Pipes on kLIBC do not support O_NONBLOCK like Win32.
29265         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
29266         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
29267         Reuse Win32 code on OS/2 kLIBC.
29268         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
29269         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
29271         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
29272         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
29273         static inline function.  The implementation of wcwidth in wcwidth.c
29274         causes a "conflicting types" error.
29275         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
29277         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
29278         spawn() on OS/2 kLIBC is not silly like one on Windows
29279         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
29280         empty string on OS/2 kLIBC.
29282         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
29283         On OS/2 kLIBC, select() works only on sockets.
29284         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
29286         binary-io: don't put fd in binary mode if it is a console on EMX
29287         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
29288         a console on EMX.
29290 2016-01-15  Pádraig Brady  <P@draigBrady.com>
29292         doc: mention unfixed issues with unsupported localtime() values
29293         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
29294         returns nonsense for localtime(2^56).
29295         * doc/posix-functions/localtime_r.texi: Likewise.
29297 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29299         doc: mention setlocale() issues on OpenBSD
29300         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
29301         never fails, and the need to check categories individually.
29303 2016-01-14  Pádraig Brady  <P@draigBrady.com>
29305         sig2str: list all signals on FreeBSD >= 7
29306         FreeBSD >= 7 is contravening POSIX by not defining NSIG
29307         to the maximal statically defined signal value.
29308         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
29309         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
29310         where available, even when NSIG is defined.
29312 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29314         acl-permissions: port to USE_ACL==0 platforms
29315         I ran into this problem when building bleeding-edge GNU Emacs
29316         with gcc -fsanitize=address on Fedora 23.  On this platform
29317         the ACL library does not pass the 'configure' test and Emacs
29318         then does not build due in part to what appear to be typos in the
29319         ACL part of Gnulib.
29320         * lib/acl-internal.c (free_permission_context):
29321         * lib/acl-internal.h (struct permission_context):
29322         Test whether USE_ACL is nonzero, not whether it is defined.
29324 2016-01-12  Martin Sebor  <msebor@redhat.com>
29326         mktime: rename macro to avoid glibc clash
29327         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
29328         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
29330 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29332         Port "$@" to OpenIndiana ksh93
29333         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
29334         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
29335         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
29336         bug long-dead shells, so remove the workaround.
29337         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
29338         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29339         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
29340         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
29341         Use "$@" instead of ${1+"$@"}.
29343         Port Universal Time settings to strict POSIX
29344         * build-aux/announce-gen, build-aux/bootstrap:
29345         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
29346         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
29347         * build-aux/gnupload, build-aux/mkinstalldirs:
29348         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
29349         * build-aux/update-copyright, build-aux/useless-if-before-free:
29350         * build-aux/vc-list-files, tests/test-strftime.c:
29351         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
29352         but POSIX says the behavior of TZ="UTC" is undefined.
29354 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
29356         msvc-inval: fix problem with unset shell var
29357         Problem reported by Karl Berry in:
29358         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
29359         * modules/msvc-inval (Depends-on):
29360         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
29361         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
29363 2016-01-01  Pádraig Brady  <P@draigBrady.com>
29365         tests: for compare_(), use cmp -s where available
29366         * tests/init.sh (compare_): Only fall back to cmp without
29367         the POSIX defined -s option, where this is not available.
29369 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29371         version-etc: new year
29372         * build-aux/gendocs.sh (version):
29373         * doc/gendocs_template:
29374         * doc/gendocs_template_min:
29375         * doc/gnulib.texi:
29376         * lib/version-etc.c (COPYRIGHT_YEAR):
29377         Update copyright dates by hand in templates and the like.
29378         * all files: Run 'make update-copyright'.
29380 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
29382         human: fix output buffer overrun by 1
29383         * lib/human.c (human_readable): Fix off-by-one typo in buffer
29384         calculation that could lead to a one-byte buffer overrun.
29386 2015-12-28  Daiki Ueno  <ueno@gnu.org>
29388         maint: fix operator precedence in mbrtowc test
29389         This is a fix for test breakage introduced by commit 45228d96; the
29390         equality expression must be parenthesized when negated with '!',
29391         otherwise we always get:
29393           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
29395         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
29396         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29398 2015-12-23  James Youngman  <jay@gnu.org>
29400         regexprops-generic: update from regex.h
29401         * doc/regexprops-generic.texi: update by running the regexprops binary
29402         from findutils (the command line is 'regexprops "Regular Expressions"
29403         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
29404         gnulib with GNU grep had made this document out-of-date.
29406 2015-12-23  Pádraig Brady  <P@draigBrady.com>
29408         strftime-tests: avoid false failure on OS X
29409         * tests/test-strftime.c (struct localtime_rz_test): Add an
29410         ahistorical member which is used to warn rather than fail
29411         when tm_isdst isn't set for such entries.  This is the case for
29412         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
29414 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
29416         fts: ensure leaf optimization is used for NFS
29417         NFS provides usable dirent.d_type but not necessarily for all entries
29418         of large directories.  See <https://bugzilla.redhat.com/1252549>
29419         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
29421 2015-12-20  Pádraig Brady  <P@draigBrady.com>
29423         fts: enable leaf optimization for XFS
29424         XFS provides usable dirent.d_type only for DT_DIR,
29425         but the noleaf optimization still applies.
29426         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
29428 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
29430         intprops: comment fix
29431         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
29432         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
29434         intprops-test: work around GCC bug 68971
29435         Problem reported by Pádraig Brady in:
29436         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
29437         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
29438         (main): Add a case that better tests 64-bit long in this area.
29440 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
29442         gnulib-tool: allow multiple --local-dir usage
29443         * gnulib-tool: Use --local-dir to construct compound
29444         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
29445         PATH_SEPARATOR early.
29446         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
29447         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
29448         func_determine_path_separator because that needs to be detected
29449         earlier now.
29450         (func_determine_path_separator): New function.
29451         (func_path_foreach, func_path_foreach_inner): New functions.
29452         (func_path_prepend, func_path_append): Likewise.
29453         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
29454         (func_lookup_file, func_all_modules): Use new functions to work
29455         with local_gnulib_path.
29456         (func_modules_in_dir, func_exists_module): New callbacks for
29457         func_path_foreach.
29458         (func_exists_module, func_get_tests_module): Likewise.
29459         (func_is_local_file, func_should_symlink): New helper methods.
29460         (func_add_file, func_update_file): Use new func_should_symlink
29461         instead, DRY.
29462         (func_reconstruct_cached_local_gnulib_path): New helper.
29463         (func_reconstruct_cached_dir): New callback.
29464         (func_import): The cached_local_gnulib_dir renamed to
29465         cached_local_gnulib_path similarly to local_gnulib_dir.
29466         Use new func_reconstruct_cached_local_gnulib_path.
29467         (func_count_relative_local_gnulib_path): New sub-method.
29468         (func_create_testdir): Use func_should_symlink, DRY.
29469         (func_create_megatestdir): Use new functions to work with
29470         local_gnulib_path correctly.
29471         (func_append_local_dir): New helper.
29473 2015-12-08  Pádraig Brady  <P@draigBrady.com>
29475         fix freadptr to work with ungetc on all uClibc configs
29476         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
29477         where GNU coreutils cut(1) generates invalid output on uClibc
29478         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
29479         * lib/freadptr.c (freadptr): Return NULL if there are
29480         ungotten chars.  In this case freadseek() will iterate
29481         again to process the ungotten character.
29483 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
29485         xalloc-oversized: improve performance with GCC 5
29486         * lib/xalloc-oversized.h (xalloc_oversized):
29487         Improve performance with GCC 5 by using __builtin_mul_overflow.
29489 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
29491         intprops: new public macro EXPR_SIGNED
29492         Emacs can use this macro, so make it public.
29493         * doc/intprops.texi (Arithmetic Type Properties): Rename from
29494         'Integer Type Determination', since some of these macros apply
29495         to non-integer types.  Clarify what kinds of constant expressions
29496         these macros return.  Say when the arguments can be non-integers.
29497         Mention newly published macro EXPR_SIGNED.
29498         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
29499         make it public.  All uses changed.
29501         intprops: fix typo in clang port
29502         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
29503         '__builtin_add_overflow' that is not caught by compiler.
29505 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
29507         test-timespec: fix typo in previous change
29508         * tests/test-timespec.c (main): Fix typo that reduced test quality.
29510         timespec-sub: fix overflow bug; add tests
29511         * lib/timespec-add.c (timespec_add):
29512         * lib/timespec-sub.c (timespec_sub):
29513         Work even if time_t is narrower than int (a theoretical
29514         possibility).  Redo code for a bit more clarity.
29515         * lib/timespec-sub.c (timespec_sub):
29516         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
29517         * modules/timespec-tests, tests/test-timespec.c: New files.
29519         intprops-test: suppress -Woverlength-strings
29520         Problem reported by Pádraig Brady in:
29521         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
29522         It is not worth the hassle to port this test to compilers that
29523         cannot handle long strings in diagnostics.
29524         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
29526 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29528         quotearg: add quotearg_n_style_colon()
29529         This quotes with default options of the specified style,
29530         but with quoting enabled for instances of ':'.
29531         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
29532         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
29534 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
29536         intprops: revise _WRAPV macros, revert _OVERFLOW
29537         The incompatible changes to the _OVERFLOW macros were too much of
29538         a hassle in practice, so revert them.  Instead, change the new
29539         _WRAPV macros to make them closer in behavior to GCC 5's new
29540         builtin_add_overflow etc. functions.  No other software was using
29541         these newly-added macros yet, so this should be OK.
29542         * NEWS: Revert previous change, since the incompatible change
29543         has been reverted, and nobody used the incompatible version.
29544         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
29545         Document revised behavior.
29546         (Integer Range Overflow): Adjust example to match above revisions.
29547         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
29548         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
29549         these can be used in integer constant expressions again.
29550         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
29551         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
29552         needed.
29553         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29554         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29555         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
29556         Remove, as they did not seem that useful.
29557         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
29558         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
29559         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
29560         Support new semantics.
29561         (__has_builtin): New macro, if not alreay defined.
29562         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
29563         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29564         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29565         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29566         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
29567         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
29568         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
29569         New macros.
29570         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
29572 2015-11-03  Jim Meyering  <meyering@fb.com>
29574         intprops: add parentheses for when OP has precedence lower than "-"
29575         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
29576         "a OP b" must be parenthesized for when OP is like "<<", which has
29577         lower precedence than the following "-". Reported by Pádraig Brady.
29579 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29581         quotearg: constify get_quoting_style parameters
29582         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
29583         * lib/quotearg.c (get_quoting_style): Likewise.
29585 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29587         quotearg: add support for $'' shell escaping
29588         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
29589         items and descriptions.
29590         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
29591         above types by quoting like "shell", but using $'...' syntax
29592         for non printable characters, which should provide unambiguous
29593         printable output for any input.
29594         * tests/test-quotearg-simple.c: Update accordingly.
29596 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29598         maint: use a more standard return from mbrtowc test
29599         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
29600         from the test program as this is non standard and often
29601         indicates an unhandled case in the test program.
29602         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29604 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
29606         intprops: add WRAPV and const flavors for GCC 5
29607         If available, use GCC 5's builtin functions for efficient integer
29608         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
29609         and safely compute the low-order bits of the correct answer.
29610         A downside of these efficient functions is that they cannot be
29611         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
29612         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
29613         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
29614         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
29615         Document the changes.
29616         (Wraparound Arithmetic): New section.
29617         (Integer Range Overflow):
29618         Put this subsection last, since it's least useful.
29619         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
29620         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
29621         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
29622         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29623         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29624         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
29625         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
29626         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
29627         New macros.
29628         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
29629         Generate calls to GCC builtins if available, for speed.
29630         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29631         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29632         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29633         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
29634         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
29635         (CHECK_QUOTIENT, CHECK_REMAINDER):
29636         Test WRAPV and CONST flavors (when available) too.
29638 2015-10-30  Pádraig Brady  <P@draigBrady.com>
29640         doc: use extended timezone format in iso-8601 example
29641         * doc/parse-datetime.texi: The standard states that extended format
29642         is to be used consistently throughout.
29643         Note that lib/parse-datetime.y can handle either tz format.
29645 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
29647         stdalign: port to Sun C 5.9
29648         * doc/posix-headers/stdalign.texi: Document this.
29649         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
29650         __attribute__ ((__aligned__ (...))).
29652 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
29654         time_rz: fix comment about tzalloc
29655         * lib/time_rz.c (tzalloc): Fix comment.
29657 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29659         stdalign: work around pre-4.9 GCC x86 bug
29660         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
29661         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
29662         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
29664 2015-10-18  Pádraig Brady  <P@draigBrady.com>
29666         maint.mk: sc_tight_scope: remove extraneous expressions
29667         * top/maint.mk (tight_scope): This is not really required since
29668         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
29669         that matches all nm entries.  But it does remove extraneous entries
29670         that may be confusing or cause issue in future maintenance.
29672 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29674         time_rz: return NULL if localtime_r fails
29675         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
29676         while still attempting to pacify bleeding-edge GCC.
29678         fts: port to C11 alignof
29679         * doc/posix-headers/stdalign.texi (stdalign.h):
29680         Document the C11 restriction.
29681         * lib/fts.c: Include stddef.h, for max_align_t.
29682         (fts_alloc): Align using max_align_t, not FTSENT.
29683         * modules/fts (Depends-on): Add stddef.
29685 2015-10-18  Jim Meyering  <meyering@fb.com>
29687         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
29688         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
29689         would see this:
29691         lib/time_rz.c: In function 'localtime_rz':
29692         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
29693           [-Werror=nonnull]
29694                    if (tm && !save_abbr (tz, tm))
29695                        ^
29697         That was complaining about "tm" because it is a parameter that was
29698         declared with the __nonnull__ attribute.
29699         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
29700         result of localtime_r.
29702 2015-10-17  Jim Meyering  <meyering@fb.com>
29704         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
29705         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
29706         name-extraction regexp mistakenly used \S+, and would mistakenly
29707         extract "*F" from "extern int *F()" rather than the desired "F".
29708         Use \w+ instead.
29710 2015-10-17  Jim Meyering  <meyering@fb.com>
29712         maint.mk: sc_tight_scope: factor and support OS X
29713         * top/maint.mk (_gl_tight_scope): Address three issues:
29714         - factor out four instances of code that wraps a string in "^...$"
29715         - allow nm-reported symbol names to have an optional leading "_"
29716         - add "main" to the list of ignored variable names, because on os x,
29717         "main" has nm-reported type "S" in the variable-checking section.
29719 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
29721         safe-alloc-tests: fix typo in license header
29722         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
29724 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
29726         copy-file: fix mem leak in error case
29727         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
29728         upon error opening or performing I/O to the src and dest files.
29730 2015-10-15  Mike Frysinger  <vapier@chromium.org>
29732         localename: control langinfo.h inclusion
29733         This header is only used to work around buggy behavior in old
29734         versions of glibc, so do not include it all the time.  Otherwise
29735         we get build failures on systems that do not provide langinfo.h.
29736         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
29737         in the source later on.
29738         The patch was originally submitted to gettext as:
29739         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
29741 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29743         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
29744         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
29745         * lib/u64.c, lib/unistd.c:
29746         Append 'typedef int dummy;', to pacify compilers that are picky
29747         about empty translation units.
29749 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
29751         accept4-tests: fix to avoid non portable flags
29752         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
29753         as they are the only documented ones, and passing others may trigger
29754         EINVAL (seen on FreeBSD 10.1-RELEASE).
29755         * doc/glibc-functions/accept4.texi: Mention that we don't provide
29756         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
29758 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
29760         gnulib-tool: fix tests of 'extensions' module
29761         This complements f8fe25fab60e3c687a124 commit.
29762         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
29763         emitting of initial gl_EARLY macros.
29764         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
29765         replaced with func_emit_pre_early_macros call.
29767 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
29769         unicase/locale-language: fix typo in utf-8 cookie
29770         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
29771         Problem reported by Zbigniew Jędrzejewski-Szmek.
29773 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
29775         xalloc: do not worry about GCC 5 warning on 32 bit
29776         * lib/xalloc.h: Revert previous change.
29777         I found a better way to fix this in coreutils.
29779 2015-10-02  Pádraig Brady  <P@draigBrady.com>
29781         xalloc: avoid GCC 5.1 warning on 32 bit
29782         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
29783         xalloc_oversized(), which was seen to give this warning
29784         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
29785         when simplifying conditional".
29787 2015-10-02  Daiki Ueno  <ueno@gnu.org>
29789         uniname/uniname-tests: avoid compiler warnings
29790         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
29791         unused local variables.
29792         (test_alias_lookup): Fix alias name display in failure cases.
29794 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
29796         c-ctype: do not worry about EBCDIC + char signed
29797         Drop support for EBCDIC with char being signed, as this breaks too
29798         many programs.  Problem reported by Ben Pfaff in:
29799         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
29800         * lib/c-ctype.h: Verify that we are not using EBCDIC with
29801         char being signed.
29802         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
29803         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
29804         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
29805         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
29806         * tests/test-c-ctype.c (test_all):
29807         Simplify by assuming standard char values cannot be negative.
29808         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
29810 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29812         c-ctype: port better to z/OS EBCDIC
29813         Problems reported by Daniel Richard G. in:
29814         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
29815         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
29816         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
29817         (_C_CTYPE_OTHER_CNTRL): New macro.
29818         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
29819         from SCHAR_MIN, as the functions are defined only from values
29820         promoted from char or from unsigned char, not necessarily from
29821         signed char.
29823 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
29825         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
29827         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
29828         and ARFLAGS variables.  Doing this unconditionally could break
29829         later Automake's AM_PROG_AR invocation (at least it's
29830         AC_CHECK_TOOLS call to detect correct 'ar' binary).
29832         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
29833         Amsterdam Compiler Kit, so make the previous code to have effects
29834         only on ACK, and rather automatically call the Automake's
29835         AM_PROG_AR as soon as possible to decide other cases.
29837         References:
29838         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
29840         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
29841         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
29842         is possible, keep setting AR/ARFLAGS to reasonable defaults.
29843         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
29844         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
29845         'extensions' module is used.
29846         * modules/extensions (configure.ac-early): Remove as this snippet
29847         is added to gnulib-comp.m4 earlier anyway.
29849 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29851         sockets: MS Windows initalization fixes
29852         Problem reported by Test User in:
29853         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
29854         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
29855         Correct the endianness.
29856         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
29857         number mismatch, not just on <.  Cleanup before any such failure.
29859 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
29861         gc: fix detection of installed libgcrypt version
29862         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
29863         at least as recent as 1.4.4.  The previously used macro is not
29864         available now, since modules were removed in version 1.6.0.
29866 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29868         c-ctype: rewrite to use inline functions
29869         This simplifies maintenance, since it makes for just one
29870         implementation of each function, letting the compiler have the fun
29871         of optimization.  In practice this works well nowadays with GCC.
29872         E.g., c_isascii might need only three instructions even though the
29873         source code lists every ASCII character individually in a large
29874         switch statement.
29875         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
29876         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
29877         * NEWS: Document the API change.
29878         * lib/c-ctype.c: Drastically simplify, since this now just expands
29879         inline functions.
29880         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
29881         (C_CTYPE_INLINE): New macro.
29882         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
29883         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
29884         Verify that either ASCII or EBCDIC is being used.
29885         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
29886         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
29887         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
29888         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
29889         New private macros.
29890         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
29891         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
29892         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
29893         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
29894         (c_tolower, c_toupper): When converting, return the unsigned char,
29895         as that is what z/OS does.
29896         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
29897         of some c-ctype.h macros.
29898         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
29899         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
29900         c_tolower promotion to be compatible with z/OS.
29902 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
29904         gitlog-to-changelog: trim only trailing whitespaces
29905         This is fix for --format regression introduced by commit
29906         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
29907         doubled %n string) had no effect anymore.  This format
29908         specification has been used e.g. by GNU paxuitils (commit
29909         edfd8bcc3).
29911         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
29912         newlines in commmit messages.
29914 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
29916         Test that c_iscntrl agrees with iscntrl, etc.
29917         Suggested by Daniel Richard G. in:
29918         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
29919         * modules/c-ctype-tests (Depends-on): Add ctype.
29920         * tests/test-c-ctype.c: Include <ctype.h>.
29921         (NCHARS): New constant.
29922         (test_agree_with_C_locale): New function.
29923         (main): Use it.
29924         (test_all): Use named constants.
29926         c-ctype: improve c_isascii testing
29927         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
29928         Add a test to count the number of ASCII characters.
29930 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29932         savewd: remove SAVEWD_CHDIR_READABLE
29933         It was problematic in the light of file systems that ignore umask.
29934         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
29935         * NEWS: Document this.
29936         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
29937         successful, -1 (setting errno) on failure, rather than something
29938         more complicated than that.
29939         * lib/mkdir-p.c (make_dir_parents):
29940         Do not use SAVEWD_CHDIR_READABLE.
29941         * lib/savewd.c (savewd_chdir):
29942         Remove support for SAVEWD_CHDIR_READABLE.
29943         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
29945         c-ctype: port better to EBCDIC
29946         Problems reported by Daniel Richard G. in
29947         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
29948         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
29949         Include "verify.h".
29950         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
29951         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
29952         Define as enum constants with value false, if not defined, so that
29953         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
29954         code more portable, as both branches of the 'if' are compiled on
29955         all platforms.
29956         (C_CTYPE_EBCDIC): New constant.
29957         Verify that the character set is either ASCII or EBCDIC.
29958         (to_char): New static function.
29959         (c_isascii, c_iscntrl):
29960         Assume standard control-character assignments for EBCDIC.
29961         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
29962         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
29963         Rewrite to use 'if' instead of 'ifdef'.
29964         Use to_char if non-ASCII.  Prefer <= to >=.
29965         Prefer true and false to 1 and 0, for booleans.
29966         (c_iscntrl): Use 'if', not 'ifdef'.
29967         * modules/c-ctype (Depends-on): Add verify.
29968         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
29969         (to_char): New function.
29970         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
29972 2015-09-21  Pádraig Brady  <P@draigBrady.com>
29974         nanosleep: fix return code for interrupted replacement
29975         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
29976         that we return -1 in the case the call is interrupted by a signal,
29977         rather than the current value of 1.
29978         Diagnosed and tested by Daniel Richard G.
29980 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
29982         Diagnose ERE '()|\1'
29983         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
29984         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
29985         track of the set of previously-completed subexpressions available
29986         before the first alternative, and restore this set just before
29987         parsing each subsequent alternative.  This lets us diagnose the
29988         invalid back-reference in the ERE '()|\1'.
29990         regex: merge patches from libc
29992         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
29993         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
29994         * lib/regex_internal.h:
29995         Include <libc-lock.h> instead of <bits/libc-lock.h>.
29997         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
29998         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
29999         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
30000         wcscoll.
30001         * lib/regexec.c (check_node_accept_bytes): Likewise.
30003         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30004         Fix regex wcrtomb namespace (bug 18496).
30005         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
30006         instead of wcrtomb.
30008         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
30009         Fix regex wctype namespace (bug 18495).
30010         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
30011         instead of towlower.
30012         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
30013         instead of iswlower.  Call __towupper instead of towupper.
30014         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
30015         instead of iswalnum.
30017         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
30018         * lib/regcomp.c (parse_bracket_exp): Initialize type to
30019         COLL_SYM in a couple of places to avoid uninitialized variable
30020         wanings on tilegx gcc 4.8.2.
30022         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
30023         * lib/regex_internal.h: Remove NOT_IN_libc.
30025         2014-11-17  Andreas Schwab  <schwab@suse.de>
30026         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
30028         2014-09-11  Roland McGrath  <roland@hack.frob.com>
30029         Move findidx nested functions to top-level.
30030         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
30031         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
30032         Pass new arguments to findidx.
30033         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
30034         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
30035         Don't #include it inside the function.  Pass new arguments to findidx.
30036         * lib/regex_internal.h:
30037         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
30038         (re_string_elem_size_at): Don't #include it inside the function.
30039         Pass new arguments to findidx.
30041         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
30042         Check if DEBUG is defined in regex_internal.c
30043         * lib/regex_internal.c: Check if DEBUG is defined and is set.
30045 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
30047         ceill: detect buggy OpenBSD implementation
30048         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
30049         which returns zero for small values.  Discussed here:
30050         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
30052 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
30054         mountlist: add me_mntroot field on Linux machines
30055         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
30056         mount_entry so Linux machines based on /proc/self/mountinfo can
30057         distinguish between bind mounts and original mounts.  In reality bind
30058         mounts aren't treated differently than mountroot=/ mounts by the
30059         kernel, but the user often wants these bind mounts distinguished.
30060         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
30061         More details at https://pad.lv/1432871
30063 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
30065         doc: Describe to use multiple instances of gnulib
30066         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
30067         instances of gnulib with different modules can be used, for example one
30068         for a lib and another one for associated tools.
30070 2015-09-01  Pádraig Brady  <P@draigBrady.com>
30072         base32: mark function as __attribute__ const
30073         * lib/base32.h (isbase32): Mark __attribute__ const as
30074         suggested by GCC, and consistent with the base64 module.
30076 2015-08-20  Daiki Ueno  <ueno@gnu.org>
30078         gnulib-tool: don't transform binary files with sed
30079         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
30080         .mo and .class files.
30081         Reported by Denis Denisov.
30083 2015-08-10  Daiki Ueno  <ueno@gnu.org>
30085         gperf: respect silent rules
30086         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
30087         V_GPERF_0 for silent rules.
30088         * modules/iconv_open (Makefile.am): Use V_GPERF.
30089         * modules/unicase/locale-language (Makefile.am): Likewise.
30090         * modules/unicase/special-casing (Makefile.am): Likewise.
30091         * modules/unictype/category-byname (Makefile.am): Likewise.
30092         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
30093         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
30094         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
30095         * modules/unictype/property-byname (Makefile.am): Likewise.
30096         * modules/unictype/scripts (Makefile.am): Likewise.
30097         * modules/uninorm/composition (Makefile.am): Likewise.
30099 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
30101         Improve port of stdalign to C++11
30102         Problem reported by Sundaram in:
30103         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
30104         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
30105         (__alignas_is_defined): Define if C++11 or newer.
30107 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
30109         pmccabe2html: fix gawk regex escaping
30110         * build-aux/pmccabe2html: Add one more backslash to properly
30111         escape the gsub replacement value.  Fixes this error:
30112         gawk: ./build-aux/pmccabe2html:425: \
30113         warning: escape sequence `\&' treated as plain `&'
30115 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
30117         time_rz: port to pedantic memcpy
30118         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
30119         that reject memcpy (..., NULL, 0).
30121 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
30123         time_rz: port better to MinGW
30124         Don't change tzname, as this makes MinGW dump core (Bug#21020).
30125         Instead, store the tzname copy in the struct tm_zone object.
30126         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
30127         * lib/strftime.c [!_LIBC]:
30128         * lib/time_rz.c: Include time-internal.h.
30129         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
30130         name from *TZ rather than from TZNAME, doable because *TZ now has
30131         a tzname_copy member.
30132         * lib/time-internal.h: New file, with contents taken from
30133         lib/time_rz.c.  It's separate because strftime.c now accesses
30134         struct tm_zone members.
30135         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30136         New member tzname_copy.
30137         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
30138         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
30139         Initialize tzname_copy member.
30140         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
30141         in tzname_copy member.
30142         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
30143         (restore_tzname): Remove; no longer needed.  All calls removed.
30144         * modules/time_rz (Files): Add lib/time-internal.h.
30146         time: port __need_time_t to MinGW
30147         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
30148         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
30150 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
30152         strftime: fix newly-introduced bug on Solaris
30153         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
30154         consistently at the start, rather than doing some of the setup at
30155         the start and some in the %Z format spec.  This is cleaner, and
30156         works better with time_rz on platforms like Solaris where struct
30157         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
30158         mktime_z and localtime_rz can mess up the tzname cache.
30160         test-strftime: test for Solaris bug
30161         * modules/strftime-tests (Depends-on): Add strerror.
30162         * tests/test-strftime.c: Include <errno.h>.
30163         (posixtm_test): New function, containing the old 'main'.
30164         (struct tzalloc_test, struct localtime_rz_test): New types.
30165         (TZ, LT): New static vars.
30166         (tzalloc_test): New function.
30167         (main): Rewrite in terms of posixtm_test and tzalloc_test.
30169         time_rz: port to Solaris etc.
30170         Works around a tzname problem on platforms like Solaris that have
30171         tzname but not tm_zone, by setting tzname at the appropriate time
30172         and restoring it later.
30173         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
30174         New static vars.
30175         (save_abbr) [HAVE_TZNAME]: Set them.
30176         (revert_tz) [HAVE_TZNAME]: Clear or use them.
30177         (restore_tzname): New function.
30178         (localtime_rz, mktime_z): Use it.
30180         time_rz: now LGPL
30181         * modules/time_rz (License): Now LGPL, because strftime depends on it.
30183         time_rz: make a constant 'const'
30184         * lib/time_rz.c (local_tz): Now const.
30186         time_rz: fix off-by-one typo
30187         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
30189 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
30191         fprintftime, strftime: use timezone_t args
30192         * NEWS: Document the change.
30193         * lib/fprintftime.h (fprintftime):
30194         * lib/strftime.c (extra_args) [my_strftime]:
30195         * lib/strftime.h (nstrftime):
30196         Time zone arg is now of type timezone_t, not int.
30197         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
30198         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
30199         (my_strftime) [emacs && !my_strftime]:
30200         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
30201         Remove; Emacs doesn't need this any more.
30202         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
30203         fprintftime and nstrftime to call tzset.
30204         (ut) [!my_strftime]: Remove, replacing with ...
30205         (tz) [!my_stftime]: ... this new macro.  All uses changed.
30206         (strftime_case_): Use localtime_rz and mktime_z instead
30207         of localtime_r and mktime.
30208         * modules/fprintftime (Depends-on): Add time_rz.
30209         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
30210         * tests/test-strftime.c (main): Adjust to new nstrftime API.
30212         time_rz: new module
30213         * MODULES.html.sh: Add time_rz.
30214         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
30215         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
30216         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
30217         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
30218         New var HAVE_TIMEZONE_T (default 0).
30219         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
30220         New var GNULIB_TIME_RZ (default 0).
30221         * modules/time (time.h): Substitute the new vars.
30223         flexmember: license is now unlimited
30224         * modules/flexmember (License): Change to unlimited,
30225         since its only source file gives an unlimited license.
30227 2015-07-15  Eric Blake  <eblake@redhat.com>
30229         maint: update copyright paper procedures
30230         * config/srclist.txt: Drop outdated files.
30231         * doc/Copyright/conditions.txt: Update to latest.
30232         * doc/Copyright/assign.changes.manual: Delete.
30233         * doc/Copyright/assign.future.manual: Likewise.
30234         * doc/Copyright/assign.manual: Likewise.
30235         * doc/Copyright/assign.translation.manual: Likewise.
30236         * doc/Copyright/disclaim.changes.manual: Likewise.
30237         * doc/Copyright/disclaim.manual: Likewise.
30238         * doc/Copyright/disclaim.program: Likewise.
30240 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30242         localename: fix link error on Illumos
30243         Illumos defines __sun, but does not have getlocalename_l nor the
30244         equivalent.  This partially reverts commit 387c214.
30245         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
30246         available, as well as uselocale.
30247         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
30248         use getlocalename_l if it is not available.
30250 2015-07-07  Daiki Ueno  <ueno@gnu.org>
30252         unistr/uN-strtok-tests: avoid a trivial leak
30253         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
30254         input and delim after the multibyte delimiter tests.
30256 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
30258         file-has-acl, acl-permissions: fix HP-UX typos
30259         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
30260         * lib/file-has-acl.c (file_has_acl):
30261         * lib/set-permissions.c (context_acl_from_mode)
30262         (context_aclv_from_mode, set_acls):
30263         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
30264         They were introduced by the recent ACL changes.
30266         regex: match current GNU grep behavior
30267         These symbols have not matched GNU grep behavior for quite some time.
30268         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
30269         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
30270         Change to match current GNU behavior.
30271         Simplify by expressing it as differences from POSIX BREs and EREs.
30272         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
30274 2015-07-03  Jim Meyering  <meyering@fb.com>
30276         set-permissions.c: adjust acl_from_mode's cpp guard
30277         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
30278         directives identical to those guarding the sole use.
30279         Otherwise, on some systems, we'd get a warning about
30280         the function being defined but not used.
30281         Also, filter through cppi to correct misleading indentation
30282         of cpp directives.
30284 2015-07-03  Pádraig Brady  <P@draigBrady.com>
30286         tests: restrict shells to those that support 'local'
30287         The local keyword is very widely supported and used
30288         in tests in coreutils and grep at least.  Therefore
30289         restrict to testing with shells that support it.
30290         This mainly excludes /bin/sh on Solaris.
30291         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
30293 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
30294         and Daiki Ueno  <ueno@gnu.org>
30296         unistr/uN-strtok: handle multibyte delimiters
30297         Previously, uN_strtok moved PTR to the next unit to the token end.
30298         When DELIM contained a multibyte character, the new position could
30299         be a middle of a multibyte character.
30300         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
30301         after the token.
30302         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
30303         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
30304         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
30305         * modules/unistr/u8-strtok (Depends-on): Depend on
30306         unistr/u8-strmblen.
30307         * modules/unistr/u16-strtok (Depends-on): Depend on
30308         unistr/u16-strmblen.
30309         * modules/unistr/u32-strtok (Depends-on): Depend on
30310         unistr/u32-strmblen.
30311         * tests/unistr/test-u-strtok.h: New file.
30312         * tests/unistr/test-u8-strtok.c: New file.
30313         * tests/unistr/test-u16-strtok.c: New file.
30314         * tests/unistr/test-u32-strtok.c: New file.
30315         * modules/unistr/u8-strtok-tests: New file.
30316         * modules/unistr/u32-strtok-tests: New file.
30317         * modules/unistr/u16-strtok-tests: New file.
30319 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
30321         update-copyright: fix test failure with perl >= 5.22 (trivial)
30322         * build-aux/update-copyright: Escape a literal left curly bracket,
30323         required with perl >= 5.22
30325 2015-07-02  Daiki Ueno  <ueno@gnu.org>
30327         u{16,32}-strstr-tests: relax timeout condition
30328         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
30329         tests can take longer than 5 seconds to complete.
30330         Reported by Dagobert Michelsen in:
30331         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
30332         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
30333         seconds to 10 seconds.
30334         * tests/unistr/test-u32-strstr.c (main): Likewise.
30336 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30338         gnulib-common.m4: change the ARFLAGS default to 'cr'
30339         In some GNU/Linux distributions people started to compile 'ar'
30340         binary with --enable-deterministic-archives (binutils project).
30341         That, however, in combination with previous autotools long time
30342         working default AR{_,}FLAGS=cru causes warnings on such
30343         installations:
30344         ar: `u' modifier ignored since `D' is the default (see `U')
30345         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
30346         set already.
30348 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
30350         selinux-h: avoid double free after *getfilecon()
30351         Originally reported by Ben Shelton on bug-tar:
30352         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
30353         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
30354         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
30355         param should be freed by freecon(3) (regardless the return value).
30357 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
30359         fix pty related tests issues on Windows (trivial)
30360         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
30361         however it's still present in tests/ subdirectory of the final project.
30362         Therefore avoid it to pass `make check`.
30363         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
30364         will just return -ENOSYS, so avoid this non applicable test allowing
30365         the build to proceed.
30367 2015-07-01  Pádraig Brady  <P@draigBrady.com>
30369         acl: fix definition of acl_from_mode on FreeBSD
30370         This was causing basic coreutils copy operations to fail
30371         with ENOTSUP or ENOENT error messages.
30372         * lib/acl-internal.h (acl_from_mode): Only define when
30373         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
30374         of acl_from_mode() defined in lib/set-permissions.c to
30375         be used on FreeBSD at least.
30376         * lib/set-permissions.c: Fix up comment spelling,
30377         and a redundant variable assignment; noticed in passing.
30379 2015-06-30  Pádraig Brady  <P@draigBrady.com>
30381         readutmp: port to FreeBSD >= 9
30382         * lib/readutmp.h: Map utmpxname() to setutxdb().
30383         With that coreutils who(1) and pinky(1) tests pass.
30385 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
30387         mgetgroups: port to strict OS X
30388         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
30389         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
30390         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
30391         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
30393 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
30395         mgetgroups: port to strict OS X
30396         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
30397         Document the getgrouplist problem.
30398         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
30399         New macro.
30400         (mgetgroups): Use it.
30401         * m4/mgetgroups.m4 (gl_MGETGROUPS):
30402         Check for OS X signature for getgrouplist.
30404 2015-06-29  Jim Meyering  <meyering@fb.com>
30406         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
30407         It started like this when building coreutils' latest on OS X,
30408         invoking ./configure with a nonempty --cache=.cache:
30410           lib/linkat.c:46:42: error: operator '||' has no right operand
30411           lib/linkat.c: In function 'rpl_linkat':
30412           lib/linkat.c:330:27: error: #if with no expression
30414         Here's linkat.c's line 46:
30416           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
30418         Here's some context:
30420           $ grep linkat_nofoll .cache
30421           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
30422           $ grep LINKAT_SYM lib/config.h
30423           #define LINKAT_SYMLINK_NOTSUP
30425         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
30426         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
30427         but that violates a tenet of AC_CACHE_CHECK: it must
30428         have no side effect other than setting its cache variable.
30430         What happens is that when the cache is set, we'd skip the
30431         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
30432         defined to whatever value it happened to have in configure's
30433         environment.  In my case, it was not defined, so this later code:
30435           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
30436             [Define to 1 if linkat can create hardlinks to symlinks])
30438         would emit code with an empty RHS.
30440         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
30441         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
30443 2015-06-28  Jim Meyering  <meyering@fb.com>
30445         mountlist: avoid an unused-label warning on OS X
30446         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
30447         Building on OS X, I saw a warning about the "free_then_fail" label
30448         being unused.  Give it the _GL_UNUSED_LABEL attribute.
30450         error.c: correct printf-style format: %d -> %u
30451         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
30452         rather than %d, to match the type of "line_number", unsigned int.
30454 2015-06-25  Pádraig Brady  <P@draigBrady.com>
30456         fts: avoid reading beyond the heap allocation
30457         GCC 5.1.1 with -O2 and -fsanitize=address reports
30458         a read of size 4 from a heap object of size 3 is indeed invalid,
30459         though this may be due to incorrect padding assumptions by GCC, see:
30460         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
30461         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
30462         * modules/fts: Depend on stdalign.
30464 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30466         savedir: avoid undefined behavior in qsort call
30467         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30468         "runtime error: null pointer passed as argument 1,
30469          which is declared to never be null"
30470         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
30472 2015-06-24  Pádraig Brady  <P@draigBrady.com>
30474         userspec: avoid undefined behavior in gettext call
30475         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
30476         "runtime error: null pointer passed as argument 2,
30477          which is declared to never be null"
30478         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
30480 2015-06-20  Glenn Morris  <rgm@gnu.org>
30482         gitlog-to-changelog: improve gitmerge.el commits
30483         Let the Emacs ChangeLog generation process exclude "skipped"
30484         messages from merge commits (Bug#20717).
30485         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
30487 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30489         wchar: fix MinGW compilation warnings
30490         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
30491         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
30492         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
30494 2015-06-20  Daiki Ueno  <ueno@gnu.org>
30496         uniname/uniname-tests: use pristine data files
30497         For copyright and maintenance reasons, use the data files from UCD
30498         without modification.
30499         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
30500         (getfield): Remove.
30501         (aliases_count): New global variable.
30502         (fill_names): Skip comments and empty lines in the input.  Don't
30503         use getfield.
30504         (fill_aliases): Likewise.
30505         (main): Change the expected command line arguments to:
30506         NAMES... ["--" ALIASES...].
30507         * tests/uniname/test-uninames.sh: Adjust to the change in
30508         test-uninames.c.
30509         * tests/uniname/UnicodeDataNames.txt: Remove.
30510         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
30511         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
30512         file from Unicode 8.0.0.
30514 2015-06-19  Pádraig Brady  <P@draigBrady.com>
30516         linked-list, linkedhash-list: avoid compiler warnings
30517         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
30518         -Werror=suggest-attribute=pure (from GCC 5.1.1).
30520 2015-06-19  Daiki Ueno  <ueno@gnu.org>
30522         libunistring: bump minimum version to 0.9.6
30523         * all modules depending on updated Unicode data: Regenerate.
30524         The modules are listed by a script that does:
30525         - for each file listed by: git show --oneline --name-only 705f4efc
30526           - deduce the containing modules, based on "Files:"
30527         - deduce the modules which depend on the containing modules, based
30528           on "Depends-on:"
30530 2015-06-18  Daiki Ueno  <ueno@gnu.org>
30532         uniname/uniname: update to Unicode 8.0.0
30533         * lib/uniname/uninames.h: Regenerate.
30534         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
30535         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
30537 2015-06-18  Daiki Ueno  <ueno@gnu.org>
30539         libunistring: update to Unicode 8.0.0
30540         * lib/gen-uni-tables.c (SIZEOF): New macro.
30541         (output_numeric): Increase the maximum number of fractions from
30542         128 to 160.  Increase the level3 value width from 7 bits to 8
30543         bits.  Use SIZEOF instead of a hard-coded integer.
30544         (output_blocks): Decrease the cut-off threshold from 0x30000 to
30545         0x28000.
30546         (fill_blocks): Increase the maximum number of blocks from 256 to
30547         384.  Use SIZEOF instead of a hard-coded integer.
30548         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
30549         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
30550         value width.
30551         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
30552         a new case added to LBP22.
30553         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
30554         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
30555         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
30556         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
30557         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
30558         * tests/uniwidth/test-uc_width2.sh: Same updates as in
30559         lib/uniwidth/width.c.
30560         * all generated files under lib/uni* and tests/uni*: Regenerate.
30562 2015-06-16  Pádraig Brady  <P@draigBrady.com>
30564         gnu-web-doc-update: add --mirror to remove stale files
30565         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
30566         out of date files from the CVS server.  Since this is usually
30567         appropriate, a prompt is given when the option is not specified,
30568         along with the `cvs remove` command that would be run.
30570 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30572         acl-permissions: pacify -Wsuggest-attribute=const
30573         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
30574         * lib/acl-internal.h (free_permission_context):
30575         Declare with attribute const if ! (defined USE_ACL &&
30576         (HAVE_ACL_GET_FILE || defined GETACL)).
30578         fsync: document AIX misbehavior
30579         * doc/posix-functions/fsync.texi (fsync):
30580         Document failure on AIX with read-only file descriptor.
30582 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
30584         stdio: Don't redefine gets when using C++
30585         * lib/stdio.in.h (gets): Disable warning on C++.
30587 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
30589         acl-permissions: port to AIX, C89 HP-UX
30590         Problems reported by Michael Felt.
30591         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
30592         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
30593         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
30594         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
30595         Add cast for AIX, whose system calls are declared to accept
30596         char * even though the arguments are really char const *.
30597         * lib/get-permissions.c (get_permissions):
30598         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
30599         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
30600         that broke a build.
30601         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
30602         Rework types to pacify xlc.
30604 2015-06-03  Pádraig Brady  <P@draigBrady.com>
30606         vasprintf-posix: avoid compiling vasnprintf where possible
30607         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
30608         module where not required.  For example on a GNU/Linux system
30609         when gnulib-tool is run with the --conditional-dependencies option.
30611 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30613         file-has-acl: fix build on Mac OS X 10
30614         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
30615         which has an incompatible 6 parameter getxattr() call.
30616         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
30617         call on Mac OS X >= 10.4.
30618         * doc/glibc-functions/fgetxattr.texi: Likewise.
30619         * lib/file-has-acl.c: Revert to more complete combined check.
30620         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
30621         Reported by Jack Howarth.
30623 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30625         prefix-gnulib-mk: remove no longer needed special case
30626         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
30627         continued lib_SOURCES lines are no longer present,
30628         so special case handling of such entries is not required.
30630 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30632         acl: don't depend on the deprecated qacl module
30633         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
30635 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30637         gnulib-tool: concatenate lib_SOURCES to a single line
30638         * gnulib-tool: Refactor the line merging sed logic,
30639         and use that to output a single lib_SOURCES line for each module.
30640         gnulib using projects often postprocess this output to prepend
30641         subdir paths to each item, and having a single line simplifies this
30642         processing allowing better decoupling from the gnulib-tool output.
30644 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
30646         pthread_sigmask: discount system version if a simple macro (trivial)
30647         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
30648         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
30649         function to ensure it's available.
30651 2015-05-31  Pádraig Brady  <P@draigBrady.com>
30653         readlinkat: avoid OS X 10.10 trailing slash bug
30654         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
30655         has this bug.
30656         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
30657         that OS X 10.10 has this function.
30658         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
30659         as done for readlink().
30660         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
30661         trailing slash bug, and assume readlinkat() has the same issue.
30662         Also fix a typo where $gl_cv_decl_readlink_works was tested,
30663         rather than the correct $gl_cv_decl_readlinkat_works.
30665 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30667         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
30668         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
30669         module rewrite.
30671         acl-permissions: Fix build on Solaris and Cygwin
30672         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
30673         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
30674         ace_entries variables have moved into struct permission_context but
30675         they were still accessed as local variables here.
30677 2015-05-29  Pádraig Brady  <P@draigBrady.com>
30679         linkat: avoid OS X 10.10 trailing slash with symlink bug
30680         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
30681         causes the symlink to be dereferenced, and if it points
30682         to a non existent file, that file will be created as
30683         a hard link to "path1".
30684         This fixes a test failure in test-linkat.c.
30685         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
30686         this case.  The existing workaround in linkat.c for
30687         trailing slash issues, suffices for this case.
30688         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
30689         the list of platforms with trailing slash issues.
30691 2015-05-28  Pádraig Brady  <P@draigBrady.com>
30693         unlinkat: handle ignoring of ".." on Darwin 14
30694         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
30695         on Mac OS X 10.10, where it ignores paths with a trailing "..",
30696         so handle in the same manner.
30697         * m4/unlinkat.m4: Comment on this Darwin issue.
30698         * doc/posix-functions/unlink.texi: Update the latest version
30699         where the issue was seen.
30700         * doc/posix-functions/unlinkat.texi: Mention this issue.
30701         Fixes a test failure in test-unlinkat.c.
30703 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
30705         qacl: split into qcopy-acl and qset-acl
30706         Emacs needs the former, but not the latter.
30707         * modules/acl-permissions: New file, containing most of the old qacl.
30708         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
30709         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
30710         * modules/qcopy-acl, modules/qset-acl: New files.
30711         * MODULES.html.sh (File system functions):
30712         Mention the new modules, and mention qacl while we're at it.
30714 2015-05-27  Glenn Morris  <rgm@gnu.org>
30716         gitlog-to-changelog: new option --ignore-line
30717         (This patch is imported from the GNU Emacs master.)
30718         This option ignores individual commit lines matching a pattern.
30719         * build-aux/gitlog-to-changelog: Add --ignore-line option.
30721 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
30723         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
30724         Implement get_permissions and set_permissions primitives for getting all
30725         the permissions of a file, storing them, and later setting them. (In the
30726         minimal case, the permissions consist only of a file mode.) Reimplement
30727         qset_acl and qcopy_acl based on these new primitives: this avoids code
30728         duplication and makes error handling more consistent.
30729         The Solaris and Cygwin code still uses duplicate code paths for setting
30730         a file mode while making sure that no acls exist and setting an explicit
30731         acl; this is no worse than before, but could be cleaned up.  The AIX
30732         code still doesn't read ACLs, it only makes sure that acls don't get in
30733         the way when setting a file mode.
30734         * lib/acl-internal.h (struct permission_context): New data structure.
30735         (get_permissions, set_permissions, free_permission_context): Declare.
30736         * lib/acl-internal.c (free_permission_context): New helper function.
30737         * lib/get-permissions.c (get_permissions): New helper function split off
30738         from qcopy_acl.
30739         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
30740         AIX, set a file's permissions based only on a file mode.
30741         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
30742         other platforms construct a temporary acl from the file mode and set
30743         that acl in the same way as setting an acl read from the source file.
30744         This should help avoid code duplication and inconsistent / buggy
30745         behavior.
30746         (set_acls): New helper function Split off from qcopy_acl.
30747         (chmod_or_fchmod): Moved here from qset-acl.c.
30748         (set_permissions): New helper function.
30749         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
30750         set_permissions.
30751         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
30752         * modules/qacl: Add get-permissions.c and set-permissions.c.
30754         file-has-acl: Split feature tests again (Bug#20667)
30755         * lib/file-has-acl.c: Instead of testing for
30756         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
30757         define them when needed.
30758         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
30759         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
30761 2015-05-27  Pádraig Brady  <P@draigBrady.com>
30763         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
30764         This avoids a conflict with "FORTIFY_SOURCE" variants
30765         of the string functions when they're replaced on NetBSD-6.0.1
30766         and Darwin-14.3.0 at least.
30767         * lib/string.in.h: Avoid including our "lib/string.h" while
30768         including the system <string.h>.
30770 2015-05-26  Eric Blake  <eblake@redhat.com>
30772         stdio: limit __gnu_printf__ witness to gcc 4.4+
30773         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
30774         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
30776         error: use correct printf attributes on mingw
30777         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
30779         inttypes: force correct mingw PRIdMAX even without <stdio.h>
30780         * modules/inttypes (Depends-on): Require extensions, so that mingw
30781         always uses GNU style inttypes.
30782         * lib/inttypes.in.h: On mingw, include <stdio.h>.
30784         stdio: fix probe on mingw under gcc 5.1
30785         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
30786         around new gcc preprocessor rules.
30788 2015-05-07  Glenn Morris  <rgm@gnu.org>
30790         gitlog-to-changelog: parse "Tiny-change"
30791         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
30792         "Copyright-paperwork-exempt".  (Bug#20324)
30794 2015-05-06  Pádraig Brady  <P@draigBrady.com>
30796         doc: document glibc posix_fallocate() issues
30797         * doc/posix-functions/posix_fallocate.texi: Mention the
30798         glibc efficiency problems and issues with NFS.
30800 2015-05-05  Karl Berry  <karl@freefriends.org>
30802         * build-aux/gendocs.sh (usage): document new css default
30803         for HTML (--htmlarg).
30805 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30807         extern-inline: no need for workaround in GCC 5.1
30808         * doc/extern-inline.texi (extern inline):
30809         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
30810         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
30811         around these bugs in GCC 5.1 and later.  Maybe in a decade or
30812         two we can remove these workarounds.
30814 2015-04-28  Pádraig Brady  <P@draigBrady.com>
30816         eealloc, pagealign_alloc, xalloc: avoid clang warnings
30817         Avoid [-Wunknown-attributes] warnings like:
30818         warning: unknown attribute '__alloc_size__' ignored
30819         * lib/xalloc.h: Don't use the __alloc_size__  attribute
30820         with clang, as support has been fully removed as of clang 3.5:
30821         https://github.com/llvm-mirror/clang/commit/c047507a
30822         * lib/eealloc.h: Likewise.
30823         * lib/pagealign_alloc.h: Likewise.
30825 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
30827         tests: pacify GCC 5.1's stricter printf checking
30828         * tests/test-dirname.c (main):
30829         * tests/test-getaddrinfo.c (simple):
30830         * tests/test-getlogin.c (main):
30831         * tests/test-getndelim2.c (main):
30832         * tests/test-inttostr.c (CK):
30833         * tests/test-md5.c (main):
30834         * tests/test-read-file.c (main):
30835         * tests/test-sha1.c (main):
30836         Fix mismatches between printf format and value signedness.
30837         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
30838         Remove, as CAST_VAL always returned a value of type uintmax_t.
30840         fts: port to GCC 5.1 with --enable-gcc-warnings
30841         Without this fix, GCC 5.1 (correctly) warns about a subscript
30842         error on the fts_name component of FTSENT.  It's actually a
30843         flexible member, so define it that way on C99 or later hosts.
30844         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
30845         structure that now has a flexible array member.
30846         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
30847         (FTSENT): fts_name is now flexible on C99-or-later platforms.
30848         * modules/fts (Depends-on): Add flexmember.
30850 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
30852         file-has-acl: port to CentOS 6
30853         Problem reported by Tom G. Christensen in:
30854         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
30855         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
30856         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
30857         HAVE_GETXATTR.
30858         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
30859         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
30860         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
30861         file-has-acl.c actually needs.
30863 2015-04-26  Pádraig Brady  <P@draigBrady.com>
30865         file-has-acl: always return false when ACLs aren't supported
30866         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
30867         change the GNU/Linux getxattr path, to transform "not supported"
30868         errors to a false return rather than an error.  This is handled
30869         within file_has_acl() due to the platform specific tests to
30870         determine if ACLs are not supported.
30872 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
30874         gettext: propagate po/Makefile.in.in too
30875         * build-aux/po/Makefile.in.in: Copy from latest gettext.
30876         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
30877         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
30878         between Makefile.in.in and the gettext-runtime m4 files.
30880 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
30882         file-has-acl: new module, split from acl
30883         And add a new module file-has-acl-tests to match.
30884         I ran into a problem with the recent changes to the acl module,
30885         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
30886         When using the fixed version with Emacs, I discovered that
30887         file-has-acl wasn't separated out well enough for Emacs (e.g., it
30888         had multiple libraries, but needed only one), so I fixed that too.
30889         * NEWS: Document this incompatible change.
30890         * modules/file-has-acl, modules/file-has-acl-tests: New files.
30891         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
30892         Initialize gl_need_lib_has_acl.
30893         (gl_FUNC_ACL): Require it.
30894         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
30895         Move the file-has-acl.c-relevant stuff to ...
30896         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
30897         use_xattrs = 0' typo, and omit some needless work.  Set
30898         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
30899         when gl_FUNC_ACL is called.
30900         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
30901         (Link): Remove $(LIB_HAS_ACL).
30902         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
30903         (check_PROGRAMS): Move stuff relevant to file-has-acl to
30904         modules/file-has-acl-tests.
30905         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
30907         manywarnings: add GCC 5.1 warnings
30908         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
30909         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
30910         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
30911         -Wsuggest-override, -Wuse-without-only.  Change
30912         -Wnormalized=... operands to match 5.1.
30913         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
30914         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
30915         -Wdiscarded-qualifiers, -Wformat-signedness,
30916         -Wincompatible-pointer-types, -Wint-conversion,
30917         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
30918         -Wshift-count-negative, -Wshift-count-overflow,
30919         -Wsizeof-array-argument, -Wsuggest-final-methods,
30920         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
30921         and add -Warray-bounds=2 as a special case.
30923 2015-04-21  Simon Josefsson  <simon@josefsson.org>
30925         doc: update FDL template to match FDL examples.
30926         * doc/alloca-opt.texi:
30927         * doc/alloca.texi:
30928         * doc/c-ctype.texi:
30929         * doc/c-strcase.texi:
30930         * doc/c-strcaseeq.texi:
30931         * doc/c-strcasestr.texi:
30932         * doc/c-strstr.texi:
30933         * doc/c-strtod.texi:
30934         * doc/c-strtold.texi:
30935         * doc/ctime.texi:
30936         * doc/error.texi:
30937         * doc/gcd.texi:
30938         * doc/gnulib-tool.texi:
30939         * doc/inet_ntoa.texi:
30940         * doc/intprops.texi:
30941         * doc/lib-symbol-visibility.texi:
30942         * doc/maintain.texi:
30943         * doc/parse-datetime.texi:
30944         * doc/quote.texi:
30945         * doc/regexprops-generic.texi:
30946         * doc/standards.texi: Remove spurious 'with' in FDL license
30947         template.
30949 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
30951         lstat: fix cross-compilation 'ln -s' problem
30952         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
30953         Have the test program call 'symlink' rather than a separate
30954         script run 'ln -s'; this is more likely to work in
30955         cross-compilation environments.  Reported by Pavel Fedin in:
30956         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
30958 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
30960         gendocs.sh: default to a common CSS style sheet for HTML output
30961         * build-aux/gendocs.sh (htmlarg): Change default value.
30963 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
30965         gnulib-tool: output bold attribute more portably
30966         * gnulib-tool (func_show_module_list): Change hexadecimal
30967         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
30968         encoded numbers as arguments to `printf' is not portable,
30969         and is not claimed by POSIX.  This is the case with FreeBSD.
30971 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30973         qacl: Simplify HP-UX acl_nontrivial check
30974         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
30975         acl_nontrivial. Check if the acl has at most three entries instead (it must
30976         have exactly three entries according to the HP-UX documentation). Ignore
30977         uids and gids as long as an entry is either for a user (i.e., the owner),
30978         a group (i.e., the owning group), or others.
30979         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
30980         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
30982 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
30984         acl: On Linux, check for acls without libacl
30985         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
30986         library function to check for the presence of acls, avoiding a library.
30987         * lib/file-has-acl.c: Include xattr headers if we have them.
30988         (file_has_acl): On Linux, use getxattr().
30989         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
30990         file_has_acl(). Check for xattr headers and getxattr().
30992 2015-04-14  Ángel González  <keisial@gmail.com>
30994         tempname: avoid unused parameter warnings (trivial)
30995         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
30996         (try_nocreate): Likewise.
30998 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
31000         fseeko: fix build failure on NetBSD >= 6 (trivial)
31001         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
31002         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
31004 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31006         gitlog-to-changelog: port to MS-Windows
31007         * build-aux/gitlog-to-changelog (git_dir_option):
31008         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
31009         MS-Windows Perl.  Reported by Eli Zaretskii in:
31010         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
31012 2015-04-07  Karl Berry  <karl@gnu.org>
31014         gendocs: new option --tex for passing args to texi2dvi.
31015         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
31016         (TEXI2DVI): cut to just command name.
31017         (usage): mention new option, and update copyright.
31018         <generate_tex>: use it.
31020 2015-04-07  Karl Berry  <karl@gnu.org>
31022         * config/srclistvars.sh (GETTEXT): new definition.
31023         * config/srclist.txt: use it for gettext .m4 files.
31024         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
31025         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
31026         and continuing into April.
31028 2015-04-07  Daiki Ueno  <ueno@gnu.org>
31030         uniname/uniname-tests: fix failure due to alias
31031         Reported by Jack Howarth in:
31032         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
31033         * tests/uniname/test-uninames.c (name_has_alias): New function.
31034         (test_inverse_lookup): Exclude character name with valid alias,
31035         from randomly generated character names.
31036         (main): Fill unicode_aliases before calling test functions.
31038 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
31040         hash: remove deprecated hash_insert0 function
31041         * lib/hash.h (hash_insert0): Remove deprecated function.
31042         * lib/hash.c (hash_insert0): Likewise.
31044 2015-04-02  Pádraig Brady  <P@draigBrady.com>
31046         mountlist: remove dependency on libmount
31047         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
31048         directly, rather than depending on libmount, which has many
31049         dependencies due to its dependence on libselinux, as detailed at:
31050         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
31051         Note we restrict this to __linux__ as that's probably where this
31052         interface will remain.  If ever porting, it would be best
31053         to first pull the makedev() wrapper from coreutils to a gnulib module.
31054         Note also we don't add a getline dependency to the mountlist module,
31055         as all Linux versions are sufficient.
31057 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31059         stddef: port to pre-C11 GCC on x86
31060         On this platform, max_align_t should have an alignment of 8 even
31061         though the storage alignments of double, long, etc. max out at 4.
31062         Inspired by a comment of Andreas Schwab's here:
31063         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
31064         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
31065         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
31066         * tests/test-stddef.c: Test __alignof__ too, if available.
31068 2015-03-24  Pádraig Brady  <P@draigBrady.com>
31070         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
31071         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
31073 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
31075         yesno: make EOL optional in ENABLE_NLS case also (trival)
31076         * lib/yesno.c (yesno): Check for EOL before replacing.
31077         * tests/test-yesno.sh: Add a test case (test along with gettext).
31079 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
31081         fdopendir-tests: test it does not close its arg
31082         * tests/test-fdopendir.c (main): Test that fdopendir does not
31083         close its argument.  From a suggestion by David Grayson in:
31084         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
31086 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
31088         gitlog-to-changelog: trim trailing white space
31089         * build-aux/gitlog-to-changelog (main):
31090         Trim trailing white space from commit message lines.
31091         This is helpful for processing the GNU Emacs repository,
31092         which dates back to 1985 and contains a lot of such lines.
31094         gitlog-to-changelog: new option --ignore-matching
31095         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
31096         Support new option --ignore-matching=PAT, which ignores all
31097         commit messages whose first line matches PAT.
31099 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
31101         fdopendir: port better to MinGW
31102         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
31103         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
31104         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
31105         * modules/fdopendir (Depends-on): Add dirfd.
31107 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
31109         fdopendir: fix typo in comment
31110         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
31112 2015-03-09  Eric Blake  <eblake@redhat.com>
31114         error: document all entry points provided
31115         * doc/glibc-functions/error_print_progname.texi
31116         (error_print_progname): Mention the error module.
31117         * doc/glibc-functions/error_at_line.texi (error_at_line):
31118         Likewise.
31119         * doc/glibc-functions/error_message_count.texi
31120         (error_message_count): Likewise.
31121         * doc/glibc-functions/error_one_per_line.texi
31122         (error_one_per_line): Likewise.
31124 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
31126         vasnprintf: pacify clang 3.5.0
31127         Problem reported by Werner Lemberg in:
31128         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
31129         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
31130         The casts aren't needed, since the characters in question are ASCII.
31132 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
31134         glob, etc.: port to MSVC v18 on MS-Windows 8.1
31135         * lib/dirent--.h (GNULIB_defined_opendir):
31136         * lib/dirent.in.h (GNULIB_defined_opendir)
31137         (GNULIB_defined_closedir):
31138         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
31139         #undef only if Gnulib defined it.
31141         poll: port to MSVC v18 on MS-Windows 8.1
31142         Problem reported by Gisle Vanem in:
31143         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
31144         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
31145         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
31146         Add sys_socket.
31148 2015-02-24  Pádraig Brady  <P@draigBrady.com>
31150         tests: support stderr verification with returns_()
31151         * tests/init.sh (returns_): Disable tracing for this wrapper
31152         function, so that stderr of the wrapped command is unchanged,
31153         allowing for verification of the contents.
31155 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
31157         passfd: avoid valgrind uninitalised data warning
31158         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
31159         to include just the fd we've initialized, rather than including
31160         the extra space used for alignment.
31162 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
31164         uniwbrk/u32-wordbreaks-tests: fix copyright
31165         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
31167         dup2: doc and test for Android bug
31168         Reported by Kevin Cernekee in:
31169         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
31170         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31171         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
31173 2015-02-23  Kevin Cernekee  <cernekee@google.com>
31175         Replace dup2() on Android
31176         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
31177         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
31178         fails.  Using rpl_dup2() fixes this because it has an explicit test
31179         for this condition.
31181 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
31183         Android doesn't define RLIM_SAVED_*
31184         Portability problem reported by Kevin Cernekee in:
31185         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
31186         * doc/posix-headers/sys_resource.texi (sys/resource.h):
31187         Mention the portability problem.
31188         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
31189         Define if not defined.
31190         * m4/dup2.m4 (gl_FUNC_DUP2):
31191         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31192         Likewise.
31194 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
31196         vasnprintf-posix-tests: use consistent test
31197         * tests/test-vasnprintf-posix.c (test_function):
31198         Use "<" in assert instead of "<=", for consistency with other tests.
31200 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31202         printf, isinf, etc.: noncanonical != NaN
31203         Do not require that isinf, printf, etc. treat noncanonical
31204         values as NaNs.  Instead, require only that they do not crash.
31205         Problem reported by Joseph Myers in:
31206         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
31207         * doc/posix-functions/dprintf.texi (dprintf):
31208         * doc/posix-functions/fprintf.texi (fprintf):
31209         * doc/posix-functions/isfinite.texi (isfinite):
31210         * doc/posix-functions/isinf.texi (isinf):
31211         * doc/posix-functions/isnan.texi (isnan):
31212         * doc/posix-functions/printf.texi (printf):
31213         * doc/posix-functions/snprintf.texi (snprintf):
31214         * doc/posix-functions/sprintf.texi (sprintf):
31215         * doc/posix-functions/vdprintf.texi (vdprintf):
31216         * doc/posix-functions/vfprintf.texi (vfprintf):
31217         * doc/posix-functions/vprintf.texi (vprintf):
31218         * doc/posix-functions/vsnprintf.texi (vsnprintf):
31219         * doc/posix-functions/vsprintf.texi (vsprintf):
31220         Document this.
31221         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
31222         * m4/isinf.m4 (gl_ISINFL_WORKS):
31223         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
31224         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
31225         * tests/test-isfinite.c (test_isfinitel):
31226         * tests/test-isinf.c (test_isinfl):
31227         * tests/test-isnan.c (test_long_double):
31228         * tests/test-isnanl.h (main):
31229         * tests/test-snprintf-posix.h (test_function):
31230         * tests/test-sprintf-posix.h (test_function):
31231         * tests/test-vasnprintf-posix.c (test_function):
31232         * tests/test-vasprintf-posix.c (test_function):
31233         Test only that noncanonical values do not cause crashes, not that
31234         they are treated as NaNs.  In some cases this means a larger
31235         output buffer is needed.
31237 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
31239         fts: remove redundant close() (trivial)
31240         * lib/fts.c (fts_read): Remove redundant call to close().
31241         Spotted by coverity.
31243 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
31245         getdtablesize: port better for Android
31246         Problem reported by Kevin Cernekee in:
31247         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
31248         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
31249         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
31250         Instead, just use getrlimit, taking care to avoid Cygwin bug.
31252         poll: fixes for large fds
31253         * lib/poll.c (poll): Don't check directly for NFD too large.
31254         Don't rely on undefined behavior in FD_SET when an arg exceeds
31255         FD_SETSIZE.  Always set revents afterwards, even if to zero.
31256         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
31257         as that makes the test a bit stricter.
31259 2015-02-19  Kevin Cernekee  <cernekee@google.com>
31261         fcntl: Fix cross compiling
31262         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
31263         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
31265 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
31267         dup2, fcntl: cross-compile better for Android
31268         Problem reported by Kevin Cernekee in:
31269         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
31270         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
31271         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
31272         there's little need to cross-compile for older kernels nowadays.
31273         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
31274         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
31276 2015-02-18  Pádraig Brady  <P@draigBrady.com>
31278         getopt: don't crash on memory exhaustion
31279         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
31280         memory exhaustion.  In the _LIBC case we use alloca() as is
31281         already done in glibc, so we don't need to consider the separate
31282         error path in that awkward case.  Also fix a memory leak when
31283         ambiguous options are present.
31284         Reported by Tobias Stoeckmann
31286 2015-02-17  Mike Miller  <mtmiller@ieee.org>
31288         tempname: allow compilation with C++ (trivial)
31289         * lib/tempname.h [C++]: Specify extern "C" linkage.
31290         * lib/tempname.h (try_tempname):
31291         * lib/tempname.c (__try_tempname, __gen_tempname):
31292         Rename 'try' to 'tryfunc'.
31294 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
31296         dup2, fcntl: port to AIX
31297         * m4/dup2.m4 (gl_FUNC_DUP2):
31298         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31299         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
31300         The former works on AIX 7.1 but the latter does not.
31301         Also, this may work better with Android; see:
31302         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
31304 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
31306         getdtablesize, dup2, fcntl: port to Android
31307         Problem reported by Kevin Cernekee in:
31308         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
31309         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
31310         Mention that getdtablesize doesn't work on Android.
31311         * lib/getdtablesize.c: Use getrlimit substitute only if
31312         getdtablesize is declared.  This should suffice for Cygwin
31313         while not breaking Android.
31314         * m4/dup2.m4 (gl_FUNC_DUP2):
31315         * m4/fcntl.m4 (gl_FUNC_FCNTL):
31316         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
31317         standardized but the latter is not, and sysconf works on Android.
31318         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
31319         Also check that getdtablesize is declared.
31320         This removes the need for a special case for Android.
31322 2015-02-16  Kevin Cernekee  <cernekee@google.com>
31324         localename: Implement gl_locale_name_thread_unsafe for Android
31325         * lib/localename.c: Android API level >= 21 supports two hardcoded
31326         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
31327         the internal __locale_t struct.
31329 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
31331         fts: avoid crash when a cycle is added while traversing
31332         This could be triggered by auto-mounting a recursive bind mount.
31333         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
31334         * lib/fts.c (fts_read): Avoid removing the original hash table item
31335         when leaving a directory that caused a cycle, and preserve the FTS_DC
31336         flag.
31338 2015-02-16  Daiki Ueno  <ueno@gnu.org>
31340         uniname/uniname: support character alias
31341         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
31342         Generate one-way mapping from aliases to codepoints in the
31343         generated tables.  Special case variation selectors to reduce
31344         table size.
31345         * lib/uniname/uniname.c (unicode_character_name): Special case
31346         variation selectors.
31347         (unicode_name_character): Special case variation selectors and
31348         their aliases.
31349         * lib/uniname/uninames.h: Regenerate.
31350         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
31351         * modules/uniname/uniname-tests (Files): Add
31352         tests/uniname/NameAliases.txt.
31353         * tests/uniname/test-uninames.c: Mark as static.
31354         (ALIASLEN): Define.
31355         (struct unicode_alias): New struct.
31356         (unicode_aliases): New variable.
31357         (fill_aliases): New function.
31358         (test_alias_lookup): New test function.
31359         (main): Run the 'test_alias_lookup' test if the second argument is
31360         given.
31361         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
31362         second argument.
31364 2015-02-11  Kevin Cernekee  <cernekee@google.com>
31366         Fix FILE struct compatibility with Android API level >= 21
31367         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
31368         __sferror.  Recent versions of Bionic's stdio.h no longer define
31369         __sferror.
31370         * lib/fbufmode.c: Likewise.
31371         * lib/fflush.c: Likewise.
31372         * lib/fpurge.c: Likewise.
31373         * lib/freadable.c: Likewise.
31374         * lib/freadahead.c: Likewise.
31375         * lib/freading.c: Likewise.
31376         * lib/freadptr.c: Likewise.
31377         * lib/freadseek.c: Likewise.
31378         * lib/fseeko.c: Likewise.
31379         * lib/fseterr.c: Likewise.
31380         * lib/fwritable.c: Likewise.
31382         Assume unbroken ungetc() on Android
31383         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
31384         test case passed when running on an Android host, and the code
31385         hasn't really changed since 2009.
31387         getdtablesize: Fix Android build
31388         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
31389         versions have this symbol in the .so library (at least 32-bit
31390         platforms) but are missing the declaration in the header file,
31391         causing the m4 logic to guess incorrectly.
31393         localename: Fix Android build
31394         * modules/localename (Depends-on): Add langinfo.
31396         getugroups: Fix Android build
31397         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
31398         functions.
31400         euidaccess: Fix Android build
31401         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
31402         AT_EACCESS gets declared.
31404         linkat_nofollow: Add fallback case for cross compiling
31405         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
31407         net_if: Handle content-free <net/if.h> system headers
31408         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
31409         struct if_nameindex.  If not, enable the replacement header.
31411         signal_h: Fix Android build
31412         * lib/signal.in.h: Add Android to the list of platforms that declare
31413         pthread_sigmask() in <pthread.h> instead of <signal.h>.
31415         duplocale: Fix Android build of duplocale-tests
31416         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
31417         is included by test-duplocale.c (but not by duplocale.c).
31418         * modules/duplocale-tests (configure.ac): Check for monetary.h.
31419         * tests/test-duplocale.c: Skip test if monetary.h is absent.
31420         * doc/posix-headers/monetary.texi: Add Android to the list of
31421         platforms missing monetary.h.
31423 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31425         tests: avoid recent -Werror=unused-variable regression in test-locale
31426         * tests/test-locale.c (main): Reference the variable to avoid the
31427         "unused variable" warning.
31429 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31431         maint: various whitespace cleanups in tempname
31432         * lib/tempname.c: Normalize spacing and line length.
31433         * lib/tempname.h: Likewise.
31434         * modules/tempname: Likewise.
31436 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31438         tests: provide returns_() to simplify exit status checking
31439         * tests/init.sh (returns_): A new function for use in tests,
31440         to allow for easier checking of return values, where you expect
31441         a command to exit with failure status.  By checking for a particular
31442         exit code, you don't hide any crashes for example.
31444 2015-02-11  Pádraig Brady  <P@draigBrady.com>
31446         mountlist: only use libmount when specified
31447         There are currently many shared libs dependencies introduced by
31448         libmount with associated runtime and virt mem overhead.
31449         Therefore don't enable by default.
31450         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
31452 2015-02-08  Daiki Ueno  <ueno@gnu.org>
31454         uniname/unimame-tests: don't link with -lunistring
31455         * modules/uniname/uniname-tests (Makefile.am): Don't link against
31456         $(LIBUNISTRING).  Document the rationale why we need to
31457         conditionalize the test.
31459 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
31461         fstrcmp: don't assume strlen < INT_MAX
31462         * lib/fstrcmp.c: Include stddef.h and stdint.h.
31463         (uintptr_t): Remove, as we're now assuming stdint.
31464         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
31465         Prefer ptrdiff_t to int when the value could exceed INT_MAX
31466         if the input string is long.
31467         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
31468         uintptr_t to size_t when the underlying value is a pointer casted
31469         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
31470         * modules/fstrcmp (Depends-on): Add stdint.
31472         diffseq: prefer ptrdiff_t to ssize_t
31473         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
31474         ptrdiff_t is the natural type for signed indexes.
31475         On a few older platforms, ssize_t is narrower than size_t.
31477         xalloc: fix typo that suppressed warnings
31478         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
31479         This typo, introduced a couple of years ago, mistakenly suppressed
31480         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
31481         -Wmissing-declarations warnings.
31483         full-read: fix license notice typo
31484         * lib/full-read.h: Remove a stray line in the license notice.
31485         Reported by Sam Ellis in: http://bugs.gnu.org/19808
31487         crypto/gc: fix a -Wswitch warning
31488         Reported by Bruce Korb in:
31489         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
31490         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
31492 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31494         gnulib-tool: fix handling of patch(1) diagnostics
31495         * gnulib-tool: Send diagnostics from patch(1) to stderr,
31496         as otherwise gnulib-tool will reparse that output and attempt
31497         to lookup modules.
31499 2015-02-03  Pádraig Brady  <P@draigBrady.com>
31501         bootstrap: exit immediately upon gnulib-tool failure
31502         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
31503         This was noticed when gnulib-tool exited early due to failure
31504         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
31505         but various confusing errors were then given as the build proceeded.
31507 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
31509         symlinkat: include all required header files
31510         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
31511         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
31512         Reported at https://savannah.gnu.org/bugs/index.php?44151
31513         and by Jack Howarth.
31515 2015-01-29  Pádraig Brady  <P@draigBrady.com>
31517         localename: support Solaris 12 and illumos
31518         * lib/localename.c (gl_locale_name_thread_unsafe): call
31519         getlocalename_l() on newer __sun platforms.
31520         Reported by Alexander Pyhalov.
31521         Fix suggested by Rich Burridge.
31523 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
31525         locale: fix tests on illumos (trivial)
31526         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
31527         so move from global scope to main().
31529 2015-01-24  Daiki Ueno  <ueno@gnu.org>
31531         unictype: avoid undefined left-shift behavior
31532         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
31533         gcc's -fsanitize=shift and running its tests triggered:
31534           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
31535             places cannot be represented in type 'int'
31536         Cast LHS to 'unsigned int' after integer promotion.
31537         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
31538         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
31540 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31542         libunistring: bump version of unitypes dependants
31543         Due to the header file search order, all the headers which depend
31544         on unitypes.h need to be generated, when the preinstalled
31545         libunistring is older.
31546         * modules/unicase/base (configure.ac): Bump minimum version to
31547         0.9.4.
31548         * modules/uniconv/base (configure.ac): Likewise.
31549         * modules/unilbrk/base (configure.ac): Likewise.
31550         * modules/uninorm/base (configure.ac): Likewise.
31551         * modules/unistdio/base (configure.ac): Likewise.
31552         * modules/unistr/base (configure.ac): Likewise.
31553         * modules/uniwbrk/base (configure.ac): Likewise.
31554         * modules/uniwidth/base (configure.ac): Likewise.
31556 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31558         unictype/category-none: fix link with libunistring
31559         Since _UC_CATEGORY_NONE is not a public symbol, it will be
31560         prefixed with "libstring_" when compiled as part of libunistring.
31561         To avoid undefined symbol at link time, increase the minimum
31562         version when the dependant modules are updated.
31563         * modules/unictype/category-none (configure.ac): Bump minimum
31564         version to 0.9.5.
31566 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31568         unitypes: fix build with installed libunistring
31569         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
31570         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
31571         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
31573 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31575         time: port to MinGW32 3.21
31576         Problem reported by Eli Zaretskii in:
31577         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
31578         * lib/time.in.h:
31579         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
31580         * modules/time (Depends-on):
31581         Fall back on unistd.h if the other include files don't define
31582         struct timespec.
31584         update-copyright: apply to self
31585         * build-aux/update-copyright: Fix copyright date.  How ironic!
31587 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31589         libunistring: update to Unicode 7.0.0
31590         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
31591         Manichaean names.
31592         * lib/unictype/joininggroup_name.h: Likewise.
31593         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
31594         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
31595         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
31596         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
31597         (fill_arabicshaping, joining_group_as_c_identifier): Support those
31598         enum values.
31599         (is_property_alphabetic): Accept newly added characters to
31600         cuneiform numeric signs.
31601         (is_property_default_ignorable_code_point): Reject U+0605.
31602         (FIELDLEN): Increase from 120 to 160.
31603         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
31604         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
31605         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
31606         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
31607         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
31608         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
31609         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
31610         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
31611         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
31612         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
31613         U+1E8D0..U+1E8D6.
31614         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
31615         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31616         lib/uniwidth/width.c.
31617         * all generated files under lib/uni* and tests/uni*: Regenerate.
31619 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31621         libunistring: update to Unicode 6.3.0
31622         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31623         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
31624         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
31625         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
31626         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
31627         Update WB5, WB9, WB10, WB13a, and WB13b.
31628         * tests/uniwbrk/test-uc-wordbreaks.c
31629         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
31630         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31631         (UC_BIDI_PDI): New enumeration values.
31632         (bidi_category_byname): Support those enum values.
31633         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
31634         dedicated property assigned.
31635         (is_property_case_ignorable): Check 0x0027.
31636         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31637         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31638         (output_wbp): Support those enum values.
31639         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31640         (UC_BIDI_PDI): New enumeration values.
31641         * lib/unictype/bidi_byname.gperf: Add those property names.
31642         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
31643         U+180E, U+1A1B, and U+2066..U+2069.
31644         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31645         lib/uniwidth/width.c.
31646         * all generated files under lib/uni* and tests/uni*: Regenerate.
31648 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31650         libunistring: update to Unicode 6.2.0
31651         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
31652         (unilbrk_table): Adjust table size.
31653         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31654         for LBP_RI.
31655         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
31656         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
31657         Normalize table index skipping ignored properties.
31658         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
31659         WBP_EXTEND and WBP_FORMAT, which are now computed without using
31660         the table.
31661         * lib/uniwbrk/wbrktable.h: Adjust table size.
31662         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
31663         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
31664         Support rule GB8a.
31665         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
31666         * tests/unigbrk/test-uc-is-grapheme-break.c
31667         (graphemebreakproperty_to_string): Support GBP_RI.
31668         * tests/uniwbrk/test-uc-wordbreaks.c
31669         (wordbreakproperty_to_string): Support WBP_RI.
31670         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
31671         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
31672         (output_lbp): Support LBP_RI.  Adjust some characters changed from
31673         LBP_AL to LBP_ID.
31674         (output_lbp): Support LBP_RI.
31675         (WBP_RI): New enumeration value.
31676         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31677         (output_wbp): Support WBP_RI.
31678         (GBP_RI): New enumeration value.
31679         (output_gbp_test, fill_org_gbp): Support GBP_RI.
31680         * all generated files under lib/uni* and tests/uni*: Regenerate.
31682 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31684         libunistring: update to Unicode 6.1.0
31685         * lib/gen-uni-tables.c (output_joining_group): Switch to
31686         3-level table to accommodate joining groups defined with higher
31687         codepoint value.  Since there are only 88 groups defined in
31688         Unicode 7.0.0, use 7-bit packed format for level3 entries.
31689         (get_lbp): Update for Unicode 6.1.0.
31690         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
31691         3-level table.
31692         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
31693         joining group name.
31694         * lib/unictype/joininggroup_name.h: Likewise.
31695         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
31696         (unilbrk_table): Adjust table size.
31697         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31698         for LBP_HL.
31699         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
31700         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
31701         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
31702         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
31703         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
31704         U+302E..U+302F.
31705         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31706         lib/uniwidth/width.c.
31707         * all generated files under lib/uni* and tests/uni*: Regenerate.
31708         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
31710 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31712         uniwbrk/u32-wordbreaks-tests: add conformance test
31713         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
31714         tests/uniwbrk/test-uc-wordbreaks.c,
31715         tests/uniwbrk/test-uc-wordbreaks.sh, and
31716         tests/uniwbrk/WordBreakTest.txt.
31717         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
31718         test-uc-wordbreaks to $(check_PROGRAMS), and define
31719         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
31720         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
31721         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
31723 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31725         uniwbrk: ignore Extended/Format characters at BOL not BOS
31726         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
31727         characters if the previous character property is one of
31728         WBP_NEWLINE, WBP_CR, and WBP_LF.
31730 2015-01-11  Jim Meyering  <meyering@fb.com>
31732         test-strstr.c: avoid a trivial leak
31733         * tests/test-strstr.c (main): Free haystack.
31735         update-copyright: recognize groff's \(co marker
31736         * build-aux/update-copyright (circle_c_re): Also accept
31737         uses of \(co, as found in gzip.1.
31739 2015-01-08  Pádraig Brady  <P@draigBrady.com>
31741         maint.mk: fix compatibility with OS X nm
31742         * top/maint.mk (_gl_tight_scope): Use the -g option to
31743         show exported items rather than the -e option which is
31744         ignored on all platforms except OS X where it gives an error.
31745         Reported by Assaf Gordon.
31747 2015-01-07  KO Myung-Hun  <komh@chollian.net>
31749         localcharset: improve charset detection on OS/2
31750         Use system codepage when appropriate.  Map OS/2 codepages to
31751         GNU canonical charset names if possible.
31752         * lib/config.charset: Don't output aliases if "$os" is os2*.
31753         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
31754         result for OS/2.
31755         (locale_charset) [OS2]: Use system codepage if codeset is omitted
31756         from the locale name which is neither "C" nor "POSIX".
31758 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
31760         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
31761         This reverts the last patch but one, as it shouldn't be needed now
31762         that the typo is fixed.
31763         * lib/count-leading-zeros.h (count_leading_zeros_ll):
31764         * lib/count-trailing-zeros.h:
31765         * lib/count-one-bits.h:
31766         Go back to using 64-bit intrinsics.
31768         count-leading-zeros: fix pragma typos
31769         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
31770         Fix typos in declaration of intrinsics when _MSC_VER.
31772 2015-01-06  Pádraig Brady  <P@draigBrady.com>
31774         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
31775         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
31776         intrinsics in this case.
31777         * lib/count-trailing-zeros.h: Likewise.
31778         * lib/count-one-bits.h: Likewise.
31780 2015-01-06  Daiki Ueno  <ueno@gnu.org>
31782         uniname/uniname: update to Unicode 7.0.0
31783         To accommodate new characters added since Unicode 5.1.0, this
31784         changes the internal representation of codepoint ranges.
31785         Previously, we grouped codepoint ranges by manually assigned 4-bit
31786         tag, which only allowed 16 groups.  This removes the limitation by
31787         switching to binary search on a table.  For the detail rationale
31788         and the benchmark results, see:
31789         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
31790         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
31791         to INDEX, as it no longer represents a codepoint.
31792         (range): New struct.
31793         (main): Switch to intervals list from a bit-pattern based
31794         classification.
31795         * lib/uniname/uninames.h: Regenerate.
31796         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
31797         * modules/uniname/base (configure.ac): Bump minimum version to
31798         0.9.5.
31799         * modules/uniname/uniname (configure.ac): Bump minimum version to
31800         0.9.5.
31802 2015-01-05  Eric Blake  <eblake@redhat.com>
31804         doc: update INSTALL from autoconf
31805         * doc/install.texi: Resync from autoconf.
31806         * doc/INSTALL: Reflect recent autoconf update.
31807         * doc/INSTALL.ISO: Likewise.
31808         * doc/INSTALL.UTF-8: Likewise.
31810         stdio: fix use of PRIdMAX on modern mingw
31811         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
31812         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
31813         to work with modern mingw.
31815 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
31817         pthread: detect git mingw builds with only partial pollution
31818         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
31819         pollution, as seen temporarily in Fedora 21.
31821 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
31823         lib-symbol-versions: cache script check
31824         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
31825         Cache the check for linker version scripts.
31826         From a suggestion by Christophe Curis in:
31827         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
31829 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
31831         maint: fix grammar nits in propername (trivial change)
31832         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
31833         and use an adequate verb and tense.
31835 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
31837         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
31838         * module/gendocs: Add 'doc/gendocs_template_min'.
31840         * build-aux/gendocs.sh: Change email addresses and upstream URLs
31841         from to Gnulib's.
31842         (scripturl, templateurl): Adjust accordingly.
31844 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31846         gendocs: copyright date and version fix
31847         Reported by Karl Berry in:
31848         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
31849         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
31850         Fix copyright date.
31851         * build-aux/gendocs.sh (scriptversion): Update.
31853 2015-01-01  Karl Berry  <karl@gnu.org>
31855         * doc/install.texi,
31856         * build-aux/mdate-sh,
31857         * build-aux/depcomp,
31858         * build-aux/config.guess,
31859         * build-aux/config.sub,
31860         * build-aux/ar-lib,
31861         * build-aux/compile: revert copyright updates (some from last
31862         year) in slaved files.
31864 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31866         version-etc: new year
31867         * doc/gnulib.texi:
31868         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
31869         * all files: Run 'make update-copyright'.
31871 2014-12-30  Pádraig Brady  <P@draigBrady.com>
31873         xstrtol: ensure errno is reset
31874         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
31875         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
31877         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
31879 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
31881         utimens: fix dependency typo
31882         * modules/utimens (Depends-on): Remove 'assure'.
31883         This bug was introduced in the recent 'assure' patch.
31885 2014-12-22  Eric Blake  <eblake@redhat.com>
31887         docs: mention why libgen.h is bad
31888         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
31890 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
31892         assure: new module
31893         This works better than 'assert' when compiling with -DNDEBUG,
31894         as it avoids some compiler diagnostics in that case.
31895         Reported by Norihiro Tanaka in:
31896         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
31897         * MODULES.html.sh (func_all_modules): Add 'assure'.
31898         * lib/assure.h, modules/assure: New files.
31899         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
31900         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
31901         Prefer 'assure' to 'assert'.
31902         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
31903         * modules/chdir-long, modules/cycle-check, modules/fchdir:
31904         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
31905         Depend on 'assure'.
31907 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
31909         stdalign: port better to HP compilers
31910         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
31911         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
31913         stdalign: work around Apple GCC 4.0 bug
31914         Reported by David Fang in:
31915         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
31916         * lib/stdalign.in.h (_Alignas):
31917         * m4/stdalign.m4 (gl_STDALIGN_H):
31918         Do not use aligned attribute with GCC 4.0 on Apple.
31920 2014-12-16  Pádraig Brady  <P@draigBrady.com>
31922         getcwd: fix test failure on OS X 10.9
31923         * m4/getcwd-path-max.m4: Avoid the replacement if it
31924         won't be effective due to the PATH_MAX limitation of lstat().
31925         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
31926         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
31927         for this case for use in tests, and also exclude this
31928         case when setting REPLACE_GETCWD.
31929         * tests/test-getcwd.c (test_long_name): Restrict the
31930         tested path length so that lstat() will not be passed
31931         a path greater than PATH_MAX.
31932         Also key a test condition on HAVE_OPENAT_SUPPORT rather
31933         than AT_FDCWD, since the latter is set unconditionally
31934         since Sep 2009 in commit 52c658e9.
31936 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
31938         parse-datetime: avoid a compiler warning with byacc (trivial)
31939         * lib/parse-datetime.y (yylex): Use the same prototype in the
31940         function definition as the declaration, to avoid a -Wstrict-prototypes
31941         warning seen when using byacc.
31943 2014-12-12  Daiki Ueno  <ueno@gnu.org>
31945         unicase/locale-language-tests: fix LOCALE_FR test
31946         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
31947         a French locale with traditional encoding.
31948         Reported by umerqayam in:
31949         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
31951 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
31953         stddef: support C11's max_align_t
31954         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
31955         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
31956         Do not undef, as that might cause max_align_t to be defined twice.
31957         Instead, change use to check for _GL_STDDEF_WINT_T too.
31958         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
31959         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
31960         Check for max_align_t.
31961         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
31962         * modules/stddef-tests (Depends-on): Add stdalign.
31963         * tests/test-stddef.c: Test max_align_t.
31965 2014-12-11  Daiki Ueno  <ueno@gnu.org>
31967         unistd: fix iOS check conditional
31968         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
31969         as 0 or 1 in <TargetConditionals.h>, and the previous check always
31970         yielded true on non-iOS environment.
31971         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
31972         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
31973         they are defined.
31975 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
31977         posixtm: avoid compiler warning in a better way
31978         * lib/posixtm.c (IF_LINT): Remove.
31979         (year, posix_time_parse):
31980         Return true (not 0) if successful.  All callers changed.
31981         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
31983 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31985         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
31986         started with '/' on EMX.
31988 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31990         freopen: workaround freopen() on OS/2 kLIBC
31991         * lib/freopen.c (rpl_freopen): Workaround.
31992         * m4/freopen.m4: Add os2* case.
31994         get_shared_library_fullname: port to EMX
31995         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
31996         on EMX, respectively.
31997         (_DLL_InitTerm): New on EMX.
31998         (get_shared_library_fullname): Implement on EMX.
32000         find_executable: port to EMX
32001         * lib/progreloc.c (find_executable): Implement on EMX.
32003         sched: check struct sched_param in spawn.h as well
32004         * lib/sched.in.h: Include spawn.h on kLIBC.
32005         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
32007 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
32009         bootstrap: Allow perl modules in $buildreq
32010         * build-aux/bootstrap: Add case for perl modules.
32012 2014-12-08  Pádraig Brady  <P@draigBrady.com>
32014         apply _GL_ATTRIBUTE_PURE to some inline functions
32015         clang 3.4.2 flagged these inline functions as pure
32016         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
32017         * lib/sig-handler.h (get_handler): Likewise.
32018         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
32019         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
32021 2014-12-06  Pádraig Brady  <P@draigBrady.com>
32023         vasnprintf: fix potential use after free
32024         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
32025         flagged by clang-analyzer 3.4.2.
32027 2014-12-05  Pádraig Brady  <P@draigBrady.com>
32029         filevercmp, posixtm: avoid compiler warnings with -O3
32030         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
32031         * lib/posixtm.c: (IF_LINT): Define.
32032         (posix_time_parse): Use it to void a "may be used uninitialized"
32033         warning, seen only with -O3.
32035 2014-12-05  Bruno Haible  <bruno@clisp.org>
32037         Fix LDBL80_WORDS macro on big endian platforms.
32038         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
32039         LDBL80_WORDS macro.
32040         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32041         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32042         * tests/test-isfinite.c (test_isfinitel): Likewise.
32043         * tests/test-isinf.c (test_isinfl): Likewise.
32044         * tests/test-isnan.c (test_long_double): Likewise.
32045         * tests/test-isnanl.h (main): Likewise.
32046         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
32047         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
32048         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
32049         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
32050         Reported by Pádraig Brady.
32052 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
32054         git-version-gen: do not print new line characters
32055         * build-aux/git-version-gen: Use printf instead of echo and tr.
32057         gnulib-tool: recognize x:* as an absolute path
32058         * gnulib-tool (func_gnulib_dir): Add ?:* case.
32059         (func_relconcat): Likewise.
32061 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
32063         argp: avoid extraneous translation and mem leak with empty pre doc
32064         * lib/argp-help.c (argp_doc): Never translate the empty string,
32065         when "\v" is the first or last character of the string, as that
32066         has a reserved meaning to return the header info from a po file.
32067         This also fixes a small memory leak in the !post case.
32068         The issue can be seen with this command for example:
32069         LC_MESSAGES=en_US grub2-mknetdir --help
32071 2014-11-27  Daiki Ueno  <ueno@gnu.org>
32073         uniname/uniname-tests: skip if system's libunistring is used
32074         * modules/uniname/uniname-tests (Makefile.am): Skip test if
32075         uniname/uniname module is not compiled.
32077 2014-11-27  Pádraig Brady  <P@draigBrady.com>
32079         printf: fix configure check on big endian systems
32080         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
32082 2014-11-22  Daiki Ueno  <ueno@gnu.org>
32084         pipe-filter-gi, pipe-filter-ii: port to AIX
32085         On AIX 7.1, 'select' is defined as static and cannot be referred
32086         to from inline function.
32087         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
32088         the definition...
32089         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
32090         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
32092 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32094         gitlog-to-changelog: add --until
32095         * build-aux/gitlog-to-changelog: Support new --until option.
32096         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
32098 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32100         extern-inline: update commentary about GCC bugs
32101         * m4/extern-inline.m4: Add another GCC bug number to comments.
32103 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32105         gen-uni-tables: untabify
32106         * lib/gen-uni-tables.c: Untabify.
32108 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32110         gen-uni-tables: check out-of-range values added to 3-level tables
32111         * lib/gen-uni-tables.c (output_category, output_bidi_category)
32112         (output_joining_type, output_ident_category): Check out-of-range
32113         values added to 3-level tables.
32115 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32117         gen-uni-tables: utilize 'assert'
32118         * lib/gen-uni-tables.c: Include <assert.h>.
32119         (output_category, output_combclass, output_decimal_digit_test)
32120         (output_decimal_digit, output_digit_test, output_digit)
32121         (output_numeric, get_mirror_value, fill_properties)
32122         (fill_property30, is_property_alphabetic)
32123         (is_property_default_ignorable_code_point)
32124         (is_property_uppercase, is_property_lowercase)
32125         (is_property_cased, is_property_case_ignorable)
32126         (is_property_changes_when_lowercased, is_property_iso_control)
32127         (is_property_math, fill_arabicshaping, output_joining_group)
32128         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
32129         (output_wbp, fill_org_gbp, get_decomposition)
32130         (output_decomposition, fill_composition_exclusions)
32131         (debug_output_composition_tables, output_composition_tables)
32132         (redistribute_casefolding_rules, output_casing_rules): Use
32133         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
32134         reporting.
32136 2014-11-13  Daiki Ueno  <ueno@gnu.org>
32138         gen-uni-tables: cosmetic improvements
32139         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
32140         variables specification.
32141         (is_outdigit): Remove unused function.
32143 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
32145         fcntl-h-tests: port to PA-RISC GNU/Linux
32146         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
32148 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
32150         fts: port to C89
32151         Problem reported for MSVC 16 by Gisle Vanem in:
32152         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
32153         * lib/fts.c (fts_build): Avoid declaration before statement.
32155 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
32157         unistd: port to iOS
32158         Problem reported by André Klitzing in:
32159         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
32160         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
32162 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
32164         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
32165         Problem reported by Alan Modra in:
32166         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
32167         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
32168         Always cast the function arg, reverting this part of the previous
32169         change.
32171 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
32173         obstack: avoid potentially-nonportable function casts
32174         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
32175         Remove, replacing with ...
32176         (call_chunkfun, call_freefun): New static functions.
32177         All uses changed.  Avoid potentially-nonportable casts.
32178         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
32179         (_obstack_begin_worker): Omit last two args, since they
32180         rely on potentially-nonportable casts.  All callers changed.
32181         * lib/obstack.h (_OBSTACK_CAST): New macro.
32182         Use it everywhere the old API used a potentially-nonportable cast.
32183         The new API doesn't cast.
32184         (struct obstack): Use unions rather than requiring
32185         potentially-nonportable casts.
32186         (obstack_chunkfun, obstack_freefun): Return void.
32188 2014-11-03  Alan Modra  <amodra@gmail.com>
32190         obstack: fix macro return values
32191         * lib/obstack.h (obstack_next_free): Return void *.
32192         (obstack_1grow_fast, obstack_blank_fast): Return void.
32193         For __GNUC__ macros:
32194         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
32195         For !__GNUC__ macros:
32196         (obstack_make_room, obstack_grow, obstack_grow0)
32197         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
32199 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
32201         obstack: do not assume system-supplied obstack is size_t safe
32202         * m4/obstack.m4: New file.
32203         * modules/obstack (Files): Add it.
32205         obstack: port to platforms that #define __alignof__
32206         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
32207         not if !_LIBC.  We don't know of any platforms that #define
32208         __alignof__, but it might be useful in tests.  Conversely,
32209         glibc assumes GCC.
32211 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32213         linkat: don't unconditionally replace on GNU/Linux
32214         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
32215         was redundant for a few reasons.  It was present to support compiling
32216         on new systems but running on the old narrow window of Linux 2.6.1[67].
32217         It setup and cleaned up test files which weren't actually used.
32218         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
32219         implicit in the following check.
32221 2014-11-03  Pádraig Brady  <P@draigBrady.com>
32223         linkat: wrap to handle symlinks on OS X 10.10
32224         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
32225         but not usable because it doesn't support creating hardlinks
32226         to symlinks.  Therefore add a generic test for this capability
32227         and fallback to our emulation if linkat() fails with ENOTSUP.
32229 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
32231         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
32232         * doc/posix-functions/open.texi (open):
32233         * doc/posix-functions/openat.texi (openat):
32234         Document that these functions do not set errno to ELOOP when
32235         a symlink is opened with O_NOFOLLOW.
32237 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
32239         obstack: add NEWS entry for recent incompatible changes
32240         * NEWS: Describe recent changes.
32242 2014-10-30  Pádraig Brady  <P@draigBrady.com>
32244         mountlist: don't use libmount to decide on dummy/remote
32245         * lib/mountlist.c (read_file_system_list): Don't use the libmount
32246         routines to determine whether a file system is dummy or remote,
32247         as they're not currently compatible.  For example the remoteness
32248         is determined on file system type (for which the list seems incomplete),
32249         rather than simply checking for a ':' in the device name.
32250         Also libmount currently determines that 'tmpfs' is a dummy file system
32251         even though it has associated storage.
32253 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
32255         obstack: prefer __alignof__ to alignof
32256         This is for portability to pre-4.7 GCC when compiling glibc.
32257         See Joseph S. Myers in:
32258         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
32259         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
32260         New macro, defined by including and using <alignof.h>.
32261         (MAX): New macro.
32262         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
32263         Do not use enums as they are not portable to some broken compilers.
32264         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
32266         obstack: prefer alignof to calculating alignments by hand
32267         * lib/obstack.c: Include <stdalign.h>.
32268         (struct fooalign): Remove.
32269         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
32270         * modules/obstack (Depends-on): Add stdalign.
32272 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
32274         obstack: use size_t alignments and check for overflow
32275         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
32276         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
32277         * lib/obstack.h (struct obstack.alignment_mask):
32278         Use _OBSTACK_SIZE_T, not int, for alignments.
32279         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
32280         overflows, e.g., when adding the alignment.
32282 2014-10-29  Alan Modra  <amodra@gmail.com>
32284         obstack: 64-bit obstack support, part 3
32285         This finally enables full 64-bit obstack support.  The glibc
32286         shared library specific code is removed from obstack.c too, and
32287         the error handling code conditionally compiled under control of
32288         another macro, _OBSTACK_NO_ERROR_HANDLER.
32289         * lib/obstack.h: Include string.h earlier.
32290         (_OBSTACK_INTERFACE_VERSION): Define.
32291         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
32292         * lib/obstack.c: Don't include shlib-compat.h.
32293         (OBSTACK_INTERFACE_VERSION): Delete.
32294         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
32295         glibc code is compatible with version 2.  Don't include stdio.h for
32296         __GNU_LIBRARY.
32297         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
32298         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
32299         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
32300         glibc shared library specific source.
32302         obstack: 64-bit obstack support, part 2
32303         This gets us 4G obstack support, without changing ABI
32304         compatibility, apart from possibly introducing some
32305         signed/unsigned comparison warnings in code that uses obstack.h.
32306         a) Replace "int" size parameters, return values, and macro local vars
32307            with _OBSTACK_SIZE_T, an "unsigned int" for now.
32308         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
32309         c) Make all obstack macros checking available room use obstack_room.
32310            "next_free + desired > chunk_limit" may wrap the lhs for chunks
32311            allocated near the top of memory.
32312         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
32313         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
32314         in place of "int" size parameters, return values and local vars.
32315         (_CHUNK_SIZE_T): Define.
32316         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
32317         union use an _OBSTACK_SIZE_T integer type.
32318         For __GNUC__ versions of the following macros...
32319         (obstack_room): Rename local var.
32320         (obstack_make_room): Use obstack_room.
32321         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32322         obstack_int_grow, obstack_blank): Likewise.
32323         (obstack_finish): Use unsigned comparison when comparing aligned
32324         next_free against chunk_limit.
32325         (obstack_free): Cast OBJ to remove possible const qualifier.
32326         For !__GNUC__ versions of the following macros...
32327         (obstack_make_room): Use obstack_room.
32328         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
32329         obstack_int_grow, obstack_blank): Likewise.
32330         (obstack_finish): Use unsigned comparision when comparing aligned
32331         next_free against chunk_limit.
32332         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
32333         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
32334         _OBSTACK_SIZE_T.
32335         (_obstack_begin, _obstack_begin_1): Likewise.
32336         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
32337         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
32339         obstack: 64-bit obstack support, part 1
32340         a) Correct calls to alloc function, to use a size_t arg.  "long" is
32341            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
32342            and "size_t" 64 bits.
32343         b) Consolidate _obstack_begin and _obstack_begin1 code.
32344         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
32345         use "size_t" rather than "long".
32346         (_obstack_begin, _obstack_begin1): Likewise.
32347         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
32348         obstack_chunkfun): Update alloc function casts.
32349         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
32350         (chunkfun_type, freefun_type): New typdefs.
32351         (_obstack_begin_worker): Split out from ..
32352         (_obstack_begin, _obstack_begin_1): ..here.
32354         obstack: tidy part 2
32355         a) Don't be concerned about "not polluting the namespace with stddef.h
32356            symbols" in obstack.h, since gnulib string.h includes stddef.h
32357            anyway, and it seems unlikely that anyone would care.
32358         b) Don't roll our own slow memcpy in _obstack_newchunk.
32359         c) Rename obstack_free to _obstack_free.  This makes the naming
32360            consistent with other obstack functions and obviates the need for
32361            __obstack_free.  Ancient obstack.c defined both obstack_free and
32362            _obstack_free.  We continue to do that for _LIBC via an alias.
32363         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
32364            is clever, but nowadays gcc warns on undefined macros.  You'll get
32365            an undefined macro warning if simulating an old gcc with -U__GNUC__
32366            -U__GNUC_MINOR__ -D__GNUC__=1.
32367         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
32368         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
32369         (__obstack_free): Delete, update refs.
32370         (_obstack_free): Rename from obstack_free.
32371         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
32372         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
32373         * lib/obstack.c: Don't include stddef.h.
32374         (COPYING_UNIT): Delete.
32375         (_obstack_begin): Formatting fix.
32376         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
32377         (_obstack_free): Rename from __obstack_free, update alias.  Move
32378         undef of obstack_free to where it is needed.
32380         obstack: tidy part 1
32381         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
32382            to me, and result in overlong lines after later patches.
32383         b) Move error handling code, to avoid a forward declaration and to
32384            simplify later patches in this series.
32385         * lib/obstack.h (struct obstack <temp>): Rename fields of union
32386         and update all uses.
32387         * lib/obstack.c: Include stdlib.h earlier.
32388         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
32389         in file.
32390         (print_and_abort): Remove now redundant forward declaration.
32392 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32394         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
32395         Without this change, in bleeding-edge fileutils Autoconf complains
32396         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
32397         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
32398         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
32399         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
32401 2014-10-24  Daiki Ueno  <ueno@gnu.org>
32403         iconv: avoid false detection of non-working iconv
32404         The INBUF arguments of iconv can be either 'const char **'
32405         or 'char **'.  If CC is g++, the difference causes a compile error
32406         and thus leads to a false detection of non-working iconv.
32407         Reported by Eli Zaretskii and Werner LEMBERG in:
32408         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
32409         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
32410         iconv.  Bump serial number.
32412 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32414         bootstrap: print more diagnostics for missing programs
32415         * build-aux/bootstrap: only suppress stderr when checking for
32416         alternative program names.  This supports programs issuing non
32417         standard error messages.
32419 2014-10-23  Pádraig Brady  <P@draigBrady.com>
32421         bootstrap: only update the gnulib submodule
32422         * build-aux/bootstrap: Restrict the "submodule update" command
32423         to the gnulib path.
32425 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
32427         symlinkat: port to AIX 7.1
32428         * doc/posix-functions/symlinkat.texi (symlinkat):
32429         Mention AIX porting problem.
32430         * lib/symlinkat.c: Always include errno.h.
32431         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
32432         * lib/unistd.in.h (symlinkat): Add replacement machinery.
32433         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
32434         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
32435         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
32436         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
32437         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
32439         readlinkat: port to AIX 7.1
32440         * doc/posix-functions/readlink.texi (readlink):
32441         * doc/posix-functions/readlinkat.texi (readlinkat):
32442         Mention AIX porting problem.
32443         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
32444         New function.
32445         * lib/unistd.in.h (readlinkat): Add replacement machinery.
32446         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
32447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
32448         * modules/readlinkat (configure.ac): Also compile replacement
32449         if REPLACE_READLINKAT.
32450         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
32452 2014-10-12  Karl Berry  <karl@gnu.org>
32454         * doc/posix-functions/dirname.texi: remove spurious {.
32456 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
32458         basename, dirname: Improve documentation.
32459         * doc/posix-functions/basename.texi: Mention dirname module and
32460         base_name() function.
32461         * doc/posix-functions/dirname.texi: Mention dir_name() and
32462         mdir_name() functions.
32463         Suggested by Werner LEMBERG <wl@gnu.org>.
32465 2014-09-24  Jim Meyering  <meyering@fb.com>
32467         exclude: declare exclude_patopts static
32468         * lib/exclude.c (exclude_patopts): Declare static,
32469         to avoid triggering a -Wmissing-prototypes warning.
32470         The alternative (declaring it in the .h file) would
32471         require publicizing the private "struct patopts".
32473 2014-09-21  Werner Lemberg  <wl@gnu.org>
32475         dirname: support compilation with C++
32476         * lib/dirname.h: Add necessary C linkage declarations.
32478 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
32480         qsort_r: include <config.h>
32481         Problem reported by Tom G. Christensen in:
32482         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
32483         * lib/qsort.c [!_LIBC]: Include <config.h> first.
32485 2014-09-16  Dylan Cali  <calid1984@gmail.com>
32487         avltree-list: avoid compiler warnings (trivial)
32488         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
32489         -Werror=suggest-attribute=pure.
32490         * lib/gl_array_list.c: Likewise.
32491         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
32492         declaration to avoid -Werror=missing-prototypes.  This is not added
32493         to a header as only exported for tests.  Add (void) to the
32494         check_invariants() call to indicate we're discarding the result
32495         in this context which avoids -Werror=unused-value.  Note we don't
32496         use ignore_value here to avoid a dependency as we know we'll not
32497         be adding __attribute__((warn_unused_result)) to check_invariants().
32498         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
32500 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
32502         qsort_r: new module, for GNU-style qsort_r
32503         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
32505 2014-09-15  Werner LEMBERG  <wl@gnu.org>
32507         strerror_r-posix: support compilation with C++
32508         * lib/strerror_r.c: Add necessary C linkage declarations.
32510 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
32512         fcntl-h: fix compilation with Intel C++ compiler (trivial)
32513         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
32515 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
32517         mountlist: use /proc/self/mountinfo when available
32518         Use libmount to propagate device IDs provided by Linux in
32519         /proc/self/mountinfo.  This will give more accurate output when
32520         using df in chroot'ed environments as the device IDs are not
32521         determined by stat() which may be inaccurate within the chroot.
32522         * lib/mountlist.c (read_file_system_list): Use the libmount routines
32523         from util-linux to parse "/proc/self/mountinfo" or fall back to
32524         standard getmntent() processing.
32525         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
32526         getmntent() is used, as is the case on GNU/Linux.
32528 2014-09-07  Eric Wong  <normalperson@yhbt.net>
32530         users.txt: add cmogstored
32531         cmogstored has used gnulib since the beginning in 2012 to support
32532         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
32534 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
32536         Trivial change.
32537         * gnulib-tool: Use same options as build-aux/bootstrap to download
32538         PO files.
32540 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
32542         Trivial change.
32543         * gnulib-tool: Fallback to wget when rsync of PO files fails.
32545 2014-09-04  Eric Blake  <eblake@redhat.com>
32547         maintainer-makefile: add syntax check for useless ';;'
32548         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
32550 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
32552         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
32553         Problem reported by Assaf Gordon in:
32554         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
32555         Apparently Ubuntu is doing some fancy link-time optimization
32556         that doesn't work with -lpthread but does work with -pthread.
32557         Work around the bug by preferring -pthread to -lpthread.
32558         * m4/pthread.m4 (gl_PTHREAD_CHECK):
32559         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
32560         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32561         Treat -pthread like -lpthread.
32563 2014-09-04  Eric Blake  <eblake@redhat.com>
32565         error: drop spurious semicolon
32566         * lib/error.c (__error_at_line): Fix ';;'.
32568 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
32570         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
32571         * m4/gnulib-common.m4 (AC_C_RESTRICT):
32572         Override AC_C_RESTRICT unconditionally.
32573         Update from autoconf, incorporating:
32574         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
32575         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
32577 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32579         manywarnings: add GCC 4.9 warnings
32580         Also, make it easier to maintain this in the future.
32581         * build-aux/gcc-warning.spec: Add -Wabi-tag,
32582         -Wconditionally-supported, -Wdelete-incomplete,
32583         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
32584         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
32585         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
32586         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
32587         only for older GCC versions that need them.  Handle
32588         -Wnormalized=nfc specially, so that the 'comm' command used
32589         for maintenance doesn't get confused.
32591 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32593         vasnprintf: fix bugs in width computation
32594         * lib/vasnprintf.c (VASNPRINTF):
32595         Rework previous change, which introduced a bug,
32596         to avoid the warning in a different way.
32597         Avoid undefined behavior if the width arg is less than -INT_MAX.
32598         Avoid unnecessary use of HAS_WIDTH local.
32600 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
32602         vasnprintf: Avoid signed/unsigned comparison warning.
32603         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
32604         compare end addr of generated string w/ maximum end addr.
32606 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
32608         parse-datetime: Avoid pointer difference.
32609         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
32610         instead of calculating difference of pointers.  This removes an
32611         annoying warning, devoid of any use.
32613 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32615         qsort_r: new module, for GNU-style qsort_r
32616         This works even on FreeBSD, which has an incompatible qsort_r API.
32617         * MODULES.html.sh: Add it.
32618         * doc/glibc-functions/qsort_r.texi: It's now supported.
32619         * lib/qsort.c: New file, taken from glibc with minor changes
32620         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
32621         removed.
32622         * lib/qsort_r.c: New file, compiled only on FreeBSD.
32623         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
32624         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
32625         * modules/qsort_r, modules/qsort_r-tests: New files.
32626         * modules/stdlib (Makefile): Set up its defaults.
32627         * tests/test-qsort_r.c: New file.
32629 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
32631         vla: new module
32632         GNU RCS can use this, mostly for documentation I expect.  See:
32633         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
32634         * MODULES.html.sh: Add vla.
32635         * lib/vla.h, modules/vla: New files.
32637 2014-08-07  Daiki Ueno  <ueno@gnu.org>
32639         localename: make gl_locale_name_thread really thread-safe on Windows
32640         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
32641         "glthread/lock.h".
32642         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
32643         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
32645 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
32647         getpass: don't assume struct termios
32648         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
32649         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
32650         * lib/getpass.c (getpass): Port to systems lacking struct termios.
32652         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
32653         Problem reported by Jonas 'Sortie' Termansen in:
32654         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
32655         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
32656         Implement via sysconf for platforms that lack getdtablesize.
32658         vararrays: modernize AC_C_VARARRAYS for C11
32659         This backports a change I recently made to Autoconf.
32660         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
32661         VLAs are not supported, as this is what C11 does.  The old macro
32662         HAVE_C_VARARRAYS is still defined if they are supported, but is
32663         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
32665 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
32667         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
32668         * build-aux/install-reloc (func_create_wrapper): Also wrap
32669         strerror-override, stat, stat.
32671 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
32673         sys_select: fix FD_ZERO problem on Solaris 10
32674         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
32675         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
32676         to expand to an expression that invoked memset without necessarily
32677         including <string.h>.  The problem was that the first include
32678         defined _SYS_TIME_H, causing the second include to short-circuit.
32679         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
32680         Also, fix what appears to be a cut-and-paste typo, by replacing
32681         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
32682         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
32684         accept: document Solaris 10 type glitch
32685         * doc/posix-functions/accept.texi (accept): Mention that
32686         Solaris 10 'accept' takes void * last arg, not socklen_t *.
32688 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
32690         extern-inline: port to FreeBSD, DragonFly
32691         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
32692         is present if either __DragonFly__ or __FreeBSD__ is defined.
32693         FreeBSD problem reported by Andrey Borzenkov in:
32694         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
32695         Also, worry about __APPLE__ only if __MACH__ is also defined,
32696         as this is more consistent with the rest of gnulib.
32697         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
32698         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
32700 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
32702         regex: Make #if/#ifdef usage consistent for DEBUG
32703         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
32704         of the inconsistent usage of #if and #ifdef as that works with
32705         both Glibc and Gnulib's style.
32707 2014-07-31  Eric Blake  <eblake@redhat.com>
32709         openat-die: use _Noreturn markup
32710         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
32711         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
32712         _Noreturn.
32714 2014-07-30  Eric Blake  <eblake@redhat.com>
32716         test-open: port to cygwin, which lacks Fortify
32717         * tests/test-open.h (ALWAYS_INLINE): New macro.
32718         (__always_inline): Don't abuse internal symbol on non-glibc.
32720 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
32722         localename: Enforce declarations before statements.
32723         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
32724         first statement.
32726 2014-07-18  Jim Meyering  <meyering@fb.com>
32728         test-userspec: don't look up numeric user names
32729         * tests/test-userspec.c: I found a system for which getpwnam("0")
32730         returned a pointer to a non-root user's entry, and that made the
32731         test fail.
32732         (T): Prefix each numeric input with "+", to inhibit lookup.
32734 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
32736         localcharset, localename: MS-Windows support for non-default locales
32737         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
32738         falling back on the default system codepage, try extracting
32739         the codepage from what 'setlocale' returns.  This allows to
32740         take into account changes of the codeset due to non-default
32741         locale set by a previous call to 'setlocale'.
32742         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
32743         Define if not already defined.
32744         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
32745         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
32746         current locale by calling 'setlocale', then converting the
32747         locale name into LCID by calling 'get_lcid'.  This allows to
32748         take into account changes in the current locale from the
32749         default one, in contrast to GetThreadLocale.
32751 2014-07-14  Daiki Ueno  <ueno@gnu.org>
32753         announce-gen: avoid failure when Digest::SHA is installed
32754         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
32755         Digest::SHA1->new in print_checksums fails.
32756         * build-aux/announce-gen (digest_classes): New associative array
32757         for available message digest implementations.
32758         (print_locations): Use it.
32760 2014-07-13  Pádraig Brady  <P@draigBrady.com>
32762         gettext: revert "update macros to version 0.19"
32763         This reverts commit 9b9370ca, as it currently requires that
32764         developers of any project that explicitly uses the gettext module
32765         or implicitly uses it through the utimens-tests or
32766         futimens-tests modules, use gettext >= 0.19.
32767         However there are some stability and availablity issues with
32768         that version at present.  We can reinstate this soon, when stability
32769         is addressed and packages are more readily available.
32771 2014-07-12  Jim Meyering  <meyering@fb.com>
32773         regex: don't deref NULL upon heap allocation failure
32774         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
32775         failure in one more place.
32776         To trigger the segfault, configure grep -with-included-regex,
32777         build it, and run these commands:
32778         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
32779         I discovered this while replying to a private report from
32780         Jens Schleusener about excessive memory consumption by grep
32781         when using a regular expression like the one above.
32783 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
32785         regex: fix memory leak in compiler
32786         Fix by Andreas Schwab in:
32787         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
32788         * lib/regcomp.c (parse_reg_exp): Deallocate partially
32789         constructed tree before returning error.
32791 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32793         announce-gen: avoid perl warnings
32794         * build-aux/announce-gen: add two minor checks to avoid
32795         "use of uninitialized value" warnings when command-line parameters are
32796         missing.
32798 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32800         localename: avoid -Wsuggest-attribute={const,pure} warnings
32801         * lib/localename.c (string_has): Tag internal function as pure.
32802         * lib/localename.h (gl_locale_name_default): Tag extern declaration
32803         as const when appropriate.
32805 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
32807         nl_langinfo: Fix last change.
32808         * lib/nl_langinfo.c (includes): Drop redundant include.
32810 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
32812         error: Fix -Wundef warnings in glibc
32813         * lib/error.c [_LIBC]: Define default macros for
32814         glibc.
32815         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
32816         Check _LIBC before STRERROR_R_CHAR_P.
32818         error: Sync from glibc master
32819         * lib/error.c [_LIBC]: Remove INTUSE usage.
32820         (error_tail): Remove unused macro ALLOCA_LIMIT.
32821         Fix potential buffer overflow.  Fix potential NULL dereference
32822         in strcmp.
32824 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
32826         nl_langinfo: fix build under mingw
32827         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
32829 2014-07-09  Andrew D Warshall  <warshall@99main.com>
32831         mountlist: do not classify a bind-mounted dir entry as "dummy"
32832         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
32833         1-argument getmntent() (instead of assuming absence).
32835 2014-07-08  Eric Blake  <eblake@redhat.com>
32837         maint.mk: less syntax-check noise when SIGPIPE is ignored
32838         * top/maint.mk (_sc_header_without_use)
32839         (sc_require_config_h_first): Parse full list.
32841 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
32842             Paul Eggert  <eggert@cs.ucla.edu>
32844         nl_langinfo: CODESET on MS-Windows and more items from localeconv
32845         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
32846         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
32847         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
32848         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
32849         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
32850         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
32851         Include <stdio.h> if Microsoft Windows.
32852         Include <time.h> if !REPLACE_NL_LANGINFO.
32853         (ctype_codeset): New function, taken from rpl_nl_langinfo,
32854         and with improvements for Microsoft Windows.
32855         (rpl_nl_langinfo): Use it.
32856         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
32857         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
32858         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
32859         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
32860         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
32861         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
32862         corresponding values returned by 'localeconv'.  Compute the values
32863         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
32864         'strftime' with a suitable struct tm value.
32866 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
32868         Bruno Haible has stepped down as maintainer.
32869         See Karl Berry in:
32870         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
32871         Daiki Ueno has volunteered to maintain libunistring; see:
32872         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
32873         * modules/gen-uni-tables, modules/libunistring:
32874         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
32875         * modules/unicase/base, modules/unicase/cased:
32876         * modules/unicase/empty-prefix-context:
32877         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
32878         * modules/unicase/locale-language, modules/unicase/special-casing:
32879         * modules/unicase/tocasefold, modules/unicase/tolower:
32880         * modules/unicase/totitle, modules/unicase/toupper:
32881         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
32882         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
32883         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
32884         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
32885         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
32886         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
32887         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
32888         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
32889         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
32890         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
32891         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
32892         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
32893         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
32894         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
32895         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
32896         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
32897         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
32898         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
32899         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
32900         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
32901         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
32902         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
32903         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
32904         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
32905         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
32906         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
32907         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
32908         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
32909         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
32910         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
32911         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
32912         * modules/unicase/ulc-casexfrm, modules/unicodeio:
32913         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
32914         * modules/uniconv/u16-conv-to-enc:
32915         * modules/uniconv/u16-strconv-from-enc:
32916         * modules/uniconv/u16-strconv-from-locale:
32917         * modules/uniconv/u16-strconv-to-enc:
32918         * modules/uniconv/u16-strconv-to-locale:
32919         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
32920         * modules/uniconv/u32-strconv-from-enc:
32921         * modules/uniconv/u32-strconv-from-locale:
32922         * modules/uniconv/u32-strconv-to-enc:
32923         * modules/uniconv/u32-strconv-to-locale:
32924         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
32925         * modules/uniconv/u8-strconv-from-enc:
32926         * modules/uniconv/u8-strconv-from-locale:
32927         * modules/uniconv/u8-strconv-to-enc:
32928         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
32929         * modules/unictype/bidicategory-all:
32930         * modules/unictype/bidicategory-byname:
32931         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
32932         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
32933         * modules/unictype/bidiclass-byname:
32934         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
32935         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
32936         * modules/unictype/block-all, modules/unictype/block-list:
32937         * modules/unictype/block-of, modules/unictype/block-test:
32938         * modules/unictype/category-C, modules/unictype/category-Cc:
32939         * modules/unictype/category-Cf, modules/unictype/category-Cn:
32940         * modules/unictype/category-Co, modules/unictype/category-Cs:
32941         * modules/unictype/category-L, modules/unictype/category-LC:
32942         * modules/unictype/category-Ll, modules/unictype/category-Lm:
32943         * modules/unictype/category-Lo, modules/unictype/category-Lt:
32944         * modules/unictype/category-Lu, modules/unictype/category-M:
32945         * modules/unictype/category-Mc, modules/unictype/category-Me:
32946         * modules/unictype/category-Mn, modules/unictype/category-N:
32947         * modules/unictype/category-Nd, modules/unictype/category-Nl:
32948         * modules/unictype/category-No, modules/unictype/category-P:
32949         * modules/unictype/category-Pc, modules/unictype/category-Pd:
32950         * modules/unictype/category-Pe, modules/unictype/category-Pf:
32951         * modules/unictype/category-Pi, modules/unictype/category-Po:
32952         * modules/unictype/category-Ps, modules/unictype/category-S:
32953         * modules/unictype/category-Sc, modules/unictype/category-Sk:
32954         * modules/unictype/category-Sm, modules/unictype/category-So:
32955         * modules/unictype/category-Z, modules/unictype/category-Zl:
32956         * modules/unictype/category-Zp, modules/unictype/category-Zs:
32957         * modules/unictype/category-all, modules/unictype/category-and:
32958         * modules/unictype/category-and-not, modules/unictype/category-byname:
32959         * modules/unictype/category-longname, modules/unictype/category-name:
32960         * modules/unictype/category-none, modules/unictype/category-of:
32961         * modules/unictype/category-or, modules/unictype/category-test:
32962         * modules/unictype/category-test-withtable:
32963         * modules/unictype/combining-class:
32964         * modules/unictype/combining-class-all:
32965         * modules/unictype/combining-class-byname:
32966         * modules/unictype/combining-class-longname:
32967         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
32968         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
32969         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
32970         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
32971         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
32972         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
32973         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
32974         * modules/unictype/digit, modules/unictype/joininggroup-all:
32975         * modules/unictype/joininggroup-byname:
32976         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
32977         * modules/unictype/joiningtype-all:
32978         * modules/unictype/joiningtype-byname:
32979         * modules/unictype/joiningtype-longname:
32980         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
32981         * modules/unictype/mirror, modules/unictype/numeric:
32982         * modules/unictype/property-all, modules/unictype/property-alphabetic:
32983         * modules/unictype/property-ascii-hex-digit:
32984         * modules/unictype/property-bidi-arabic-digit:
32985         * modules/unictype/property-bidi-arabic-right-to-left:
32986         * modules/unictype/property-bidi-block-separator:
32987         * modules/unictype/property-bidi-boundary-neutral:
32988         * modules/unictype/property-bidi-common-separator:
32989         * modules/unictype/property-bidi-control:
32990         * modules/unictype/property-bidi-embedding-or-override:
32991         * modules/unictype/property-bidi-eur-num-separator:
32992         * modules/unictype/property-bidi-eur-num-terminator:
32993         * modules/unictype/property-bidi-european-digit:
32994         * modules/unictype/property-bidi-hebrew-right-to-left:
32995         * modules/unictype/property-bidi-left-to-right:
32996         * modules/unictype/property-bidi-non-spacing-mark:
32997         * modules/unictype/property-bidi-other-neutral:
32998         * modules/unictype/property-bidi-pdf:
32999         * modules/unictype/property-bidi-segment-separator:
33000         * modules/unictype/property-bidi-whitespace:
33001         * modules/unictype/property-byname:
33002         * modules/unictype/property-case-ignorable:
33003         * modules/unictype/property-cased:
33004         * modules/unictype/property-changes-when-casefolded:
33005         * modules/unictype/property-changes-when-casemapped:
33006         * modules/unictype/property-changes-when-lowercased:
33007         * modules/unictype/property-changes-when-titlecased:
33008         * modules/unictype/property-changes-when-uppercased:
33009         * modules/unictype/property-combining:
33010         * modules/unictype/property-composite:
33011         * modules/unictype/property-currency-symbol:
33012         * modules/unictype/property-dash:
33013         * modules/unictype/property-decimal-digit:
33014         * modules/unictype/property-default-ignorable-code-point:
33015         * modules/unictype/property-deprecated:
33016         * modules/unictype/property-diacritic:
33017         * modules/unictype/property-extender:
33018         * modules/unictype/property-format-control:
33019         * modules/unictype/property-grapheme-base:
33020         * modules/unictype/property-grapheme-extend:
33021         * modules/unictype/property-grapheme-link:
33022         * modules/unictype/property-hex-digit:
33023         * modules/unictype/property-hyphen:
33024         * modules/unictype/property-id-continue:
33025         * modules/unictype/property-id-start:
33026         * modules/unictype/property-ideographic:
33027         * modules/unictype/property-ids-binary-operator:
33028         * modules/unictype/property-ids-trinary-operator:
33029         * modules/unictype/property-ignorable-control:
33030         * modules/unictype/property-iso-control:
33031         * modules/unictype/property-join-control:
33032         * modules/unictype/property-left-of-pair:
33033         * modules/unictype/property-line-separator:
33034         * modules/unictype/property-logical-order-exception:
33035         * modules/unictype/property-lowercase, modules/unictype/property-math:
33036         * modules/unictype/property-non-break:
33037         * modules/unictype/property-not-a-character:
33038         * modules/unictype/property-numeric:
33039         * modules/unictype/property-other-alphabetic:
33040         * modules/unictype/property-other-default-ignorable-code-point:
33041         * modules/unictype/property-other-grapheme-extend:
33042         * modules/unictype/property-other-id-continue:
33043         * modules/unictype/property-other-id-start:
33044         * modules/unictype/property-other-lowercase:
33045         * modules/unictype/property-other-math:
33046         * modules/unictype/property-other-uppercase:
33047         * modules/unictype/property-paired-punctuation:
33048         * modules/unictype/property-paragraph-separator:
33049         * modules/unictype/property-pattern-syntax:
33050         * modules/unictype/property-pattern-white-space:
33051         * modules/unictype/property-private-use:
33052         * modules/unictype/property-punctuation:
33053         * modules/unictype/property-quotation-mark:
33054         * modules/unictype/property-radical:
33055         * modules/unictype/property-sentence-terminal:
33056         * modules/unictype/property-soft-dotted:
33057         * modules/unictype/property-space:
33058         * modules/unictype/property-terminal-punctuation:
33059         * modules/unictype/property-test, modules/unictype/property-titlecase:
33060         * modules/unictype/property-unassigned-code-value:
33061         * modules/unictype/property-unified-ideograph:
33062         * modules/unictype/property-uppercase:
33063         * modules/unictype/property-variation-selector:
33064         * modules/unictype/property-white-space:
33065         * modules/unictype/property-xid-continue:
33066         * modules/unictype/property-xid-start:
33067         * modules/unictype/property-zero-width, modules/unictype/scripts:
33068         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
33069         * modules/unictype/syntax-c-whitespace:
33070         * modules/unictype/syntax-java-ident:
33071         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
33072         * modules/unigbrk/u16-grapheme-breaks:
33073         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
33074         * modules/unigbrk/u32-grapheme-breaks:
33075         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
33076         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
33077         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
33078         * modules/unigbrk/uc-is-grapheme-break:
33079         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
33080         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
33081         * modules/unilbrk/u16-width-linebreaks:
33082         * modules/unilbrk/u32-possible-linebreaks:
33083         * modules/unilbrk/u32-width-linebreaks:
33084         * modules/unilbrk/u8-possible-linebreaks:
33085         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
33086         * modules/unilbrk/ulc-possible-linebreaks:
33087         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
33088         * modules/uniname/uniname, modules/uninorm/base:
33089         * modules/uninorm/canonical-decomposition:
33090         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
33091         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
33092         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
33093         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
33094         * modules/uninorm/nfkc, modules/uninorm/nfkd:
33095         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
33096         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
33097         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
33098         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
33099         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
33100         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
33101         * modules/unistdio/base, modules/unistdio/u-printf-args:
33102         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
33103         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
33104         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
33105         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
33106         * modules/unistdio/u16-u16-sprintf:
33107         * modules/unistdio/u16-u16-vasnprintf:
33108         * modules/unistdio/u16-u16-vasprintf:
33109         * modules/unistdio/u16-u16-vsnprintf:
33110         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
33111         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
33112         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
33113         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
33114         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
33115         * modules/unistdio/u32-u32-asnprintf:
33116         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
33117         * modules/unistdio/u32-u32-sprintf:
33118         * modules/unistdio/u32-u32-vasnprintf:
33119         * modules/unistdio/u32-u32-vasprintf:
33120         * modules/unistdio/u32-u32-vsnprintf:
33121         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
33122         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
33123         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
33124         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
33125         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
33126         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
33127         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
33128         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
33129         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
33130         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
33131         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
33132         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
33133         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
33134         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
33135         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
33136         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
33137         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
33138         * modules/unistr/u16-check, modules/unistr/u16-chr:
33139         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
33140         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
33141         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
33142         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
33143         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
33144         * modules/unistr/u16-move, modules/unistr/u16-next:
33145         * modules/unistr/u16-prev, modules/unistr/u16-set:
33146         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
33147         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
33148         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
33149         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
33150         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
33151         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
33152         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
33153         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
33154         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
33155         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
33156         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
33157         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
33158         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
33159         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
33160         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
33161         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
33162         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
33163         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
33164         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
33165         * modules/unistr/u32-next, modules/unistr/u32-prev:
33166         * modules/unistr/u32-set, modules/unistr/u32-startswith:
33167         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
33168         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
33169         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
33170         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
33171         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
33172         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
33173         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
33174         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
33175         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
33176         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
33177         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
33178         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
33179         * modules/unistr/u8-check, modules/unistr/u8-chr:
33180         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
33181         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
33182         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
33183         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
33184         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
33185         * modules/unistr/u8-next, modules/unistr/u8-prev:
33186         * modules/unistr/u8-set, modules/unistr/u8-startswith:
33187         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
33188         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
33189         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
33190         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
33191         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
33192         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
33193         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
33194         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
33195         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
33196         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
33197         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
33198         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
33199         * modules/uniwbrk/base, modules/uniwbrk/table:
33200         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
33201         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
33202         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
33203         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
33204         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
33205         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
33206         * modules/uniwidth/width, modules/utf16-ucs4:
33207         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
33208         * modules/utf8-ucs4-unsafe:
33209         Change maintainer from Bruno Haible to Daiki Ueno.
33210         This is my guess at the libunistring modules; please feel free
33211         to fix if I guessed incorrectly.
33212         * modules/accept4, modules/acl, modules/acos, modules/acosf:
33213         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
33214         * modules/areadlink, modules/array-list, modules/array-mergesort:
33215         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
33216         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
33217         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
33218         * modules/binary-io, modules/bison-i18n, modules/btowc:
33219         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
33220         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
33221         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
33222         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
33223         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
33224         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
33225         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
33226         * modules/closedir, modules/concat-filename, modules/copy-file:
33227         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
33228         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
33229         * modules/csharpcomp-script, modules/csharpexec:
33230         * modules/csharpexec-script, modules/ctype, modules/diffseq:
33231         * modules/dprintf, modules/dprintf-posix, modules/dup:
33232         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
33233         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
33234         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
33235         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
33236         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
33237         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
33238         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
33239         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
33240         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
33241         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
33242         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
33243         * modules/findprog, modules/findprog-lgpl, modules/floor:
33244         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
33245         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
33246         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
33247         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
33248         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
33249         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
33250         * modules/freadable, modules/freadahead, modules/freadptr:
33251         * modules/freadseek, modules/freopen, modules/frexp:
33252         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
33253         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
33254         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
33255         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
33256         * modules/ftello, modules/full-read, modules/full-write:
33257         * modules/fwritable, modules/fwriteerror, modules/gcd:
33258         * modules/get-rusage-as, modules/get-rusage-data:
33259         * modules/getdtablesize, modules/getrusage, modules/gettext:
33260         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
33261         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
33262         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
33263         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
33264         * modules/iconv, modules/iconv-h, modules/iconv_open:
33265         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
33266         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
33267         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
33268         * modules/integer_length_ll, modules/ioctl, modules/isatty:
33269         * modules/isblank, modules/isnand, modules/isnand-nolibm:
33270         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
33271         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
33272         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
33273         * modules/javaexec, modules/javaexec-script, modules/javaversion:
33274         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
33275         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
33276         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
33277         * modules/lib-symbol-visibility, modules/libsigsegv:
33278         * modules/linked-list, modules/linkedhash-list, modules/list:
33279         * modules/localcharset, modules/locale, modules/localeconv:
33280         * modules/localename, modules/lock, modules/log, modules/log-ieee:
33281         * modules/log10, modules/log10-ieee, modules/log10f:
33282         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
33283         * modules/log1p, modules/log1p-ieee, modules/log1pf:
33284         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
33285         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
33286         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
33287         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
33288         * modules/logf, modules/logf-ieee, modules/login_tty:
33289         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
33290         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
33291         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
33292         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
33293         * modules/mbscspn, modules/mbsinit, modules/mbslen:
33294         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
33295         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
33296         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
33297         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
33298         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
33299         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
33300         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
33301         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
33302         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
33303         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
33304         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
33305         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
33306         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
33307         * modules/posix_spawn, modules/posix_spawn-internal:
33308         * modules/posix_spawn_file_actions_addclose:
33309         * modules/posix_spawn_file_actions_adddup2:
33310         * modules/posix_spawn_file_actions_addopen:
33311         * modules/posix_spawn_file_actions_destroy:
33312         * modules/posix_spawn_file_actions_init:
33313         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
33314         * modules/posix_spawnattr_getpgroup:
33315         * modules/posix_spawnattr_getschedparam:
33316         * modules/posix_spawnattr_getschedpolicy:
33317         * modules/posix_spawnattr_getsigdefault:
33318         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
33319         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
33320         * modules/posix_spawnattr_setschedparam:
33321         * modules/posix_spawnattr_setschedpolicy:
33322         * modules/posix_spawnattr_setsigdefault:
33323         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
33324         * modules/pow, modules/powf, modules/printf-frexp:
33325         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
33326         * modules/progname, modules/propername, modules/pselect:
33327         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
33328         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
33329         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
33330         * modules/read, modules/readdir, modules/readlink:
33331         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
33332         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
33333         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
33334         * modules/relocatable-script, modules/remainder:
33335         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
33336         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
33337         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
33338         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
33339         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
33340         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
33341         * modules/setlocale, modules/sh-quote, modules/shutdown:
33342         * modules/signal, modules/signbit, modules/sigpipe:
33343         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
33344         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
33345         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
33346         * modules/snippet/link-warning, modules/snippet/unused-parameter:
33347         * modules/snprintf, modules/snprintf-posix, modules/spawn:
33348         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
33349         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
33350         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
33351         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
33352         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
33353         * modules/streq, modules/strerror_r-posix, modules/striconv:
33354         * modules/striconveh, modules/striconveha, modules/strncat:
33355         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
33356         * modules/sublist, modules/sys_resource, modules/sys_utsname:
33357         * modules/sys_wait, modules/system-posix, modules/system-quote:
33358         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
33359         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
33360         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
33361         * modules/truncf, modules/truncf-ieee, modules/truncl:
33362         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
33363         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
33364         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
33365         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
33366         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
33367         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
33368         * modules/wait-process, modules/waitpid, modules/wcpcpy:
33369         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
33370         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
33371         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
33372         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
33373         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
33374         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
33375         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
33376         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
33377         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
33378         * modules/write, modules/xconcat-filename, modules/xlist:
33379         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
33380         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
33381         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
33382         * modules/y0, modules/y1, modules/yn:
33383         Remove Bruno Haible as maintainer; if he's the sole maintainer,
33384         change the maintainer to 'all'.  Let's hope someone volunteers.
33386 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
33388         mktime: merge #if/#ifdef usage from glibc
33389         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
33390         as that works with both Glibc's and Gnulib's style.
33391         See thread starting at Siddhesh Poyarekar's bug report at:
33392         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
33394 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
33396         git-version-gen: improve option descriptions
33397         * build-aux/git-version-gen: Mention that --prefix and --fallback
33398         have a mandatory argument.
33400 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33402         regex: fix memory leak in compiler
33403         Fix by Andreas Schwab in:
33404         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
33405         * lib/regcomp.c (parse_expression): Deallocate partially
33406         constructed tree before returning error.
33408         regex: merge patch from libc
33409         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
33410         Combine __USE_BSD and __USE_SVID into __USE_MISC.
33411         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
33413 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
33415         acl: port to gcc -Wredundant-decls
33416         From a request by Dmitry Antipov in:
33417         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
33418         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
33419         "#ifndef _GL_ACL_H".
33421 2014-06-11  Bruce Korb  <bkorb@gnu.org>
33422         Jim Meyering  <meyering@fb.com>
33424         parse-duration: eliminate 68-year duration limit
33425         * lib/parse-duration.c: Include "intprops.h".
33426         (TIME_MAX): Rename to MAX_DURATION and define to
33427         TYPE_MAXIMUM(time_t).
33428         * modules/parse-duration (Depends-on): Add intprops.
33429         Reported by Jonas 'Sortie' Termansen.
33431 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
33433         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
33434         * modules/pthread (Depends-on): Add 'extensions', as it defines
33435         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
33436         (configure.ac-early): New section.
33437         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
33438         it is no longer needed.
33440 2014-06-14  Pádraig Brady  <P@draigBrady.com>
33442         pthread: define thread-safe macros on some platforms
33443         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
33444         for thread-safe operation on some platforms.
33446 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
33448         regex: don't be multithreaded if USE_UNLOCKED_IO.
33449         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
33450         * lib/regex_internal.h: Do not use multithreaded version if
33451         USE_UNLOCKED_IO is defined.  This is a hack, but it works
33452         around a porting bug with coreutils 8.22 on AIX 7.1.
33454 2014-06-11  Daiki Ueno  <ueno@gnu.org>
33456         gettext: update macros to version 0.19
33457         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
33458         depend on gl_EXTERN_INLINE and drop support for older Bison
33459         versions.
33461 2014-06-10  Pádraig Brady  <P@draigBrady.com>
33463         select,poll: fix console handle check on windows 8
33464         lib/poll.c (IsConsoleHandle): Change from testing the lower
33465         2 bits of the handle to the more expensive but accurate syscall.
33466         lib/select.c: Likewise.
33468 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33470         select: fix waiting on anonymous pipes on MS-Windows
33471         * lib/select.c (rpl_select): Fall back to polling when select()
33472         indicates there is nothing to check, while due to the timeout not
33473         expiring, activity is indicated on one of the handles.
33474         Also clear the TIMEOUT argument if the timer does expire.
33476 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
33478         times: fix to return non constant value on MS-Windows
33479         * lib/times.c (times): Don't use the process creation time,
33480         rather clock() which on windows returns the number of
33481         clock ticks since the process started.
33483 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
33485         isatty: fix to work on windows 8
33486         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
33487         2 bits of the handle to the more expensive but accurate syscall.
33489 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33491         maint: fix typo in fdl.texi
33492         * doc/fdl.texi: Fix typo (missing '@').
33493         Somehow this was in fdl.texi but not fdl-1.3.texi.
33495 2014-06-06  Ben Walton  <bdwalton@gmail.com>
33497         mountlist: avoid hasmntopt const type warning on solaris
33498         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
33499         with char * instead of const char *.  Passing the constant string
33500         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
33501         to avoid the warning.
33503 2014-06-04  Eric Blake  <eblake@redhat.com>
33505         maintainer-makefile: delete obsolete code
33506         * top/maint.mk (build_aux): Drop old code, as threatened.
33508         maintainer-makefile: avoid spurious error messages
33509         * top/maint.mk (syntax-check): Guard definition and use of
33510         $(shell) by whether Makefile is present.
33512 2014-06-03  Ben Walton  <bdwalton@gmail.com>
33514         rename: avoid unused-but-set-variable compiler warning
33515         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
33516         it is possible that dst_exists may be set but not used.  Mark it with
33517         the unused attribute to avoid compiler warnings.
33519 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33521         rename: mark a label as potentially unused
33522         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
33523         by marking the out label as potentially unused.
33524         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
33526 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
33528         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
33529         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
33531 2014-06-02  Ben Walton  <bdwalton@gmail.com>
33533         acl: apply pure attribute to two functions
33534         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
33535         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
33537 2014-06-01  Pádraig Brady  <P@draigBrady.com>
33539         gnulib-common.m4: add _GL_UNUSED_LABEL
33540         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
33541         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
33543 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
33545         dup2, fcntl, fcntl-h: port to AIX 7.1
33546         This fixes some porting problems discovered when testing the latest
33547         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
33548         in grep but it could be important for other applications.
33549         * doc/posix-functions/dup2.texi:
33550         * doc/posix-functions/fcntl.texi:
33551         * doc/posix-headers/fcntl.texi:
33552         Document AIX bugs.
33553         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
33554         Define to 0 if outside 'int' range.
33555         * m4/dup2.m4 (gl_FUNC_DUP2):
33556         * m4/fcntl.m4 (gl_FUNC_FCNTL):
33557         Check for getdtablesize.  If it's available, test a value just
33558         outside its range instead of testing 1000000.  When cross-compiling,
33559         guess that AIX will fail this improved test.
33561 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
33563         printf, config.rpath: Port to FreeBSD 10.
33564         Problem reported by Tijl Coosemans in:
33565         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
33566         * build-aux/config.rpath (hardcode_libdir_flag_spec)
33567         (hardcode_direct): Simplify FreeBSD configuration.
33568         (library_names_spec): Don't mishandle FreeBSD 10+.
33569         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
33570         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
33571         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
33572         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
33573         Don't mishandle FreeBSD 10+ when cross-compiling.
33575         ftoastr: work around compiler bug in IBM xlc 12.1
33576         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
33577         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
33578         around a compiler bug in IBM xlc 12.1.0.0: it complains
33579         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
33580         _GL_FLT_PREC_BOUND.'
33582 2014-05-30  Kieran Colford  <colfordk@gmail.com>
33584         valgrind-tests: fixed misleading help message
33585         * m4/valgrind-tests.m4: The help message generated by configure
33586         implied that valgrind was disabled by default, which it wasn't.
33587         Adjusted the help message using s/enable/disable/ to clarify.
33589 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
33591         isfinite, isinf, isnan tests: fix for little-endian PowerPC
33592         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
33593         first double of a PowerPC "double double" pair.
33594         * tests/test-isinf.c (test_isinfl): Likewise.
33595         * tests/test-isnan.c (test_long_double): Likewise.
33596         * tests/test-isnanl.h (main): Likewise.
33597         * tests/test-signbit.c (test_signbitl): Likewise.
33599 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
33601         exclude-tests: port to AIX 7.1
33602         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
33603         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
33604         the regex code uses locks.
33606 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
33608         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
33609         Without this fix, Emacs would sometimes call sigprocmask instead
33610         of pthread_sigmask, which is a no-no in multithreaded applications.
33611         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
33612         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33613         Suppress check for pthread_sigmask working without -lpthread if
33614         the application always links with -lpthread.  Do not link with
33615         $LIBMULTITHREAD if gl_THREADLIB is not defined.
33616         * m4/timer_time.m4 (gl_TIMER_TIME):
33617         Require gl_THREADLIB only if it is defined.  Do not append
33618         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
33620 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
33622         gnulib-tool: wget translations using --no-verbose rather than --quiet
33623         This allows the user to see error messages if any (--quiet hides them)
33624         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
33626 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
33628         gnulib-tool: adjust translation wget to avoid a https redirection
33629         Context: http://translationproject.org/latest/gnulib redirects to
33630            https://translationproject.org/latest/gnulib/
33631         Rationale: if the user falls back to wget, she doesn't have rsync and
33632         is probably in a minimal build environment, where packages such as
33633         'ca-certificates' are missing as well, resulting in a failed (and
33634         difficult to detect since ignored) translation initial fetch.
33635         Consequently let's avoid https if possible, and add the missing
33636         trailing slash.  This also avoids an unnecessary 302 redirection.
33637         * gnulib-tool: Add trailing slash to gnulib URL.
33639 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33641         getlogin_r-tests: check return value rather than errno
33642         * tests/test-getlogin_r.c (main): As per POSIX we should be
33643         verifying the return value from getlogin_r() rather than errno.
33645 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33647         getlogin_r-tests: fix various issues in recent change
33648         * tests/test-getlogin_r.c: Include required headers that were
33649         missed in recent commit eec20b4e.
33650         Also consistently check the errno rather than the return value from
33651         getlogin_r as POSIX only specifies that non zero is returned on error.
33652         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
33654 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
33656         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
33657         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
33658         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
33659         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
33660         * lib/spawn-pipe.c:
33661         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
33662         and then 'int open64(const char *, int, ...);', which means the
33663         declaration for 'open' gets lost if we later '#undef open'.
33664         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
33665         where the compilation reported the non-fatal error "In function
33666         'openat_proc_name' ... warning: implicit declaration of function
33667         'open'".  In this case the error is relatively harmless, but in
33668         other cases it might not be so minor.
33670 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
33672         xalloc: don't potentially generate invalid code for xmemdup calls
33673         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
33674         this function can initialize the newly-allocated storage with new
33675         pointers, which means this function is not malloc-like.  See:
33676         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
33678 2014-05-19  Pádraig Brady  <P@draigBrady.com>
33680         getlogin_r-tests: avoid false failure under sudo/ssh etc.
33681         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
33682         changes from commit 97249cf29 to not depend on environment variables.
33684 2014-05-18  Pádraig Brady  <P@draigBrady.com>
33686         getlogin-tests: avoid false failure under cron
33687         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
33688         since that's not what's under test.  Centos 6 was seen to return
33689         EINVAL for ttyname() when run from cron.
33691 2014-05-16  Jim Meyering  <meyering@fb.com>
33693         mbrtowc.m4: fix a comment typo
33694         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
33695         emitted documentation string.
33697 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
33699         mbrlen, mbrtowc: fix bug with empty input
33700         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
33701         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
33702         so this is mainly for documentation.
33703         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
33704         (gl_FUNC_MBRTOWC): Use it.
33705         * tests/test-mbrtowc.c (main): Test for the bug.
33707 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
33709         doc: document mbrtowc and mbrlen problem with empty input
33710         * doc/posix-functions/mbrlen.texi (mbrlen):
33711         * doc/posix-functions/mbrtowc.texi (mbrtowc):
33712         Document portability problem when the input string is empty.  See:
33713         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
33715         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
33716         Problem reported by Eli Zaretskii in:
33717         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
33718         * doc/posix-functions/execl.texi (execl):
33719         * doc/posix-functions/execle.texi (execle):
33720         * doc/posix-functions/execlp.texi (execlp):
33721         * doc/posix-functions/execv.texi (execv):
33722         * doc/posix-functions/execve.texi (execve):
33723         * doc/posix-functions/execvp.texi (execvp):
33724         Mention spawn+exit problem on non-Cygwin Windows platforms.
33726 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
33728         getlogin-tests: avoid false failure under sudo/ssh etc.
33729         * modules/getlogin-tests (configure.ac): Check for ttyname().
33730         * tests/test-getlogin.c (main): Don't depend on environment variables
33731         to correlate with getlogin(), since sudo and ssh etc. can tamper
33732         with the LOGNAME and USER env vars.  Instead lookup the name from
33733         the uid associated with the stdin tty.
33735 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
33737         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
33738         These were found when building the latest grep snapshot on IRIX 6.5.
33739         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
33740         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
33741         never used later.
33742         * lib/quotearg.c (quoting_options_from_style):
33743         * lib/xstrtol.c (__xstrtol):
33744         Use enum instead of 0, to pacify IRIX 6.5 cc.
33746 2014-04-18  Pádraig Brady  <P@draigBrady.com>
33748         gitlog-to-changelog: revert inclusion of git-log-fix file
33749         * build-aux/git-log-fix: Delete dummy file.
33750         * modules/gitlog-to-changelog: Don't reference (overwrite)
33751         the project specific git-log-fix file.
33753 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
33755         maint.mk: Relax the copyright check to cater for non FSF projects
33756         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
33757         to not require the "Free" suffix after the copyright years.
33759 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
33761         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
33762         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
33763         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
33764         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
33765         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
33767 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
33769         exclude: port to strict C99
33770         Strict C does not allow converting a function pointer to void *
33771         and vice versa.  Pass a pointer to a function pointer instead.
33772         * lib/exclude.c (add_exclude_file):
33773         Pass the address of the function pointer.
33774         (call_addfn): And deference the address here, to match.
33776 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33778         regex: do not depend on malloc-gnu
33779         * modules/regex (Depends-on): Remove malloc-gnu.
33780         It's no longer needed, because of the 2012-12-29 patch
33781         "regex: port to hosts where malloc (0) == NULL".
33782         Reported by Nathan Kennedy in:
33783         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
33785 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
33787         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
33788         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
33789         * doc/posix-functions/expl.texi: Mention the workaround.
33791 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33793         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
33794         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
33795         size to be zero even when the pointer is nonnull.  This
33796         accommodates the use case where P is malloc (0) and *PN is 0 on a
33797         host where malloc (0) yields nonnull.
33799 2014-04-09  Eric Blake  <eblake@redhat.com>
33801         fts: avoid unnecessary strlen calls
33802         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
33804 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33806         fts: avoid unnecessary strlen calls
33807         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
33808         when that can be faster than strlen.
33810 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33812         fts: avoid unnecessary strlen calls
33813         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
33814         (fts_build): Store the length of the dp->d_name entry in a local variable
33815         instead of calling strlen() several times via the above, removed macro.
33816         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
33817         run by ~4%, yet this reduces the execution time by about a third if run
33818         via "ltrace -c rm -rf some-dir".
33820 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33822         obstack: Remove ancient NeXTSTEP gcc support conditional
33823         This change will ease merging with glibc.  The "#if ... __NEXT__"
33824         causes a warning with -Wundef which glibc now enables by default.
33825         Problem reported by Will Newton in
33826         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
33827         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
33828         so go with that.
33829         * lib/obstack.h (__extension__):
33831 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33833         obstack: merge with glibc changes
33834         * lib/obstack.c, lib/obstack.h: Merge from glibc.
33835         This is mostly indenting and commentary changes.
33836         Instances of 'register' have been removed.
33838 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33840         strftime: wrap macros in "do {...} while(0)"
33841         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
33842         this macro in "do {...} while(0)" to prevent false use as a
33843         single statement, e.g., in an un-braced "{}" else-block.
33844         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
33845         (strftime_case_): Remove 'else' after 'goto' - which was the
33846         only non-fatal, un-braced use of one of the above macros.
33847         Spotted by coverity (NESTING_INDENT_MISMATCH).
33849 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33851         modechange: avoid memory leaks for invalid octal modes
33852         * lib/modechange.c (mode_compile): During the parsing of
33853         notations like +40, free the 'mc' buffer for invalid mode
33854         strings like +17777 (greater than the maximum octal mode),
33855         =18 (bad octal mode characters) or u=1 ('affected' with
33856         octal modes).
33857         Reproducer, e.g.:
33858             $ valgrind --leak-check=full chmod +17777 file
33859         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
33860         add notations +40, 00440, etc.".
33861         Spotted by coverity (RESOURCE_LEAK).
33863 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
33865         gitlog-to-changelog: include a dummy git-log-fix file
33866         Problem reported by Nathan Stratton Treadway in:
33867         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
33868         * build-aux/git-log-fix: New file.
33870 2014-03-13  Jim Meyering  <meyering@fb.com>
33872         gitlog-to-changelog: also include the file, git-log-fix
33873         * modules/gitlog-to-changelog (Files): Add git-log-fix.
33874         Reported by Assaf Gordon.
33876 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
33878         regex: port to OS X 10.8.5 en_US.UTF-8 locale
33879         This fixes a bug when ignoring case and when comparing the
33880         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
33881         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
33882         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
33883         titlecase letter is neither lowercase nor uppercase, but
33884         uppercasing the titlecase letter (via towupper) yields the
33885         uppercase letter, so the two letters should match when ignoring case.
33886         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
33887         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
33888         Don't test whether a character is lowercase before uppercasing it.
33890 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
33892         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
33893         This is basically one of the options Bruno Haible proposed in:
33894         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
33895         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
33896         * lib/stdint.in.h: Use it.
33897         * modules/stdint (Depends-on): Add sys_types.
33899 2014-02-26  Pádraig Brady  <P@draigBrady.com>
33901         parse-datetime: fix crash or infloop in TZ="" parsing
33902         * lib/parse-datetime.y (parse_datetime): Break out of the
33903         TZ="" parsing loop once the second significant " is found.
33904         Also skip over any subsequent whitespace to be consistent
33905         with the non TZ= case.
33906         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
33908 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33910         savedir: new symbol for fast-read version
33911         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
33912         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
33913         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
33914         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
33916 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33918         unistd: port readlink to Mac OS X 10.3.9
33919         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
33920         around self-include problem in Mac OS X 10.3.9 when combined with
33921         readlink module.  Problem reported by Klaus Zietler in
33922         <http://bugs.gnu.org/16825>.
33924 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
33926         diffseq: remove TOO_EXPENSIVE heuristic
33927         Problem with diffutils reported by Vincent Lefevre in
33928         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
33929         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
33930         Although appropriate for circa-1993 hardware, these days the heuristic
33931         seems to be more trouble than it's worth.
33932         * lib/diffseq.h: Modernize citations.
33933         (struct context): Remove member too_expensive.
33934         All uses changed.
33935         (struct partition): Remove members lo_minimal, hi_minimal.
33936         All uses changed.
33937         (diag, compareseq): Remove arg find_minimal.  All uses changed.
33938         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
33939         1993 to make 'diff' run faster (but not as well) on large inputs.
33940         These days, computers are fast enough that it's typically better
33941         to run slower but more accurately.
33942         * lib/fstrcmp.c: Remove duplicate comment.
33943         * lib/fstrcmp.c (strcmp_bounded):
33944         * lib/git-merge-changelog.c (compute_differences):
33945         Adjust to diffseq.h changes.
33946         * NEWS: Document the change.
33948         savedir: simplify by using stpcpy
33949         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
33950         (streamsavedir): Use stpcpy instead.
33951         * modules/savedir (Depends-on): Add stpcpy.
33953 2014-02-21  Pádraig Brady  <P@draigBrady.com>
33955         spawn: fix link error on uclibc
33956         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
33957         to incorporate -lrt if needed (on uclibc for example).
33958         * modules/posix_spawn: Reference the substituted LIB.
33960 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
33961         timer: fix uClibc detection of threading
33962         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
33963         enabled in uClibc.
33965 2014-02-21  Eric Blake  <eblake@redhat.com>
33967         maintainer-makefiles: provide AC_PROG_SED for older autoconf
33968         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
33970 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33972         exclude: add support for posix regexps
33974         This commit adds support for POSIX extended regular expressions
33975         and fixes a long-standing memory leak (pattern buffer was never
33976         freed).  It also implements a new interface function to read
33977         exclude patterns from a FILE, which passes an additional parameter
33978         to its callback function, thereby allowing to preserve its state
33979         between invocations.
33981         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
33982         (pattern_buffer): New struct.
33983         (exclude): New member patbuf.
33984         (exclude_add_pattern_buffer): New function.
33985         (free_exclude_segment): Free regexps.
33986         (free_exclude): Free allocated pattern buffers.
33987         (exclude_patopts): New function.
33988         (file_pattern_matches): Use exclude_patopts.
33989         (add_exclude): support regexps.
33990         (add_exclude_fp): New function.
33991         (add_exclude_file): Rewrite using add_exclude_fp.
33992         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33993         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33994         (add_exclude_fp)
33995         (add_exclude_file): Rewrite using add_exclude_fp.
33996         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33997         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33998         (add_exclude_fp)
33999         (exclude_add_pattern_buffer): New prototypes.
34000         * modules/exclude: Depends on regex and filename.
34002 2014-02-20  Eric Blake  <eblake@redhat.com>
34004         maintainer-makefiles: use $(SED) for syntax check
34005         * modules/maintainer-makefile (configure.ac): Check for sane sed.
34006         * top/maint.mk: Change sed to $(SED).
34008 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
34009             Paul Eggert  <eggert@cs.ucla.edu>
34011         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
34012         Patch based on an idea by Dick Streefland in
34013         <https://savannah.gnu.org/patch/?7892>.
34014         * NEWS: Document this.
34015         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
34016         (direntry_t, comparison_function): New types.
34017         (direntry_cmp_name): New function.
34018         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
34019         (streamsavedir, savedir): New arg OPTION.
34020         (streamsavedir): Simplify memory allocation.
34021         (fdsavedir): Remove.
34022         * lib/savedir.h (enum savedir_option): New type.
34023         (streamsavedir, savedir): New arg OPTION.
34024         (fdsavedir): Remove.
34026 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34028         file-type: add support for doors and other less-common file types
34029         Problem with S_ISDOOR reported by Rich Burridge.
34030         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
34031         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
34032         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
34034 2014-01-23  Eric Blake  <eblake@redhat.com>
34036         pthread: work around winpthread header pollution on mingw
34037         * lib/time.in.h: Move pthread workarounds...
34038         * lib/pthread.in.h: ...here.
34039         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
34040         detect macro pollution on mingw.
34041         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
34043 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
34045         qacl: check for fchmod
34046         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
34047         and qset-acl.c both use HAVE_FCHMOD.
34049 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
34051         fdopen-tests: port to Tru64
34052         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
34053         descriptor that is not open, as POSIX doesn't specify the
34054         resulting behavior and the test does not work on Tru64.
34055         Problem reported by Steven M. Schweda in:
34056         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
34058         stdalign: port to HP-UX compilers
34059         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
34060         if __HP_cc or __HP_aCC are nonzero.
34062 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
34064         strtoimax: port to platforms lacking 'long long'
34065         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
34066         check whether strtoll is declared, which causes the C file to
34067         wrongly report an error.  Problem reported by Steven M. Schweda in:
34068         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
34069         * lib/strtoimax.c (strtoull):
34070         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
34071         (strtoll): Declare only if HAVE_LONG_LONG_INT.
34073 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
34075         relocatable-perl: fix texi syntax
34076         * doc/relocatable-maint.texi: Escape braces.
34078 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
34080         relocatable-perl: like relocatable-script, but for Perl scripts
34081         * build-aux/relocatable.pl.in: Add.
34082         * doc/relocatable-maint.texi: Add documentation.
34083         * modules/relocatable-perl: Add.
34085 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
34087         tests: fix export bug in previous patch
34088         Problem reported by Jim Meyering.
34089         * tests/init.sh (re_shell): New var, which is exported instead of
34090         re_shell_.
34092         tests: simplify porting to Solaris 10 /bin/sh
34093         Some test cases in 'grep' need a shell that groks '$(';
34094         export re_shell_ for their benefit.  Problem reported for 'grep'
34095         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
34096         * tests/init.sh (re_shell_): Export if it's used.
34098 2014-01-06  Eric Blake  <eblake@redhat.com>
34100         md5, sha1, sha256, sha512: support older autoconf
34101         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
34102         for autoconf < 2.63b.
34104         include_next: port to autoconf 2.63
34105         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
34107 2014-01-04  Jim Meyering  <meyering@fb.com>
34109         maint: add a gnulib-local rule to keep non-ascii out of .texi files
34110         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
34111         so that "make sc_maint" will ding anyone who puts non-ascii
34112         in any of gnulib's .texi files.
34114 2014-01-03  Jim Meyering  <meyering@fb.com>
34116         freadable, fwritable, fwriting: declare with the "pure" attribute
34117         * lib/freadable.h (freadable): Declare with the "pure" attribute.
34118         * lib/fwritable.h (fwritable): Likewise.
34119         * lib/fwriting.h (fwriting): Likewise.
34120         Suggested by Bruno Haible.
34122         maint.mk: adapt openat.h-include-without-use test
34123         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
34124         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
34125         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
34126         With this change, running "make sc_maint" in gnulib's top-level
34127         directory now passes for me.
34129 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
34131         doc: use ASCII in .texi files where UTF-8 isn't needed
34132         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
34133         * doc/posix-functions/setkey.texi, doc/regex.texi:
34134         Use ASCII input, not UTF-8.
34136 2014-01-02  Jim Meyering  <meyering@fb.com>
34138         freading: declare with the "pure" attribute
34139         * lib/freading.h (freading): Declare with the "pure" attribute.
34141         manywarnings: remove -Wmudflap
34142         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
34143         it is no longer supported in gcc-4.9-to-be.
34145 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34147         relocatable-script: remove unused code
34148         Problem reported by Reuben Thomas in:
34149         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
34150         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
34152 2014-01-01  Jim Meyering  <meyering@fb.com>
34154         maint: fix public-submodule-commit to work with newer git
34155         * top/maint.mk (public-submodule-commit): Remove excess quoting.
34156         We were over-quoting the test arguments, and somewhere prior to
34157         version 1.8.5.2.229, git stopped removing those excess quotes,
34158         which made the test fail, since the unexpanded strings would
34159         always differ; using GIT_TRACE=1 confirmed that the git merge-base
34160         command wasn't even being run.
34162 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
34164         doc: update main copyright year
34165         * doc/gnulib.texi: Update copyright date.
34167 2014-01-01  Eric Blake  <eblake@redhat.com>
34169         version-etc: new year
34170         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
34171         * all files: run 'make update-copyright'
34173 2013-12-24  Eric Blake  <eblake@redhat.com>
34175         passfd: give nicer error for recvfd at eof
34176         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
34177         * tests/test-passfd.c (main): Enhance test to cover this.
34179 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34181         gettimeofday: port recent C++ fix to Emacs
34182         Without this further patch, Emacs won't build due to
34183         the portcheck failing.  Also, this simplifies the patch a bit.
34184         * lib/time.in.h (localtime, gmtime): Don't replace unless
34185         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
34186         * lib/time.in.h (localtime, gmtime):
34187         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
34188         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34189         * modules/time (time.h):
34190         Don't worry about the possibility of localtime and gmtime
34191         being absent; they're present in all C libraries we know about.
34192         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
34193         Don't assume sys_time is present and has been initialized.
34194         Instead, use a hack that should work even if it hasn't been.
34195         Don't use a portcheck for gmtime or localtime; this supports
34196         the hack.
34197         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
34199 2013-12-17  John W. Eaton  <jwe@gnu.org>
34201         gettimeofday: fix C++ crosscompilation
34203         Never replace gmtime and localtime by macros when compiling with
34204         C++, this prevents <ctime> from being included.
34206         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
34207         define gmtime and localtime as preprocessor macros.  Instead
34208         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
34209         REPLACE_LOCALTIME substitutions.
34210         * lib/time.in.h: Declare gmtime and localtime when needed.
34211         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
34212         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
34213         * modules/time: Depend on gettimeofday, and substitute the above
34214         variables in time.h.
34216 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
34218         qacl: port to Windows better
34219         See Eli Zaretskii in
34220         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
34221         * lib/file-has-acl.c (acl_access_nontrivial):
34222         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
34223         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
34225 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
34227         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
34228         * lib/gl_openssl.h: Cast void pointers to a specific type.
34230 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34232         open-tests: fix build failure with -Werror=old-style-declaration
34233         * tests/test-open.h: Reorder the inline to avoid the issue.
34235 2013-12-07  Pádraig Brady  <P@draigBrady.com>
34237         md5, sha1, sha256, sha512: fix link error with partial libcrypto
34238         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
34239         init time, so that if early checks find crypto routines,
34240         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
34241         avoiding link failures.
34243 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
34245         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
34246         This provides a new way to specify the default for
34247         gl_CRYPTO_CHECK, one that is reflected in the --help message.
34248         Emacs uses this, as well as the old way.
34249         This attempts to implement a suggestion by Pádraig Brady in
34250         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
34251         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
34252         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
34254         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
34255         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
34256         Add support for a new option, --with-openssl=auto, which causes
34257         the library to be used if available and silently ignored if not.
34258         Add support to allow configure.ac to specify its own
34259         default, by setting with_openssl_default before invoking gl_INIT.
34261 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
34263         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
34264         Problem reported by Daiki Ueno in:
34265         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
34266         * tests/test-open.h (__always_inline):
34267         New macro, if not already defined.
34268         (test_open): Use it.
34270 2013-12-04  Eric Blake  <eblake@redhat.com>
34272         include_next: minimize code duplication
34273         * modules/include_next (Depends-on): Add absolute-header.
34274         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
34275         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
34277 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34279         getcwd: fix compile error in configure check
34280         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
34282 2013-12-04  Pádraig Brady  <P@draigBrady.com>
34284         regex: suppress core dumps from detection code
34285         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
34286         to suppress core dumps that may well occur on glibc systems.
34287         These core dumps might not be cleaned up automatically, or could
34288         trigger some system core dump handling logic.
34290 2013-12-03  Pádraig Brady  <P@draigBrady.com>
34292         md5, sha1, sha256, sha512: support mandating use of openssl
34293         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
34294         description, to list the now 3 separate options.  also don't
34295         mention the default=no, since this is implicit given the option
34296         is described as --with-openssl rather than --without-openssl.
34297         If projects change the default they're free to document that.
34298         with --with-openssl[=yes] we now error out when the specified
34299         hash algorithm is not available in libcrypto.
34301 2013-12-03  Ivailo  <xakepa10@gmail.com>
34303         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
34304         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
34305         -Wformat-nonliteral checks, as these edge cases are part of the test.
34307 2013-12-03  Eric Blake  <eblake@redhat.com>
34309         regex: avoid glibc deadlock during configure
34310         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
34311         glibc bug 15078 in turn triggers bug 16159.
34312         Reported by Michal Privoznik.
34314 2013-12-02  Pádraig Brady  <P@draigBrady.com>
34316         md5, sha1, sha256, sha512: use openssl routines if available.
34317         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
34318         routines will be used if available, requiring apps to link @LIB_CRYPTO@
34319         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
34320         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
34321         in the standard system location.
34322         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
34323         * m4/sha256.m4: Likewise with SHA256.
34324         * m4/sha512.m4: Likewise with SHA512.
34325         * m4/md5.m4: Likewise with MD5.
34326         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
34327         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
34328         * lib/sha256.h: Likewise with SHA256.
34329         * lib/sha512.h: Likewise with SHA512.
34330         * lib/md5.h: Likewise with MD5.
34331         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
34332         * lib/sha256.c: Likewise with SHA256.
34333         * lib/sha512.c: Likewise with SHA512.
34334         * lib/md5.c: Likewise with MD5.
34335         * modules/crypto/sha1 (Link:): Add the new optional lib.
34336         (Depends-on:): Add dependency on extern-inline.
34337         * modules/crypto/sha256: Likewise.
34338         * modules/crypto/sha512: Likewise.
34339         * modules/crypto/md5: Likewise.
34340         * modules/crypto/sha1-tests: Reference the lib here too.
34341         * modules/crypto/md5-tests: Likewise.
34342         * modules/crypto/gc-des-tests: Likewise.
34343         * modules/crypto/gc-hmac-md5-tests: Likewise.
34344         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34345         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34346         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34347         * modules/crypto/gc-md5-tests: Likewise.
34348         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34349         * modules/crypto/gc-sha1-tests: Likewise.
34350         * modules/crypto/gc-tests: Likewise.
34351         * modules/crypto/hmac-md5-tests: Likewise.
34352         * modules/crypto/hmac-sha1-tests: Likewise.
34353         * modules/crypto/hmac-sha256-tests: Likewise.
34354         * modules/crypto/hmac-sha512-tests: Likewise.
34356 2013-11-29  RV1971  <rv1971@web.de>
34358         base64: (trivial) fix compilation regression on some compilers
34359         * lib/base64.c: Don't return the void function,
34360         instead split to a separate return statement.
34362 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34364         ignore-value: revert previous code change
34365         * lib/ignore-value.h (ignore_value): Use __extension__ and
34366         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
34367         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
34368         Change the comment to try to explain this better.
34370 2013-11-27  Pádraig Brady  <P@draigBrady.com>
34372         selinux-h: improve stub types and add more stub functions
34374         * lib/se-selinux.in.h: Change security_context_t to a typedef
34375         rather than a define, as it's a pointer type and so is better
34376         as a typedef to avoid issues declaring multiple variables
34377         with the comma operator.  Also add stub for string_to_security_class().
34378         * lib/se-context.in.h: Add stub functions for
34379         context_{type,range,role,user}_get().
34381 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34383         ignore-value: prefer GCC version back through 2.0
34384         The code didn't match the comments, so I did a bit of software
34385         archaeology.  GCC 2.0 seems to support __extension__ and
34386         __typeof__, so fix both code and comments to use 2.0.
34387         * lib/ignore-value.h (ignore_value): Use __extension__ and
34388         __typeof__ for GCC 2.0 through 3.3, too.
34390 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
34392         pty: Activate the signature wrapper of forkpty.
34393         The intended preprocessor macro HAVE_FORKPTY is
34394         never defined, yet `lib/forkpty.c' depends on it.
34396         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
34397         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
34398         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
34400 2013-11-18  Jim Meyering  <meyering@fb.com>
34401         and Paul Eggert  <eggert@cs.ucla.edu>
34403         quotearg: don't attempt to store 1 << 31 into an "int"
34404         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
34405         gcc's new -fsanitize=undefined and running its tests triggered some
34406         new test failures due to undefined behavior, all with this diagnostic:
34407           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
34408             cannot be represented in type int
34409         Rather than shifting "1" left to form a mask, shift the bits right and
34410         simply use "1" as the mask.
34412 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34414         error: depend on stdio
34415         Problem reported by Nikos Mavrogiannopoulos in
34416         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
34417         * modules/error (Depends-on): Add stdio.
34419 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
34421         * doc/relocatable-maint.texi (Supporting Relocation): Improve
34422         wording.
34423         Reported by Reuben Thomas <rrt@sc3d.org>.
34425 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
34427         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
34428         New function and macro, to work around _DARWIN_C_SOURCE problem.
34429         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
34431 2013-11-11  Pádraig Brady  <P@draigBrady.com>
34433         base64: provide a fast path for encoding well sized buffers
34434         Avoid conditionals in the base64 encoding loop,
34435         which was seen to give 60% better throughput.
34436         * lib/base64.c (base64_encode_fast): A new function to be called
34437         when we don't want to NUL terminate, and we have enough space
34438         in the output to encode the given input.
34439         (base64_encode): Call the _fast() version when appropriate.
34440         Also remove a redundant mask with 0x3F on the first encoded byte.
34442 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
34444         extern-inline: port better to OS X 10.9
34445         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
34446         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
34447         OS X 10.9, except for g++ where the bug is still present.
34448         See <http://trac.macports.org/ticket/41033>.
34450 2013-11-08  Eric Blake  <eblake@redhat.com>
34452         fpending: fix regression on DragonFly BSD
34453         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
34454         * lib/fpending.h (__fpending): Don't declare twice.
34455         Reported by GW in
34456         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
34458 2013-11-05  Jim Meyering  <meyering@fb.com>
34460         hash: relax license to LGPLv2+, for libguestfs
34461         * modules/hash (License): Change from GPL to LGPLv2+.
34463 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
34465         intprops: port to Oracle Studio c99
34466         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
34467         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
34469 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
34471         obstack: pacify HP C
34472         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
34473         warning "conversion from pointer to smaller integer" from HP
34474         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
34475         C89 or later nowadays, so cast to void instead of int.  Privately
34476         reported by H.Merijn Brand.  Also, change header to match glibc's,
34477         to make checking against glibc easier.
34479 2013-10-29  Jim Meyering  <meyering@fb.com>
34481         maint.mk: prefer gpgv2 over gpgv
34482         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
34483         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
34484         Reported by Gary Vaughan.
34486 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
34488         isnan: port to VAX
34489         Reported by John Klos for NetBSD-5/VAX in
34490         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
34491         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
34492         (FUNC): Use it.
34494 2013-10-28  Jim Meyering  <meyering@fb.com>
34496         gnulib-tool: protect against CDPATH
34497         * gnulib-tool: Many "cd" built-in functions print a directory name
34498         to stdout when CDPATH is set, e.g.,
34499           $ bash -c 'CDPATH=/; cd tmp'
34500           /tmp
34501         Unset it, when possible.  Prompted by a comment from Bruce Korb.
34503         maint.mk: restore functionality removed by recent change...
34504         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
34505         the context of a shallow-cloned gnulib repository: "git describe"
34506         would fail in such a directory.  However, that change made it so
34507         the reported gnulib revision no longer includes the version number
34508         or a commit count, even when run from a full clone.
34509         * top/maint.mk (gnulib-version): Use the full "git describe"
34510         output when possible, e.g., the form above, rather than the
34511         abbreviated, no-tag, no-commit-count string, and fall back to
34512         using a 10-byte hash, rather than the default minimal-length
34513         hash prefix, since while the minimal-length one may be fine today,
34514         it is likely not to be unique for very long.
34516 2013-10-26  Jim Meyering  <meyering@fb.com>
34518         maint.mk: fix "release" target to build _version
34519         This fixes a bug in README-release whereby following the outlined
34520         steps, one would publish a tarball whose programs would report
34521         --version output not consistent with the package version number.
34522         This bug caused grep-2.15 to produce a grep program whose
34523         --version option made it print 2.14.56-1e3d rather than 2.15.
34524         * top/maint.mk (release): Making this target build "_version"
34525         ensures that the new version number is reflected in configure.
34527 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
34529         install-reloc: Support multi-binary installation.
34530         * build-aux/install-reloc: Support installing multiple programs in
34531         one invocation, as done by Automake starting with commit
34532         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
34533         Haible <bruno@clisp.org>, archived at
34534         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
34535         Reported by Sylvain <beuc@gnu.org>.
34537 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
34539         selinux-h: Really build without selinux when library is missing.
34540         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
34541         continue without selinux, as already told in the warning message.
34543 2013-10-21  Jim Meyering  <meyering@fb.com>
34545         regex: also remove dependency on HAVE_WCSCOLL
34546         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
34548 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
34550         xfreopen: Fix typo. s/frepoen/freopen/
34551         * lib/xfreopen.c: Fix description.
34552         * modules/xfreopen: Likewise.
34554 2013-10-21  Jim Meyering  <meyering@fb.com>
34556         regex: don't depend on wcscoll
34557         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
34558         It is no longer used.
34560 2013-10-20  Jim Meyering  <meyering@fb.com>
34562         error: add the printf attribute to a static function
34563         * lib/error.c (error_tail): Add the printf attribute, to placate
34564         gcc's -Werror=suggest-attribute=format option.
34566 2013-09-30  Jim Meyering  <meyering@fb.com>
34568         fpending, obstack, strerror-override: use pure+const function attrs
34569         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
34570         * lib/obstack.c (_obstack_allocated_p): Likewise.
34571         * lib/obstack.h (_obstack_memory_used): Likewise.
34572         (_obstack_memory_used): Likewise.
34573         * lib/strerror-override.h (strerror_override): Declare with
34574         the "const" attribute.
34576 2013-10-18  Eric Blake  <eblake@redhat.com>
34578         extern-inline: make safe for -Wundef usage
34579         Reported by Vladimir 'phcoder' Serbinenko in
34580         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
34581         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
34583 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34585         mkfifo-tests, etc.: allow HP-UX 11.11 bug
34586         Problem reported by Daniel Richard G. in
34587         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
34588         * doc/posix-functions/mkfifo.texi (mkfifo):
34589         * doc/posix-functions/mkfifoat.texi (mkfifoat):
34590         * doc/posix-functions/mknod.texi (mknod):
34591         * doc/posix-functions/mknodat.texi (mknodat):
34592         Document the HP-UX 11.11 bug.
34593         * tests/test-mkfifo.h (test_mkfifo):
34594         Allow the HP-UX 11.11 bug.
34596 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34598         acl: allow cross-compilation to Gentoo
34599         Problem reported by Gabriel Marcano in
34600         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
34601         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
34602         test only whether it links.
34604 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
34606         mgetgroups: remove dependency on realloc-gnu
34607         The dependency violates the comment in realloc-gnu, which
34608         says that tests can't depend on realloc-gnu; some tests depend
34609         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
34610         Problem reported by Daniel Richard G. in
34611         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
34612         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
34613         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
34614         not realloc-gnu.
34616 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34618         regex-tests: port to HP-UX 11.11
34619         Problem reported by Daniel Richard G. in
34620         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
34621         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
34623 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34625         verify: document some 'assume' pitfalls
34626         * doc/verify.texi (Compile-time Assertions):
34627         Mention that 'assume (E)' can sometimes slow things down.
34628         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
34630 2013-10-10  Eric Blake  <eblake@redhat.com>
34632         strtoumax: fix typo in previous commit.
34633         * modules/strtoumax (Depends-on): Fix typo.
34634         * modules/strtoimax (Depends-on): Likewise.
34636 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34638         strtoumax: port to Solaris 8
34639         This problem was introduced in the recent HP-UX patch.
34640         Reported by Tom G. Christensen in
34641         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
34642         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
34643         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
34645 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34647         strtoimax, strtoumax: port to HP-UX 11.11
34648         Problem reported by Daniel Richard G. in
34649         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
34650         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
34651         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
34652         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
34653         REPLACE_STRTOUMAX.
34654         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
34655         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
34656         Replace the function if defined as a macro but not as a function.
34657         * modules/inttypes-incomplete (inttypes.h): Substitute
34658         REPLACE_STRTOUMAX.
34659         * modules/strtoumax (configure.ac): Replace strtoumax if
34660         REPLACE_STRTOUMAX.
34662 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34664         strtoimax: port to HP-UX 11.11
34665         Problem reported by Daniel Richard G.
34666         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
34667         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
34668         they might clash with inttypes.h.
34670 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34672         New module 'count-trailing-zeros'.
34673         * MODULES.html.sh: Mention it.
34674         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
34675         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
34676         * modules/count-trailing-zeros-tests:
34677         * tests/test-count-trailing-zeros.c:
34678         New files.
34680         count-leading-zeros: port to MSC; support types wider than 64 bits
34681         The ideas behind the MSC port are stolen from Emacs.
34682         * lib/count-leading-zeros.h:
34683         Don't include verify.h: it's no longer needed, as types wider than
34684         64 bits are now supported.
34685         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
34686         performance with MSC.  All uses changed.  Do not assume that TYPE
34687         has at most 64 bits.
34688         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
34689         All uses changed.  Fold the subtraction from 31 into the table.
34691         count-one-bits: port to MSC; support types wider than 64 bits
34692         The ideas behind the MSC port are stolen from Emacs.
34693         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
34694         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
34695         Don't include verify.h: it's no longer needed, as types wider than
34696         64 bits are now supported.
34697         (COUNT_ONE_BITS_GENERIC): New macro.
34698         (popcount_supported) [_MSC_VER]: New inline function.
34699         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
34700         performance with MSC.  All uses changed.  Do not assume that TYPE
34701         has at most 64 bits.
34702         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
34704 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
34706         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
34707         * lib/mountlist.c (read_file_system_list): fix leak of directory
34708         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
34710 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34712         tests: improve diagnostic when an assertion fails
34713         * tests/macros.h (ASSERT): Report the assertion that failed.
34715 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
34717         verify: new macro 'assume'
34718         This is taken from Emacs, and should be generally useful.
34719         * doc/verify.texi (assume): Document it.
34720         * lib/verify.h (assume): New macro.
34721         (__has_builtin): Expand to 0 if not defined.
34723 2013-09-26  Eric Blake  <eblake@redhat.com>
34725         dup2, dup3: work around another cygwin crasher
34726         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
34727         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
34728         * tests/test-dup2.c (main): Likewise.
34729         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
34730         * lib/dup3.c (dup3): Likewise.
34731         * doc/posix-functions/dup2.texi (dup2): Document it.
34732         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34734         getdtablesize: work around cygwin issue
34735         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
34736         * modules/getdtablesize (configure.ac): Build replacement.
34737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
34738         * modules/unistd (Makefile.am): Expose the witness.
34739         * lib/unistd.in.h (getdtablesize): Declare replacement.
34740         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
34741         * tests/test-getdtablesize.c (main): Test it.
34742         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
34744 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
34746         pmccabe2html: escaping of special characters
34747         Escape all '<', '>', and '&' in HTML output.
34748         * build-aux/pmccabe2html (html_fnc): Call gsub()
34749         instead of sub() to capture all '<', '>', and '&'.
34750         Neither of '<' and '>' is special in a regexp,
34751         so first arguments to gsub() are corrected. Also,
34752         in replacement strings, ampersand must be escaped.
34753         Finally, '&' must be handled first, then '<' and '>'.
34755 2013-09-24  Eric Blake  <eblake@redhat.com>
34757         manywarnings: enable nicer gcc warning messages
34758         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
34759         some -f options for optimal warnings.
34761 2013-09-21  Jim Meyering  <meyering@fb.com>
34763         timespec: use the new TIMESPEC_RESOLUTION in a few more places
34764         * lib/timespec-add.c (timespec_add): Also replace 999999999
34765         with TIMESPEC_RESOLUTION - 1.
34766         * lib/timespec-sub.c (timespec_sub): Likewise.
34768 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
34770         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
34771         Problem reported by Dagobert Michelsen via Eric Blake in
34772         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
34773         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
34774         not AC_COMPILE_IFELSE.
34776 2013-09-23  Eric Blake  <eblake@redhat.com>
34778         configmake: support new --runstatedir option
34779         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
34780         even if autoconf was too old to provide the command line option.
34781         * modules/configmake (Makefile.am): Propagate it to .h file.
34783 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
34785         ctype, string: depend on extern-inline
34786         This is needed to complete the recent OS X fixes.
34787         Also, fix related documentation as suggested by Eric Blake.
34788         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34789         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
34790         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
34791         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
34792         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
34793         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
34794         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
34795         * doc/posix-functions/toupper.texi:
34796         List the 'ctype' gnulib module.
34797         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
34798         * doc/posix-functions/strncpy.texi:
34799         List the 'string' gnulib module.
34800         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
34801         Add string.
34802         * modules/ctype, modules/string (Depends-on): Add extern-inline.
34804 2013-09-19  Pádraig Brady  <P@draigBrady.com>
34806         userspec: support optional parameters to parse_user_spec()
34807         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
34808         then avoid group processing and treat the full spec as a user.
34809         (parse_with_separator): Allow the USERNAME and GROUPNAME to
34810         be optional params (NULL), in which case they're ignored.
34812 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
34814         timespec: new function make_timespec, and new constants
34815         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
34816         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
34817         (make_timespec): New function.
34818         * lib/dtotimespec.c (dtotimespec):
34819         * lib/timespec-add.c (timespec_add):
34820         * lib/timespec-sub.c (timespec_sub):
34821         * lib/utimens.c (validate_timespec):
34822         * lib/utimensat.c (rpl_utimensat):
34823         Use these new constants and functions.
34825         stdio: OS X port of putc_unlocked + extern inline
34826         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
34827         * doc/posix-functions/putc_unlocked.texi:
34828         * doc/posix-functions/putchar_unlocked.texi:
34829         Document this portability problem.
34831         signal: OS X port of sigaddset etc. + extern inline
34832         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
34833         (sigismember): #undef on problematic Apple platforms.
34834         * doc/posix-functions/sigaddset.texi:
34835         * doc/posix-functions/sigdelset.texi:
34836         * doc/posix-functions/sigemptyset.texi:
34837         * doc/posix-functions/sigfillset.texi:
34838         * doc/posix-functions/sigismember.texi:
34839         Document this portability problem.
34841         extern-inline: do not always suppress extern inline on OS X
34842         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
34843         extern inline on Apple only if the particular compile-time
34844         configuration is known to have the problem.
34845         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
34846         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
34847         other Gnulib modules.
34849         extern-inline: document fixes for ctype and wctype macros
34850         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34851         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
34852         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
34853         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
34854         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
34855         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
34856         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
34857         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
34858         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
34859         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
34860         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
34861         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
34862         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
34863         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
34864         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
34865         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
34866         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
34867         * doc/posix-functions/strncpy.texi:
34868         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
34869         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
34870         Document that Gnulib fixes portability problems with these
34871         functions on OS X 10.8 and earlier when called from plain inline
34872         or extern inline functions.
34874 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
34876         fflush, freadahead, fseeko: Fix for Android
34877         Suggested by Bruno Haible in:
34878         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
34879         * lib/stdio-impl.h: Use local __sfileext definition.
34881 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
34883         pmccabe2html: Portability to other awk versions.
34884         The functions systime() and strftime() are available
34885         in Gawk only.  Properly close two HTML-tags 'style'
34886         and 'span'.
34887         * build-aux/pmccabe2html (BEGIN): Store timing
34888         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
34889         systime() in HTML_COMMENT.
34890         (html_header): Correctly close tag 'style'.
34891         (END): Replace strftime() by CHRONOS_TIME.  Close
34892         tag 'span' correctly, not as 'div'.
34894 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
34896         getgroups: statement without effect
34897         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
34898         Change equality conditional to expected assignment.
34900 2013-09-09  Eric Blake  <eblake@redhat.com>
34902         glob: fix compilation
34903         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
34905 2013-09-07  Eric Blake  <eblake@redhat.com>
34907         glob: fix build for platforms without __THROW
34908         * lib/glob.in.h (__THROW): Add definition again.
34910 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
34912         regex-quote: fix buffer access out of bounds
34913         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
34914         * lib/regex-quote.c (regex_quote_spec_pcre):
34915         Fix typo that resulted in an out-of-bounds read.
34917 2013-09-04  Eric Blake  <eblake@redhat.com>
34919         glob: avoid -Wattribute warnings on glibc
34920         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
34921         __THROWNL, not __THROW, on static functions.
34922         * lib/glob.in.h (__THROW): Adjust...
34923         (__THROWNL): ...accordingly.
34925 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34927         headers: check that _GL_INLINE_HEADER_BEGIN is defined
34928         Suggested by Bruce Korb in:
34929         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
34930         * doc/extern-inline.texi (extern inline):
34931         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
34932         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
34933         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
34934         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
34935         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
34936         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
34937         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
34938         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
34939         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
34940         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
34941         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
34942         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
34943         * lib/xtime.h:
34944         Check that _GL_INLINE_HEADER_BEGIN is defined.
34946 2013-08-29  Pádraig Brady  <P@draigBrady.com>
34948         bootstrap: remove the --version requirement from ancillary tools
34949         * build-aux/bootstrap (check_exists): A new refactored function to
34950         determine if a command exists.
34951         (find_tool): Use the new function which does not require the
34952         --version option to be supported.
34953         (check_versions): Use the new function.
34955 2013-08-26  Simon Josefsson  <simon@josefsson.org>
34957         gc: support HMAC-SHA256 and HMAC-SHA512.
34958         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
34959         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
34960         functions.
34961         (gc_hmac_md5): Use symbolic constant.
34962         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
34963         (gc_hmac_sha256, gc_hmac_sha512): New functions.
34964         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
34965         * m4/sha256.m4: Protect against empty expansion.
34966         * m4/sha512.m4: Likewise.
34967         * lib/hmac-sha256.c: New file.
34968         * lib/hmac-sha512.c: Likewise.
34969         * m4/gc-hmac-sha256.m4: Likewise.
34970         * m4/gc-hmac-sha512.m4: Likewise.
34971         * m4/gc-sha256.m4: Likewise.
34972         * m4/gc-sha512.m4: Likewise.
34973         * modules/crypto/gc-hmac-sha256: Likewise.
34974         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34975         * modules/crypto/gc-hmac-sha512: Likewise.
34976         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34977         * modules/crypto/hmac-sha256: Likewise.
34978         * modules/crypto/hmac-sha256-tests: Likewise.
34979         * modules/crypto/hmac-sha512: Likewise.
34980         * modules/crypto/hmac-sha512-tests: Likewise.
34981         * tests/test-gc-hmac-sha256.c: Likewise.
34982         * tests/test-gc-hmac-sha512.c: Likewise
34983         * tests/test-hmac-sha256.c: Likewise.
34984         * tests/test-hmac-sha512.c: Likewise
34986 2013-08-24  Daiki Ueno  <ueno@gnu.org>
34988         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
34989         of AC_CHECK_DECLS.
34991 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34993         selinux-at: omit unnecessary include
34994         * lib/selinux-at.c: Don't include dosname.h; not needed, since
34995         this source file doesn't use its macros, and subsidiary files that
34996         use the macros already include it.
34998 2013-08-21  Eric Blake  <eblake@redhat.com>
35000         d-ino: avoid false negative on symlink
35001         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
35002         Reported by Stephane Chazelas.
35004 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
35006         bootstrap: port to OpenBSD sed
35007         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
35008         does not interpret `-' as a file argument to mean stdin.
35010 2013-08-15  Eric Blake  <eblake@redhat.com>
35012         warnings: minor optimization
35013         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
35015         warnings: check -Wfoo rather than -Wno-foo
35016         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
35017         -Wno-, test if the compiler recognizes the positive form instead.
35019 2013-08-15  Karl Berry  <karl@gnu.org>
35021         * config/srclist-update: add option "doclicense" to placate
35022         pulling *.texi files from Emacs.  Write terse usage
35023         documentation at the top.
35025 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
35027         xvasprintf-tests: port to GCC with hardening flags
35028         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
35029         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
35030         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
35032 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
35034         fpending: port to recent Cygwin change to stdio_ext.h
35035         Reported by LRN in
35036         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
35037         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
35038         just declare __fpending unless it's a macro.
35039         A duplicate decl shouldn't hurt.
35040         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
35041         call compiles and links, instead of separately checking for
35042         decl and lib function.
35043         * modules/fpending (configure-ac):
35044         Adjust to fpending.m4's renaming of shell variable.
35046 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35048         sys_time: port to OpenBSD
35049         * lib/sys_time.in.h: Simply delegate to the system's header
35050         in the BSDish cases as well.  Problem reported by Mike Miller in
35051         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
35052         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
35053         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
35054         wider than time_t.
35056 2013-08-09  Pádraig Brady  <P@draigBrady.com>
35058         bootstrap: support checksum utils having -c but not --status
35059         * build-aux/bootstrap: Only look for sha1sum if updating po files.
35060         Add sha1 to the list of supported checksum utils since it's now
35061         supported through adjustments below.
35062         (update_po_files): Remove the use of --status
35063         in a way that will suppress all error messages, but since this is
35064         only used to minimize updates, it shouldn't cause an issue.
35065         Exit early if there is a problem updating the po file checksums.
35066         (find_tool): Remove the check for --version support as this
35067         is optional as per commit 86186b17.  Don't even check for the
35068         presence of the command as if that is needed, it's supported
35069         through configuring prerequisites in bootstrap.conf.
35070         Prompt that when a tool isn't found, one can define an environment
35071         variable to add to the hardcoded search list.
35073 2013-08-05  Jim Meyering  <meyering@fb.com>
35075         regex: port to non-glibc/lock-using systems
35076         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
35077         system with GNULIB_LOCK would fail due to absence of the
35078         included "glthread/lock.h".  This would affect any package
35079         for which the "lock" module is used only by the regex module,
35080         and not explicitly used.
35081         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
35082         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
35083         Add a dependency on the "lock" module.
35085 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35087         localecharset: make locale_charset thread-safe on Mac OS X
35088         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
35089         instead of MB_CUR_MAX.
35091 2013-07-20  Daiki Ueno  <ueno@gnu.org>
35093         gettext: update to version 0.18.3
35094         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
35095         require AC_PROG_SED to allow user to specify custom sed command when
35096         generating en@quot PO file.
35098 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
35100         bootstrap: use correct source when copying build-aux files
35101         * build-aux/bootstrap (gnulib_extra_files): This variable is
35102         relative to upstream gnulib layout, not downstream.
35104 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
35106         tmpdir: fix bug in VMS port
35107         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
35108         See Steven M. Schweda in
35109         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
35111 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
35113         tmpdir: port to VMS, to // != /, and to long dirs
35114         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
35115         __secure_getenv, so that we're more like the glibc version.
35116         All uses changed.
35117         (path_search): Don't put slash after directory if __VMS.
35118         Problem reported by Steven M. Schweda in
35119         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
35120         Simplify code to add slash; no need for a loop.
35121         Do not remove trailing slash from "//".
35122         Do not assume dlen <= INT_MAX.
35124 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
35126         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
35127         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
35128         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
35129         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
35131         accept4, dup3, pipe2: port to Cygwin
35132         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
35133         * lib/accept4.c (accept4) [O_BINARY]:
35134         * lib/dup3.c (dup3) [O_BINARY]:
35135         * lib/pipe2.c (pipe2) [O_BINARY]:
35136         Use set_binary_mode, not setmode.
35137         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
35138         * modules/binary-io (Depends-on): Remove module indicator.
35139         These last two bits undo the previous change to pipe2 and binary-io.
35141 2013-07-09  Pádraig Brady  <P@draigBrady.com>
35143         mountlist: add support for deallocating returned list entries
35144         * lib/mountlist.c (free_mount_entry): A new exported function
35145         to deallocate a mount list entry.
35146         (read_file_system_list): Refactor to use the new deallocation function.
35147         Suggested by Anton Ovchinnikov.
35149 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
35151         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
35152         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
35153         * lib/stdalign.in.h (_Alignas, _Alignof):
35154         Port to FreeBSD 9.1, and to C11 and C++11.
35155         (_Alignas): Also support ICC.
35156         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
35157         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
35159 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35161         fnmatch: don't goto over declaration
35162         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
35163         undefined behavior for goto over a declaration.
35164         Problem reported by Charlie Brown in
35165         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
35167         pipe2: decouple from binary-io a bit
35168         This is for Emacs, which needs pipe2 but not binary-io.
35169         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
35170         * modules/binary-io (Depends-on): Add module indicator.
35172 2013-07-03  Eric Blake  <eblake@redhat.com>
35174         mgetgroups: relax license to LGPLv2+
35175         * modules/getugroups (License): Change from GPLv3+.
35176         * modules/mgetgroups (License): Likewise.
35177         * modules/getgroups (License): Change from LGPLv3+.
35179         xalloc-oversized: relax license to LGPLv2+
35180         * modules/xalloc-oversized (License): Change from GPLv3+.
35182         nproc: relax license to LGPLv2+
35183         * modules/nproc (License): Change from LGPLv3+.
35185         bootstrap: honor --no-git
35186         * build-aux/bootstrap: Don't even try to use git when user is
35187         pointing to a static checkout.
35189 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35191         ignore-value: port to gcc -pedantic
35192         * lib/ignore-value.h (ignore_value):
35193         Port to gcc -pedantic, by using __extension__.
35194         Reindent as per usual gnulib style nowadays.
35195         Simplify GCC version check.
35197 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35199         extern-inline: port to gcc -std=c89
35200         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
35201         Do not use __gnu_inline__ if pedantic and pre-C99.
35203 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35205         doc: document extern-inline
35206         * doc/extern-inline.texi: New file.
35207         * doc/gnulib.texi (alloca-opt): Include it.
35208         * m4/extern-inline.m4: Move some comments to documentation,
35209         and others closer to what they describe.
35211         doc: chatter less
35212         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
35213         (updated-stamp): Use it.  This causes 'make' to output just
35214         one file name rather than zillions.
35216         fflush, fseeko: port to musl cross-compiles
35217         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
35218         on some implementation that (1) is not known to be buggy,
35219         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
35220         cross-compiled to so we can't easily check for lack of
35221         conformance.  This is for cross-compiling to musl.
35222         Reported by Rich Felker in
35223         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
35224         * m4/fclose.m4 (gl_FUNC_FCLOSE):
35225         * m4/fflush.m4 (gl_FUNC_FFLUSH):
35226         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
35227         Adjust to above change.
35228         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
35229         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
35230         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
35231         known not to work, or unknown.
35233 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35235         msvc-inval: port to mingw-w64
35236         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
35237         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
35238         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
35240 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
35242         getcwd-lgpl: port to Tru64
35243         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
35244         Problem reported by Steven M. Schweda in
35245         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
35247         tests: port large-fd POSIX spawn tests to OS X
35248         Problem reported by Daiki Ueno in
35249         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
35250         * tests/test-posix_spawn_file_actions_addclose.c:
35251         * tests/test-posix_spawn_file_actions_adddup2.c:
35252         * tests/test-posix_spawn_file_actions_addopen.c:
35253         Include <limits.h>, for OPEN_MAX, if available.
35254         (big_fd): New static function.
35255         (main): Use it.
35257 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
35259         tests/nap.h: use an adaptive delay to avoid ctime update issues
35260         The recent change in nap.h (5191133e) decreased the probability of lost
35261         races to about a third, however such problems could still be observed
35262         in virtual machines and openSUSE's OBS.
35263         Before, nap() detected the needed time once empirically and then used
35264         that delay (together with a small correction multiplier) in further
35265         calls.  This problem has been reported and discussed several times,
35266         including guesses about possible kernel issues:
35267         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
35268         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
35269         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
35270         http://bugs.gnu.org/12820
35271         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
35272         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
35273         Now, nap() avoids the race alltogether by verifying on a reference
35274         file whether a timestamp difference has happened.
35275         * tests/nap.h (nap_fd): Define file descriptor variable for the
35276         witness file.
35277         (nap_works): Change return value to bool.  Change passing
35278         the old file's status by value instead of by reference as this function
35279         does no longer update that timestamp; rename the function argument from
35280         st to old_st.  Remove the local variables cdiff and mdiff because that
35281         function now returns true/false instead of the precise delay.
35282         (guess_delay): Remove function.
35283         (clear_tmp_file): Add new function to close and unlink the witness file.
35284         (nap): Instead of re-using the delay which has been calculated during
35285         the first call, avoid the race by actually verifying that a timestamp
35286         difference can be observed on the current file system.  Use an adaptive
35287         approach for the delay to minimize execution time.  Assert that the
35288         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
35289         = 2^31 - 1 = 2.1s.
35290         Use atexit to call clear_tmp_file when the process terminates.
35292 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
35294         sig2str: port to C++
35295         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
35296         Reported by Daniel J Sebald in
35297         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
35299 2013-05-30  Eric Blake  <eblake@redhat.com>
35301         docs: mention cygwin shortcoming in <sys/un.h>
35302         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
35304         vasnprintf: silence mingw compiler warning
35305         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
35307 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
35309         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
35310         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
35311         This fixes a porting bug I recently reintroduced in regex, and
35312         some other instances that I discovered while testing the fix.
35313         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
35314         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
35315         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
35316         with an empty argument if this is a pedantic pre-C99 GCC.
35317         * lib/verify.h: Do not use _Static_assert if this is a pedantic
35318         pre-C11 GCC.
35320         regex: adapt to locking regime instead of depending on pthread
35321         Instead of depending on pthread, adapt to whatever thread
35322         modules are in use.  Problem reported by Ludovic Courtès in
35323         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
35324         and by Mats Erik Andersson in
35325         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
35326         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35327         Support either the 'lock' module, or the 'pthread' module, or
35328         no module.
35329         (lock_lock, lock_unlock): New macros.
35330         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
35331         * modules/lock, modules/pthread (configure.ac): Add module indicator.
35332         * modules/regex (Depends-on): Remove pthread.
35334 2013-05-22  Eric Blake  <eblake@redhat.com>
35336         getgroups: document portability issues
35337         * doc/glibc-functions/initgroups.texi (initgroups): Mention
35338         multithread safety.
35339         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
35340         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
35341         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
35342         getugroups.
35343         * doc/posix-functions/getgroups.texi (getgroups): Mention
35344         multithread safety and mgetgroups.
35346 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
35348         test-lchown, test-chown: also skip test if chown fails with EPERM
35349         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
35350         skip this test, to handle FAT file systems.
35351         * tests/test-chown.h (test_chown): Likewise.
35353 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
35355         regex: fix dfa race in multithreaded uses
35356         Problem reported by Ludovic Courtès in
35357         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
35358         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
35359         New macros.  All uses of __libc_lock_define, __libc_lock_init
35360         changed to use the first two of these.
35361         (__libc_lock_lock, __libc_lock_unlock): New macros, for
35362         non-glibc platforms.
35363         (struct re_dfa_t): Define the lock unconditionally.
35364         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
35365         '#ifdef _LIBC"s.
35366         * modules/regex (Depends-on): Add pthread, if we use the
35367         included regex.
35369         * lib/regcomp.c: Do actions that are not needed for glibc,
35370         but may be needed elsewhere.
35371         (regfree, re_compile_internal): Destroy the lock.
35372         (re_compile_internal): Check for lock-initialization failure.
35374         malloca: port to compilers that reject size-zero arrays
35375         This fixes a bug introduced in my previous patch.
35376         * lib/malloca.c (struct preliminary_header): Use an int
35377         rather than a character array of size int; that's simpler.
35378         (struct header): Remove, replacing with ...
35379         (union header): New type.  This avoids the need for declaring a
35380         character array of size zero, which is not allowed on some platforms.
35381         All uses changed.
35383 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
35385         parse-datetime, tests: don't use "string" + int
35386         Recent versions of 'clang' complain about C source code that
35387         uses expressions of the form '"string literal" + integer',
35388         I guess on the theory that it's confusing for readers who are
35389         used to C++.  On those grounds I suppose it's OK to make this
35390         minor style change.
35391         * lib/parse-datetime.y (parse_datetime):
35392         * tests/test-fchdir.c (main):
35393         * tests/test-snprintf-posix.h (test_function):
35394         * tests/test-snprintf.c (main):
35395         * tests/test-vasnprintf-posix.c (test_function):
35396         * tests/test-vasnprintf.c (test_function):
35397         * tests/test-vsnprintf.c (main):
35398         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
35399         Rewrite '"str" + E' to '&"str"[E]'.
35401 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
35403         argmatch: port to C++
35404         * lib/argmatch.h [__cplusplus]: Add extern "C".
35406         argp: typo fix
35407         * lib/argp-help.c: Typo in comment.
35409 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
35411         manywarnings: update for GCC 4.8.0
35412         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
35413         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
35414         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
35415         -Wmissing-noreturn, as they are duplicates of other warnings.
35416         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
35417         was documented to be flaky in earlier versions of GCC.
35419         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
35420         * tests/test-spawn.c (main):
35421         * tests/test-sys_socket.c (main):
35422         * tests/test-sys_wait.c (main):
35423         Don't have a switch value that isn't covered by a case.
35425         getaddrinfo-tests: port --enable-gcc-warnings to clang
35426         * tests/test-getaddrinfo.c (simple):
35427         Avoid casts from looser to stricter-aligned pointers.
35429         thread: port --enable-gcc-warnings to clang
35430         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
35431         Include <signal.h>, to pacify a warning about pthread_sigmask.
35433         stdio: use __REDIRECT for fwrite, fwrite_unlocked
35434         * lib/stdio.in.h (fwrite):
35435         When working around bug 11959, use __REDIRECT rather than '#define
35436         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
35437         fix the -Wunused-value issue with clang, and it works with GCC too.
35438         Problem with targeting reported by Eric Blake in
35439         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
35440         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
35441         debugging the fwrite issue.
35443         stdio: port --enable-gcc-warnings to clang
35444         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
35445         since the GCC workaround for fwrite does not pacify clang.
35447         sig2str: port --enable-gcc-warnings to clang
35448         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
35450         obstack: port --enable-gcc-warnings to clang
35451         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
35452         Avoid casts from looser to stricter-aligned pointers.
35454         memchr2: port --enable-gcc-warnings to clang
35455         * lib/memchr2.c (memchr2):
35456         Avoid casts from looser to stricter-aligned pointers.
35458         mbsstr: port --enable-gcc-warnings to clang
35459         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
35460         Avoid casts from looser to stricter-aligned pointers.
35462         malloca: port --enable-gcc-warnings to clang
35463         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
35464         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
35466         inttostr: port --enable-gcc-warnings to clang
35467         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
35469         warnings: port to clang
35470         Problem reported by Daniel P. Berrange via Eric Blake in
35471         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
35472         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
35473         (gl_WARN_ADD): Use it.
35475 2013-05-11  Jim Meyering  <meyering@fb.com>
35477         quotearg: do not read beyond end of buffer
35478         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
35479         end of an ARG for which no length was specified.  With an N-byte
35480         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
35481         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
35482         via coreutils' misc/sort-debug-keys.sh test and detected by running
35483         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
35484         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
35485         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
35486         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
35487         characters correctly."
35489 2013-05-11  Daiki Ueno  <ueno@gnu.org>
35491         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
35492         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
35493         compilation target is Mac OS X 10.6.
35494         Problem reported by parafin and Andoni Morales in
35495         <http://savannah.gnu.org/bugs/?37844> and
35496         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
35498 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
35500         mkdir-p: remove assumptions about umask and mode
35501         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
35502         umask is 0, or that MODE is a subset of MODE_BITS.
35504 2013-05-10  Eric Blake  <eblake@redhat.com>
35506         maint.mk: catch more abuse of HAVE_DECL in syntax-check
35507         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
35509 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
35511         deps: require Automake >= 1.9.6 in generated Makefile fragments
35513         That is the same minimal version required in the DEPENDENCIES file.
35514         Moreover, the old code generated a requirement of Automake >= 1.5,
35515         and that is an insanely outdated version.
35517         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
35518         * tests/havelib/rpathlx/Makefile.am: Likewise.
35519         * tests/havelib/rpathly/Makefile.am: Likewise.
35520         * tests/havelib/rpathlyx/Makefile.am: Likewise.
35521         * tests/havelib/rpathlz/Makefile.am: Likewise.
35522         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
35523         * tests/havelib/rpathx/Makefile.am: Likewise.
35524         * tests/havelib/rpathy/Makefile.am: Likewise.
35525         * tests/havelib/rpathz/Makefile.am: Likewise.
35527 2013-05-08  Eric Blake  <eblake@redhat.com>
35529         bootstrap: AC_INIT may have more than four parameters
35530         * build-aux/bootstrap (extract_package_name): Correctly extract
35531         non-empty tarname field.  Avoid range in regex.
35532         Based on a report by Sami Kerola <kerolasa@iki.fi>.
35534 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
35536         qacl: port to MS-Windows port of GNU Emacs
35537         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
35538         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
35539         port of GNU Emacs.  Problem reported by Eli Zaretskii in
35540         <http://bugs.gnu.org/14295#14>.
35542 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
35544         acl: include quote.h
35545         * lib/copy-acl.c: Include quote.h.
35546         * lib/set-acl.c: Likewise.
35548 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
35550         fchownat, renameat, unlinkat: update statat dependencies
35551         These modules use statat and lstatat, not fstatat; so depend on
35552         the statat module, which was split out recently from fstatat.
35553         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
35554         * modules/renameat: Likewise.  Also delete fstat.
35555         URL: http://bugs.gentoo.org/468790
35557 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
35559         Assume gnulib is checked out from Git, not CVS
35561         In fact, access to the gnulib repository through CVS has been
35562         disabled, or more precisely, got broken and was never restored; see:
35563         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
35565         Note that support for CVS is not removed completely and unthinkingly
35566         by this change: only support for CVS checkouts of gnulib itself is
35567         removed.  For example, the 'bootstrap' script still cater to .cvsingore
35568         files and CVS directories, for the benefit of those poor gnulib clients
35569         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
35571         * gnulib-tool: Simplify accordingly.
35572         * posix-modules: Likewise.
35573         * MODULES.html.sh: Likewise.
35574         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
35575         repository.
35576         * doc/gnulib-intro.texi: Likewise.
35577         * doc/gnulib-readme.texi: Likewise.
35578         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
35579         sample '.gitignore' file rather than a sample '.cvsignore'.
35580         * NEWS: Update.
35581         * m4/extensions.m4: While at it, remove a comment mistakenly referring
35582         to "CVS Autoconf" rather than "git Autoconf".
35584 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
35586         utimensat-tests, etc.: try to fix some races
35587         Problem reported by Bernhard Voelker in
35588         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
35589         I don't know whether this patch fixes that race condition, but it
35590         fixes *some* race conditions, so it should be a win.
35591         * modules/chown-tests (Depends-on):
35592         * modules/fchownat-tests (Depends-on):
35593         * modules/fdutimensat-tests (Depends-on):
35594         * modules/futimens-tests (Depends-on):
35595         * modules/lchown-tests (Depends-on):
35596         * modules/stat-time-tests (Depends-on):
35597         * modules/utimens-tests (Depends-on):
35598         * modules/utimensat-tests (Depends-on):
35599         Depend on nanosleep, not usleep.
35600         * modules/chown-tests (test_chown_LDADD):
35601         * modules/lchown-tests (test_lchown_LDADD):
35602         * modules/stat-time-tests (test_stat_time_LDADD):
35603         New macro.
35604         * modules/fchownat-tests (test_fchownat_LDADD):
35605         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
35606         * modules/futimens-tests (test_futimens_LDADD):
35607         * modules/utimens-tests (test_utimens_LDADD):
35608         * modules/utimensat-tests (test_utimensat_LDADD):
35609         Add $(LIB_NANOSLEEP).
35610         * modules/stat-time-tests (Files): Add tests/nap.h.
35611         * tests/nap.h: Include <limits.h>, for INT_MAX.
35612         (lt_mtime): Remove.
35613         (diff_timespec): New function.
35614         (get_stat): Rename from get_mtime.  All callers changed.
35615         (nap_works): Determine the needed delay by inspecting the
35616         file system's timestamp jumps; this should be more reliable.
35617         Look at both mtime and ctime, and take the maximum of the two jumps.
35618         (nap_works, guess_delay):
35619         Return a nanosecond count, not a microsecond count.
35620         All callers changed.
35621         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
35622         failure.
35623         (nap): Multiply the guess by 1.125, to accommodate the case where
35624         the file system's clock is a bit slower than nanosleep's clock.
35625         * tests/test-stat-time.c (BASE): New macro.
35626         Include nap.h.
35627         (nap): Remove; nap.h now defines this.  This removes a duplicate
35628         implementation of 'nap'.
35630         utimens, utimensat: work around Solaris UTIME_OMIT bug
35631         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
35632         Linux kernel 2.6.32 does.  Work around it in the same way.
35633         * doc/posix-functions/futimens.texi (futimens):
35634         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
35635         * lib/utimens.c (fdutimens, lutimens):
35636         * lib/utimensat.c (rpl_utimensat): Work around the bug.
35638         gettext: now it's your responsibility to add -I$(top_builddir)/intl
35639         Formerly, it was your responsibility to do this for all Makefile.ams
35640         other than Gnulib's.  Now it's your responsibility to do it for
35641         Gnulib's Makefile.am, too.
35642         * NEWS: Document this.
35643         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
35645         acl: include errno.h to get errno
35646         Reported by Daiki Ueno in
35647         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
35648         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
35650 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
35652         tests: don't assume getdtablesize () <= 10000000
35653         * modules/cloexec-tests:
35654         * modules/dup2-tests:
35655         * modules/dup3-tests:
35656         * modules/nonblocking-tests:
35657         * modules/posix_spawn_file_actions_addclose-tests:
35658         * modules/posix_spawn_file_actions_adddup2-tests:
35659         * modules/posix_spawn_file_actions_addopen-tests:
35660         * modules/unistd-safer-tests:
35661         Depend on the getdtablesize module.
35662         * tests/test-cloexec.c:
35663         * tests/test-dup-safer.c:
35664         * tests/test-dup2.c:
35665         * tests/test-dup3.c:
35666         * tests/test-fcntl.c:
35667         * tests/test-nonblocking.c:
35668         * tests/test-posix_spawn_file_actions_addclose.c:
35669         * tests/test-posix_spawn_file_actions_adddup2.c:
35670         * tests/test-posix_spawn_file_actions_addopen.c:
35671         Don't assume getdtablesize () <= 10000000.
35673 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
35675         extern-inline: work around bug in Sun c99
35676         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35677         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
35679 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
35681         qacl: new module, broken out from the acl module
35682         This is for GNU Emacs, which wants the acl functions but does
35683         not want 'error' invoked when they fail.
35684         * lib/acl-internal.h: Do not include error.h, quote.h.
35685         (ENOSYS, ENOTSUP): Remove; no longer needed.
35686         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
35687         * lib/acl.h: Include <stdbool.h>.
35688         (acl_errno_valid): New function.
35689         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
35690         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
35691         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
35692         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
35693         (ACL_INTERNAL_INLINE): Remove; no longer needed.
35694         * lib/file-has-acl.c (file_has_acl):
35695         * lib/qcopy-acl.c (qcopy_acl):
35696         * lib/qset-acl.c (qset_acl):
35697         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
35698         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
35699         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
35700         lib/file-has-acl.c, m4/acl.m4 to qacl module.
35701         Add lib/set-acl.c.
35702         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
35703         Add qacl.
35704         (configure.ac): Move gl_FUNC_ACL to qacl module.
35705         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
35706         Rename set-mode-acl.c to set-acl.c.
35707         * lib/acl-errno-valid.c: New file.
35708         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
35709         copy_acl function remains in copy-acl.c.
35710         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
35711         (_): Remove; not needed.
35712         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
35713         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
35714         * modules/qacl: New file, moved from the old modules/acl.
35715         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
35716         Remove set-mode-acl.c, copy-acl.c.
35717         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
35719         alignof, intprops, malloca: port better to IBM's C compiler
35720         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
35721         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
35722         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
35724 2013-04-25  Daiki Ueno  <ueno@gnu.org>
35726         wctype-h: fix gettext link error on mingw
35727         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
35728         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
35729         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
35730         rpl_towupper and rpl_towupper.
35732 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
35734         regex-tests, regex: allow glibc re_search behavior
35735         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
35736         re_search input data to make the multi-character collating element
35737         in it clearly visible, and treat re_search return code 0 as valid.
35738         * m4/regex.m4 (gl_REGEX): Likewise.
35740 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
35742         stdalign: doc fix
35743         * doc/posix-headers/stdalign.texi (stdalign.h):
35744         Gnulib doesn't support '_Alignof expr'.
35746 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
35748         stdalign: port to stricter ISO C11
35749         ISO C11 says that _Alignof's operand must be a parenthesized type.
35750         Problem reported by Eli Zaretskii in
35751         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
35752         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
35753         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
35755 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
35757         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
35758         Problem reported by Marco Atzeri in
35759         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
35760         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
35761         Simply delegate to the system <sys/select.h> in this case too.
35762         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
35763         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
35764         be needed on Solaris either.
35765         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
35766         Simply delegate to the system <sys/time.h> in this case.
35768 2013-03-19  Karl Berry  <karl@gnu.org>
35770         * build-aux/gnupload: check for erroneous (with gnupload) use of
35771         ftp-upload.gnu.org, tweak help.
35773 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
35775         copy-file, rpmatch: fix problems found by cppcheck
35776         Reported by Arno Onken in
35777         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
35778         * lib/rpmatch.c (try): Fix memory leak.
35779         * lib/copy-file.c: Include "ignore-value.h".
35780         (qcopy_file_preserving): Ignore chown value.
35781         * modules/copy-file (Depends-on): Add ignore-value.
35783 2013-01-27  Jim Meyering  <jim@meyering.net>
35785         prefix-gnulib-mk: give better diagnostics
35786         * build-aux/prefix-gnulib-mk: Don't just "die".
35787         Give better diagnostics upon failure.
35789 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
35791         putenv: port to Solaris 10
35792         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
35793         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
35794         is not what is wanted here.
35795         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
35796         declaration, not for its existence.
35798 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
35800         mktime: fix configure typo
35801         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
35803 2013-03-12  Eric Blake  <eblake@redhat.com>
35805         regex-tests: skip UTF-8 test on mingw
35806         * modules/regex-tests (Depends-on): Add localcharset.
35807         * tests/test-regex.c (main): Use it to skip test on mingw.
35809 2013-03-11  Eric Blake  <eblake@redhat.com>
35811         tests: make it easier to bypass alarm time in debugger
35812         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
35813         * tests/test-memmem.c (main): Likewise.
35814         * tests/test-passfd.c (main): Likewise.
35815         * tests/test-ptsname.c (main): Likewise.
35816         * tests/test-ptsname_r.c (main): Likewise.
35817         * tests/test-strcasestr.c (main): Likewise.
35818         * tests/test-strstr.c (main): Likewise.
35820         regex: port to mingw's recent addition of undeclared alarm
35821         * doc/posix-functions/alarm.texi (alarm): Document that alarm
35822         exists but still doesn't work in newer mingw.
35823         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
35824         not existence.  Ensure SIGALRM is not trapped.
35825         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
35826         * m4/regex.m4 (gl_REGEX): Likewise.
35827         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
35828         * tests/test-regex.c (main): Use correct probe for alarm.
35830         putenv: avoid compilation warning on mingw
35831         * lib/putenv.c (_unsetenv): Protect variable declaration.
35832         (putenv): Fix indentation.
35834 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
35836         unistd: don't prevent Tru64 Unix from using gnulib strtod.
35837         * lib/unistd.in.h: be careful not to include un-needed system
35838         stdlib.h from here, because that prevents gnulib stdlib.h from
35839         defining rpl_strtod correctly.
35841 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
35843         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
35844         changesets, but for the 'precision 0' test.
35845         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35846         round-to-even, since POSIX says rounding is implementation-defined
35847         and OS X 10.8.2 rounds 1.51 to 1 here.
35849         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
35850         changeset.
35851         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35852         round-to-even, since POSIX says rounding is implementation-defined
35853         and OS X 10.8.2 rounds 1.5 to 1 here.
35855 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
35857         vasnprintf-posix-tests: allow rounding 1.5 to 1
35858         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
35859         round-to-even, since POSIX says rounding is implementation-defined
35860         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
35861         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
35863         bootstrap: port to FreeBSD
35864         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
35865         that treat '--' differently.  Reported by Mats Erik Andersson in
35866         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
35868 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
35870         regex: rename remaining __attribute calls to __attribute__.
35871         2012-02-25 changed definition of __attribute, but left some uses
35872         unchanged, preventing compilation of regex module on most non-gcc
35873         environments.
35874         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
35875         (lookup_collation_sequence_value, build_range_exp)
35876         (build_collating_symbol): Set attributes with newly renamed
35877         __attribute__ decorator.
35878         * lib/regex_internal.c (re_string_peek_byte_case)
35879         (re_node_set_compare, re_node_set_contains): Likewise.
35880         * lib/regexec.c (acquire_init_state_context): Likewise.
35882 2013-03-06  Bruno Haible  <bruno@clisp.org>
35884         execute: Revert last change, but use a different condition.
35885         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
35886         on Windows.
35888 2013-03-05  Eric Blake  <eblake@redhat.com>
35890         execute: drop dead code
35891         * lib/execute.c (nonintr_close, nonintr_open): Delete.
35893 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
35895         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
35896         * m4/non-recursive-gnulib-prefix-hack.m4
35897         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
35898         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
35899         <http://bugs.gnu.org/10305#237>.
35901 2013-03-04  Eric Blake  <eblake@redhat.com>
35903         test-getsockopt: avoid compiler warning
35904         * tests/test-getsockopt.c (includes): Ensure close is declared.
35906 2013-03-02  Bruno Haible  <bruno@clisp.org>
35908         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
35909         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
35911 2013-03-02  Bruno Haible  <bruno@clisp.org>
35913         gettext: Update to version 0.18.2.
35914         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
35915         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
35916                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
35918 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35920         regex: merge patches from libc
35922         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
35923         * lib/regex_internal.h (__attribute__): Rename from __attribute.
35924         All uses changed.
35925         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
35926         (re_string_wchar_at, re_string_elem_size_at):
35927         Mark function as possibly unused.
35929         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
35930         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
35931         elements compare against the byte sequence of it, not its name.
35933 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35935         putenv: port better to native Windows
35936         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35937         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
35938         (_unsetenv): Use _putenv if available.
35939         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
35940         a bit less likely to cause damage.
35941         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35942         Fix the wrong value with SetEnvironmentVariable.
35943         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
35944         code better.
35946 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35948         regex: ignore old-style-definition warnings
35949         * lib/regex.c: Add pragma to ignore these warnings.
35950         Problem reported for GNU tar by Pavel Raiskup.
35952 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35954         getcwd: support coreutils better
35955         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
35956         but this might not be correct in coreutils, which disables
35957         the raw decl checks.  Problem reported by Nagendra in
35958         <http://bugs.gnu.org/10305#192>.
35959         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
35960         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
35961         Test the getcwd function, not any macro, since getcwd.c wants the
35962         function.
35963         * m4/getcwd.m4 (gl_FUNC_GETCWD):
35964         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
35965         compile, as might happen if there's a macro but no function.
35967         strtod: support coreutils better
35968         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
35969         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
35970         disables the raw decl checks.  This assumes there is an underlying
35971         strtod, but that's a safe assumption these days.
35972         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
35974         mountlist: port to HP NonStop
35975         Reported by Joachim Schmitz in
35976         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
35977         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
35978         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
35980 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
35982         extern-inline: avoid compilation error with HP-UX cc
35983         Reported by Richard Lloyd in
35984         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
35985         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35986         Suppress extern inline with HP-UX cc.  This should be safe,
35987         though it may hurt performance.  Perhaps someone with some HP-UX
35988         experience can come up with a higher-performance fix.
35990 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35992         putenv: fix heap corruption with mixed putenv/_putenv
35993         Problem reported by Michael Goffioul in
35994         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
35995         * lib/putenv.c (putenv) [HAVE__PUTENV]:
35996         Rely on _putenv to allocate the new environment.
35997         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
35998         * modules/putenv (configure.ac): Use it.
36000 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
36002         unsetenv etc.: port to Solaris 11 + GNU Emacs
36003         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
36004         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
36005         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
36006         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
36007         idea but is too painful to fix right now), and without this gnulib
36008         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
36009         compiling unsetenv.c on Solaris 11.  Fix the problem for
36010         unsetenv.c, and fix other similar occurrences.
36012 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36014         secure_getenv: fix C++ declaration typo
36015         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
36016         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
36017         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
36019 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
36021         careadlinkat: stop exporting careadlinkatcwd
36022         Only Emacs used it directly, and Emacs no longer needs it.
36023         * NEWS: Document this simplification.
36024         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
36025         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
36026         for readlink.
36027         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
36028         Don't include stdlib.h; no longer needed.
36029         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
36030         * lib/relocwrapper.c: Adjust comment to match new dependencies.
36031         * modules/areadlink (Depends-on): Add readlink.
36032         (Maintainer): Add self.
36033         * modules/careadlinkat (Depends-on): Remove readlink.
36035         extensions: port better to HP-UX
36036         This is merged from git Autoconf.
36037         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36038         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
36039         so that it's compatible with the value used when compiling.
36041         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
36042         Problem reported by Mats Erik Andersson in
36043         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
36044         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36045         openpty function exists, not merely when we intend to replace it.
36046         This corrects the 2013-01-31 patch, which mistakenly defined
36047         HAVE_OPENPTY even on hosts that lacked it.
36049 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36051         secure_getenv: fix include typo
36052         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
36054         secure_getenv: port better to FreeBSD and Solaris
36055         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
36056         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
36057         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
36058         This works better on BSDish platforms.
36059         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
36060         Test for issetugid if __secure_getenv is missing.
36062 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
36064         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
36065         Some of these changes are merged in from git Autoconf.
36066         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
36067         When deciding whether to define _XOPEN_SOURCE, inspect the
36068         preprocessor macro __hpux instead of the more-heavyweight
36069         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
36070         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
36071         as the key for __EXTENSIONS__.
36073         unistd: avoid namespace pollution on non-glibc systems
36074         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
36075         This avoids namespace pollution on non-glibc systems, by causing
36076         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
36077         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
36078         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
36080 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
36082         tmpdir: use secure_getenv
36083         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
36084         Define to secure_getenv, not getenv.
36085         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
36086         as that's now secure_getenv's job.
36087         * modules/tmpdir (Depends-on): Add secure_getenv.
36089         tempname: use secure_getenv
36090         * lib/tempname.c (__secure_getenv) [!_LIBC]:
36091         Define to secure_getenv, not getenv.
36092         * modules/tempname (Depends-on):
36093         Add secure_getenv.
36095         secure_getenv: new module
36096         * MODULES.html.sh (Extra functions based on ANSI C 89):
36097         Add secure_getenv.
36098         * doc/glibc-functions/secure_getenv.texi: New file.
36099         * doc/gnulib.texi: Include it.
36100         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
36101         New files.
36102         * lib/stdlib.in.h (secure_getenv): New decl.
36103         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
36104         * modules/stdlib (stdlib.h):
36105         Add secure_getenv checks.
36107 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36109         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
36110         Reported for OS X 10.8.2 by Assaf Gordon in
36111         <http://bugs.gnu.org/13516>.
36112         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
36113         !HAVE_OPENAT && !HAVE_FDOPENDIR.
36114         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
36115         so that they can be kept in sync more easily.  Avoid PATH_MAX
36116         test on the Hurd.  Sync from test-getcwd.c for errno tests after
36117         mkdir or chdir failure.
36118         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
36119         lib/getcwd.c.
36120         (test_abort_bug): Do not test for the deep directory bug unless we
36121         have openat support.  Avoid PATH_MAX test on the Hurd.
36123         regex-tests, regex: fix bug: memset undeclared
36124         * tests/test-regex.c: Don't include regex.h twice.  Include
36125         string.h, to declare memset.  Christensen's report also mentioned
36126         this issue.
36127         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
36128         test-regex.c, to avoid future problems like this.  Remove
36129         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
36130         twice.
36132         regex-tests: fix link errors on older Solaris
36133         These need to link with @LIBINTL@ to get libintl_gettext.
36134         Problem reported by Tom G. Christensen in
36135         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
36136         * modules/regex-tests (test_regex_LDADD): New macro.
36138 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36140         regex-tests: new module
36141         * modules/regex-tests, tests/test-regex.c: New files.
36143         regex: fix off-by-one error in configure test
36144         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
36146 2013-01-31  Eric Blake  <eblake@redhat.com>
36148         regex: avoid infinite configure test
36149         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
36151 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
36153         openpty: fix bug where HAVE_OPENPTY wasn't defined
36154         See the thread starting at:
36155         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
36156         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
36157         openpty function exists, not merely when we intend to replace it.
36159 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36161         sys_time: port to Solaris 2.6
36162         There is a circularity problem on Solaris 2.6, where <time.h> includes
36163         <sys/time.h> for struct timespec.  The include nesting is gnulib
36164         <time.h>, system <time.h>, gnulib <sys/time.h>, system
36165         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
36166         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
36167         <sys/siginfo.h>; the last, innermost file needs struct
36168         timestruc_t, which is defined in <sys/time.h>, which has not been
36169         fully parsed.  Problem reported by Tom G. Christensen in
36170         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
36171         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
36172         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
36173         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
36174         uses split double-inclusion guards.
36176 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
36178         regex: test for buffer overrun
36179         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
36180         for the just-fixed regex bug.
36182 2013-01-29  Andreas Schwab  <schwab@suse.de>
36184         regex: fix buffer overrun in regexp matcher [BZ #15078]
36185         * lib/regexec.c (extend_buffers): Add parameter min_len.
36186         (check_matching): Pass minimum needed length.
36187         (clean_state_log_if_needed): Likewise.
36188         (get_subexp): Likewise.
36190 2013-01-28  Pádraig Brady  <P@draigBrady.com>
36192         mountlist: don't consider "devtmpfs" as dummy
36193         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
36194         as there is storage associcated with it.
36196 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36198         futimens-tests, utimens-tests: Depend on gettext.
36199         This works around a problem introduced in my 2013-01-12 patch,
36200         which added @LIBINTL@ to these modules.
36201         * modules/futimens-tests (Depends-on):
36202         * modules/utimens-tests (Depends-on): Add gettext.
36204 2013-01-26  Eric Blake  <eblake@redhat.com>
36206         test-getpeername: fix typo
36207         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
36209 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
36211         bootstrap: remove the need for a sorted .gitignore file
36212         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
36213         rename to insert_if_absent(), so that we don't need or generate
36214         a sorted .gitignore file.  We do require a .gitignore with no
36215         existing duplicate entries and enforce that.
36216         (sort_patterns): Remove this function as we now use the simpler
36217         technigue of inserting blacklist entries at the top of the file,
36218         assuming gnulib won't be inserting !whitelist entries.
36220 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36222         readlinkat: don't depend on gl_FUNC_OPENAT
36223         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
36224         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
36225         renameat.m4, symlinkat.m4; but one thing at a time.
36227         statat: new module, split out from fstatat
36228         GNU Emacs needs the POSIX-specified fstatat, but not the
36229         gnulib-specified statat and lstat.  Split the latter two into a
36230         new module 'statat'.
36231         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
36232         * lib/openat.h, lib/statat.c (STATAT_INLINE):
36233         Rename from FSTATAT_INLINE. All uses changed.
36234         * modules/fstatat (Files): Remove lib/statat.c.
36235         (gl_MODULE_INDICATOR([fstatat])): Remove.
36236         (lib_SOURCES): Remove.
36237         (Maintainer): Add self.
36238         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
36239         * tests/test-fstatat.c (BASE): Don't define if already defined.
36240         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
36242 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36244         tests: don't assume fd 99 is closed
36245         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
36246         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
36247         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
36248         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
36249         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
36250         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
36251         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
36252         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
36253         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
36254         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
36255         * tests/test-fwrite.c, tests/test-getpeername.c:
36256         * tests/test-getsockname.c, tests/test-getsockopt.c:
36257         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
36258         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
36259         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
36260         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
36261         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
36262         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
36263         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
36264         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
36265         * tests/test-unlinkat.c, tests/test-unlockpt.c:
36266         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
36267         Close file descriptor 99, instead of assuming it's already closed.
36269 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
36271         stpncpy: port to OS X 10.8
36272         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
36273         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
36275 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
36277         unistd: port to recent mingw
36278         * lib/unistd.in.h: Remove special invocation convention for mingw,
36279         which breaks for the latest mingw version.  See John W. Eaton in
36280         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
36282         largefile: port better to Mac OS X 10.5
36283         This patch is backported from Autoconf git.
36284         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
36285         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
36286         with ino_t size being different for configuration time versus
36287         build/run time.  Problem reported by PHO in
36288         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
36290 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
36292         doc: clarify -Werror
36293         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
36294         clarify that it's intended for developers, not for ordinary builds,
36295         and mention --enable-gcc-warnings as one possible use.
36297 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
36299         stdint: fix build with Android's Bionic fox x86
36300         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
36301         was already included as _SSIZE_T_DEFINED_ might also be defined
36302         in include/machine/_types.h, which is included by stdio.h
36304 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
36306         net_if-tests: port to Solaris 7 + GCC 3.4.6
36307         Problem reported by Tom G. Christensen in
36308         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
36309         * tests/test-net_if.c (ni): Move to next the code that uses it,
36310         so that it's declared only if needed.
36312 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36314         net_if-tests: port to older Solaris
36315         Problem reported by Tom G. Christensen in
36316         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36317         * modules/net_if-tests (NET_IF_LIB): New substitution.
36318         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
36319         (HAVE_IF_NAMEINDEX): New C macro.
36320         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
36322         system-quote-tests: port to older Solaris
36323         Problem reported by Tom G. Christensen in
36324         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36325         * tests/test-system-quote-child.c (fopen, fread): Undef.
36327         c-xvasprintf etc.: fix link errors on older Solaris
36328         These need to link with @LIBINTL@ to get libintl_gettext.
36329         Problem reported by Tom G. Christensen in
36330         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
36331         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
36332         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
36333         * modules/futimens-tests (test_futimens_LDADD):
36334         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
36336 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36338         locale: port to Solaris 2.6 and 7 + GNU gettext
36339         * lib/locale.in.h: Just include_next <locale.h> when
36340         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
36341         when combining the localename module with GNU gettext 0.18.2.
36342         Problem reported by Tom G. Christensen in
36343         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
36345 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36347         stdlib: port to Solaris 2.6
36348         Also, the code worked on Solaris 7 through 9 only by accident.
36349         Problem reported by Tom G. Christensen in
36350         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
36351         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
36352         simply include the system stdlib.h.
36353         * lib/getopt.in.h (__need_system_stdlib_h):
36354         * lib/pthread.in.h (__need_system_stdlib_h):
36355         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
36356         Define when including <stdlib.h>, to avoid problems at least for
36357         the pthread case on Solaris 2.6 and 7.  These .h files can get by
36358         with the system stdlib.h.
36360 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
36362         doc: update main copyright year
36363         * doc/gnulib.texi: Update copyright date.
36365         doc: improve ISO 8601 discussion
36366         * doc/parse-datetime.texi (Combined date and time of day items):
36367         Specify more carefully what formats are supported and what is
36368         done with excess precision.
36370 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36372         doc: avoid small caps
36373         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
36374         they're more trouble than they're worth.  Suggested by Karl Berry
36375         in <http://bugs.gnu.org/13360>.
36377         regex: conform to strict C
36378         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
36379         From Aharon Robbins.
36381         gnulib-tool: fix incompatibility with autopoint 0.18.2
36382         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
36383         Problem reported by Tom G. Christensen in
36384         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
36386 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36388         fprintftime: bring back and reword fwrite comment
36389         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
36391         stdio: remove now-unnecessary stdio.c
36392         Since stdio.in.h no longer uses inline functions, we no longer
36393         need to compile the extern versions.
36394         * lib/stdio.c: Remove.
36395         * modules/stdio (Files): Remove lib/stdio.c.
36396         (lib_SOURCES): Remove.
36398         unicodeio: depend on stdio, not ignore-value
36399         * lib/unicodeio.c: Do not include ignore-value.h.
36400         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
36401         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
36403         fprintftime: depend on stdio, not ignore-value
36404         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
36405         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
36406         since the stdio module arranges to silence that warning now.
36407         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
36409 2012-10-04  Simon Josefsson  <simon@josefsson.org>
36411         stdint-tests: Fix expanded-before-required-warning.
36412         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
36414 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
36416         fwrite: silence __wur only for older glibc versions
36417         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
36418         This will help us remove this workaround some time in the far future.
36420 2013-01-03  Eric Blake  <eblake@redhat.com>
36422         fwrite: silence __wur without using inline
36423         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
36424         just gcc, and in a way that avoids inline issues.
36425         * modules/stdio (Depends-on): Drop extern-inline.
36427 2013-01-03  Jim Meyering  <jim@meyering.net>
36429         update-copyright: avoid copyright notice date corruption
36430         Given a sequence of copyright year numbers in which the final
36431         one was a two-digit number that happened to be a substring of
36432         a preceding four-digit year number, we would mistakenly update
36433         the substring (from two- to four-digit) rather than the two-digit
36434         number at the end, which, combined with the addition of the current
36435         4-digit year number would yield two 5-digit year numbers, e.g.,
36436         here, it would convert the first "99" to "1999, 2013" rather than
36437         the final one:
36438           1991, 99
36439           11999, 20131, 1999
36440         * build-aux/update-copyright: Tighten a regexp.
36441         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
36442         Reported by Joseph Myers in
36443         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
36445 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
36447         regex: omit needless signed-pointer casts
36448         * lib/regcomp.c (build_charclass, build_charclass_op):
36449         Use char *, not unsigned char *, for class name and extra.
36450         The char values are always nonnegative so there's no need to
36451         insist on unsigned char * here, and using char * removes the need
36452         for casts.  Reported by Aharon Robbins in
36453         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36455         regex: support Gawk, which never uses alloca
36456         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
36457         Do not include in this case.  Gawk doesn't supply a substitute
36458         alloca.h and doesn't need one.
36460         regex: port __libc_lock_define usage to C89
36461         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
36462         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
36463         does not conform to C89, as it has an empty macro argument.
36464         Reported by Aharon Robbins in
36465         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36467 2013-01-01  Eric Blake  <eblake@redhat.com>
36469         maint: update all copyright year number ranges
36470         Run "make update-copyright".
36472         version-etc: bump copyright year reported in --version
36473         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
36475 2012-12-31  Eric Blake  <eblake@redhat.com>
36477         sigprocmask-tests: skip test if pid is unexpectedly large
36478         * tests/test-sigprocmask.c (main): Add range check.
36480         git-version-gen: avoid test -z portability glitch
36481         * build-aux/git-version-gen: Prefer portable test spelling, since
36482         git-version-gen is run on more than just developer machines.
36484 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
36486         git-version-gen: add --fallback option to use if git is not present
36487         * build-aux/git-version-gen: Add support for the new option --fallback,
36488         which comes into play when there is no $tarball_version_file and
36489         git is not working.
36490         (scriptversion): Update.
36492         maint.mk: handle missing git with more grace
36493         * top/maint.mk (no-submodule-changes, public-submodule-commit):
36494         Quietly proceed if git is not present.
36496 2012-12-31  Eric Blake  <eblake@redhat.com>
36498         dup2: work around cygwin bug
36499         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
36500         * lib/dup2.c (rpl_dup2): Work around it.
36501         * doc/posix-functions/dup2.texi (dup2): Document it.
36503 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
36505         regex: remove unnecessary dependency on localcharset.h
36506         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
36507         hasn't been needed for years.
36508         * modules/regex (Depends-on): Remove localcharset.
36510         regex: revert single-byte change
36511         * lib/regexec.c (check_node_accept_bytes): Revert previous change
36512         to this function.  This was alredy fixed in a different way, at
36513         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
36514         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
36515         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
36517         regex: simplify based on Gawk version
36518         * lib/regex_internal.c (re_dfa_add_node): Simplify.
36519         Reported by Aharon Robbins in
36520         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36522 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
36524         regex: check that pattern char is single-byte
36525         Reported by Aharon Robbins in
36526         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36527         * lib/regexec.c (check_node_accept_bytes):
36528         Return 0 if the pattern string has a multibyte character here.
36530         regex: implement rational ranges
36531         Reported by Aharon Robbins in
36532         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36533         * lib/regcomp.c (build_range_exp) [!_LIBC]:
36534         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
36535         Implement rational ranges.
36537         regex: avoid redefining __wctype
36538         Reported by Aharon Robbins in
36539         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36540         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
36541         #undef before defining.
36543         regex: port to hosts where malloc (0) == NULL
36544         Reported by Aharon Robbins in
36545         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36546         * lib/regex_internal.c (re_node_set_alloc):
36547         Don't assume that malloc (0) yields nonnull.
36548         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
36549         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
36550         * modules/regex (Files): Add m4/eealloc.m4.
36552         regex: port to C89
36553         Reported by Aharon Robbins in
36554         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
36555         * lib/regcomp.c (init_word_char): Declaration before statement.
36557         regex: merge glibc changes
36558         Also, copy the license wording from glibc.  This simplifies
36559         merging changes.  gnulib-tool will change the wording to GPL as
36560         appropriate, when importing it to other packages.  The only
36561         glibc change made since the last merge, which needs merging, is:
36562         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
36563         * lib/regex_internal.h (gettext): Remove use of INTUSE.
36565         * users.txt: Add Emacs.
36567         doc: omit mention of version when not needed
36568         * doc/gnulib-intro.texi (Portability and Application Code):
36569         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
36570         Don't mention particular dates or versions when not necessary, so
36571         that the documentation won't go out of date so quickly.
36573         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
36575 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
36577         bootstrap: pass --force to autoreconf.
36578         * build-aux/bootstrap (AUTORECONFFLAGS): New.
36579         Add "--force" so that Automake's ylwrap and other such tools
36580         be updated at each bootstrap invocation.
36581         Use it.
36583 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
36585         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
36586         The earlier patch forgot to update one of the #if conditions, causing
36587         a problem on Debian testing i386 reported by Mats Erik Andersson
36588         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
36589         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
36590         (__argp_fmtstream_puts, argp_fmtstream_puts)
36591         (__argp_fmtstream_write, argp_fmtstream_write)
36592         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
36594         * doc/gnulib-readme.texi: Minor fixups.
36595         (Portability guidelines): Modernize URLs.  Remove some repetition.
36596         (Indent with spaces not TABs): Reword to avoid too-long lines.
36597         Remove some '@ifset standalone' stuff that isn't used.
36599         * doc/gnulib-readme.texi (Portability guidelines):
36600         ctype.h, not ctime.h.
36602         Correct name of POSIX.1-2001.
36603         * doc/posix-functions/fgetc.texi (fgetc):
36604         * doc/posix-functions/fgets.texi (fgets):
36605         * doc/posix-functions/fread.texi (fread):
36606         * doc/posix-functions/fscanf.texi (fscanf):
36607         * doc/posix-functions/getc.texi (getc):
36608         * doc/posix-functions/getchar.texi (getchar):
36609         * doc/posix-functions/scanf.texi (scanf):
36610         POSIX.1-2001, not POSIX-2001.
36612         doc: move README into manual
36613         * README: Move contents to new file doc/gnulib-readme.texi.
36614         Replace with a one-line summary.
36615         * doc/gnulib.texi (Brief Overview): New section,
36616         with old intro preface.  Include gnulib-readme.texi for contents.
36617         (Philosophy): Rename from "Introduction", since this
36618         section no longer introduces the rest.  Write a new preface.
36619         * doc/gnulib-readme.texi: New file, with the old contents of
36620         README texinfo-ized.  This way, the README info appears
36621         in the online and printed manual.
36623 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
36625         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
36626         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
36627         c_vasprintf() prototype.
36629 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
36631         c-vasprintf: Fix "empty declaration" warning reported by GCC.
36632         * lib/c-vasprintf.h: Remove stray semicolon.
36634 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
36636         gettext: avoid obsolete macro AM_PROG_MKDIR_P
36637         It is obsolete and is planned to be removed from Automake 1.14; see
36638         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
36639         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
36640         (installdirs-data, installdirs-data-yes):
36641         Use $(MKDIR_P), not $(mkdir_p).
36642         * m4/intl.m4 (AM_INTL_SUBDIR):
36643         * m4/po.m4 (AM_PO_SUBDIRS):
36644         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
36646 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36648         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
36649         On this platform, we are not optimizing but we are using
36650         the substitute for extern inlines, so compile as if
36651         C99-style extern inline, or a substitute, is available.
36652         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
36653         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
36654         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
36655         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
36656         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
36657         Declare as ARGP_FS_EI, not as extern.
36658         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
36659         (__option_is_short, _option_is_end, __option_is_end)
36660         [!_LIBC && __USE_EXTERN_INLINES]:
36661         Declare as ARGP_EI, not as extern.
36663 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36665         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
36666         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
36667         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
36668         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
36669         ...), as the latter is fatal with older Autoconfs.
36670         Problem reported and fix suggested by Eric Blake in thread starting at
36671         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
36673 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
36675         AC_PROG_MKDIR_P: don't workaround if not buggy
36676         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
36677         Define only for Autoconf versions before 2.62.
36678         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
36679         undocumented m4_PACKAGE_VERSION, for consistency with the
36680         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
36681         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
36682         was introduced in 2.62.
36684 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
36686         New 'c-*printf' modules for formatted output in C locale.
36688         New module 'c-vasnprintf'.
36689         * modules/c-vasnprintf: New file.
36690         * lib/c-vasnprintf.c: New file.
36691         * lib/c-vasnprintf.h: New file.
36693         New module 'c-snprintf'.
36694         * modules/c-snprintf: New file.
36695         * modules/c-snprintf-tests: New file.
36696         * lib/c-snprintf.c: New file.
36697         * lib/c-snprintf.h: New file.
36698         * tests/test-c-snprintf.c: New file.
36699         * tests/test-c-snprintf.sh: New file.
36701         New module 'c-vsnprintf'.
36702         * modules/c-vsnprintf: New file.
36703         * modules/c-vsnprintf-tests: New file.
36704         * lib/c-vsnprintf.c: New file.
36705         * lib/c-vsnprintf.h: New file.
36706         * tests/test-c-vsnprintf.c: New file.
36707         * tests/test-c-vsnprintf.sh: New file.
36709         New module 'c-vasprintf'.
36710         * modules/c-vasprintf: New file.
36711         * modules/c-vasprintf-tests: New file.
36712         * lib/c-asprintf.c: New file.
36713         * lib/c-vasprintf.c: New file.
36714         * lib/c-vasprintf.h: New file.
36715         * tests/test-c-vasprintf.c  +: New file.
36716         * tests/test-c-vasprintf.sh: New file.
36718         New module 'c-xvasprintf'.
36719         * modules/c-xvasprintf: New file.
36720         * modules/c-xvasprintf-tests: New file.
36721         * lib/c-xasprintf.c: New file.
36722         * lib/c-xvasprintf.c: New file.
36723         * lib/c-xvasprintf.h: New file.
36724         * tests/test-c-xvasprintf.c: New file.
36725         * tests/test-c-xvasprintf.sh: New file.
36727 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36729         argp: better 'inline'
36730         Use extern-inline module to declare extern inline functions.
36731         This avoids some bogus warning diagnostics.  Problem discovered
36732         when modifying GNU tar to use the manywarnings module.
36733         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
36734         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
36735         Define based on extern-inline.
36736         * modules/argp (Depends-on): Add extern-inline.
36738 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
36740         filemode, sys_stat: Handle MPX files a la AIX.
36741         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
36742         * lib/sys_stat.in.h (S_ISMPX): New macro.
36743         * tests/test-sys_stat.c: Add tests for MPX files.
36745 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36747         x-to-1: honor $PERL
36748         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
36749         a chance to use his preferred version of Perl.  This is typically
36750         required by Darwin users whose default /usr/bin/perl does not have all
36751         the libraries required by help2man, and who need to use their MacPorts
36752         installation of Perl instead.
36754 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36756         gnu-web-doc-update: add all the new files, even in new directories
36757         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
36758         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
36759         Use it.
36760         (main): Don't use cvsutils to get the list of unknown files,
36761         just add all the existing files and directories.
36763 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36765         gnu-web-doc-update: improve --help
36766         * build-aux/gnu-web-doc-update: Move comments into --help.
36768 2012-12-07  Eric Wong  <normalperson@yhbt.net>
36770         mountlist: recognize more "dummy" file systems
36771         * lib/mountlist.c (ME_DUMMY_0):
36772         Add these dummy FS names to the list:
36773         - "debugfs" virtual filesystem for kernel debugging
36774         - "devpts" PTY slave filesystem
36775         - "devtmpfs" device filesystem on top of tmpfs/ramfs
36776         - "fusectl" control filesystem for FUSE
36777         - "mqueue" enumerates POSIX message queues
36778         - "rpc_pipefs" kernel <-> userspace bridge for NFS
36779         - "sysfs" is for exporting kernel objects
36780         - "devfs" device filesystem for Linux 2.4 and FreeBSD
36782 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
36784         extern-inline: avoid incompatibility with Darwin Libc
36785         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
36786         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
36787         Problem reported by Akim Demaille in
36788         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
36790 2012-12-11  Simon Josefsson  <simon@josefsson.org>
36792         gnupload: Work with GnuPG using gpg-agent (for smartcards).
36793         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
36794         let it handle password prompting.
36796 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
36798         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
36799         * lib/canonicalize.c (canonicalize_filename_mode):
36800         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
36801         fetching the current directory.  Don't overrun the beginning of
36802         rpath if there's no slashes after the MS-Windows drive letter.
36804 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
36806         maint.mk: avoid extra forks
36807         * top/maint.mk (_cfg_mk): The GNU make manual documents that
36808         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
36809         So use that instead of "$(shell test -f FILE && echo FILE)".
36811 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36813         vasnprintf: fix ASCII_ONLY typo
36814         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36815         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36816         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36817         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
36818         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
36820 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36822         list, oset, xlist, xoset: fix extern inline issue with C99
36823         This was introduced by my recent changes for 'inline'.
36824         Problem reported for gettext by Daiki Ueno in
36825         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
36826         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
36827         (gl_list_nx_create, gl_list_size, gl_list_node_value)
36828         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
36829         (gl_list_previous_node, gl_list_get_at)
36830         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
36831         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
36832         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
36833         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
36834         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
36835         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
36836         (gl_list_iterator_free, gl_sortedlist_search)
36837         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
36838         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
36839         (gl_sortedlist_remove):
36840         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
36841         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
36842         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
36843         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
36844         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
36845         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
36846         (gl_list_add_at, gl_sortedlist_add):
36847         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
36848         Wrap these extern decls inside "#if 0", because they are implemented
36849         as inline functions, and extern inline is not what's wanted here.
36850         It would simplify these .h files to remove the extern decls entirely,
36851         although a downside would be less-clear separation between
36852         specification and implementation.
36854 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
36856         sys_stat: no 'static inline'
36857         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
36858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
36860         extern-inline: no 'static inline'
36861         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
36862         Do not require AC_C_INLINE.
36863         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
36864         'static inline', for older compilers.
36866         snippet/warn-on-use: no 'static inline'
36867         * build-aux/snippet/warn-on-use.h:
36868         Remove unnecessary 'inline' in comment.
36870         rbtree-list, rbtreehash-list: no 'static inline'
36871         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
36872         * lib/gl_anytree_list2.h (node_at):
36873         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
36874         (gl_oset_first, add_nodes_to_buckets):
36875         Now static, not static inline.
36877         regex: no 'static inline'
36878         * lib/regex_internal.c (calc_state_hash):
36879         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
36880         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
36881         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
36882         Now static, not static inline.
36883         (inline) [__GNUC__ < 3 && _LIBC]:
36884         Remove macro; no longer needed.
36886         xvasprintf: no 'static inline'
36887         * lib/xvasprintf.c (xstrcat):
36888         Now static, not static inline.
36889         * m4/xvasprintf.m4 (gl_XVASPRINTF):
36890         Do not require AC_C_INLINE.
36892         parse-datetime, parse-duration: no 'static inline'
36893         * lib/parse-datetime.y (to_uchar):
36894         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
36895         (scale_n_add):
36896         Now static, not static inline.
36897         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
36898         * modules/parse-duration (configure.ac):
36899         Do not require AC_C_INLINE.
36901         getaddrinfo: no 'static inline'
36902         * lib/getaddrinfo.c (validate_family):
36903         Now static, not static inline.
36904         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
36905         Do not require AC_C_INLINE.
36907         ftruncate, fts, lstat, openat, raise: no 'static inline'
36908         * lib/ftruncate.c (chsize_nothrow):
36909         * lib/fts.c (opendirat, diropen):
36910         * lib/lstat.c (orig_lstat):
36911         * lib/openat.c (orig_openat):
36912         * lib/raise.c (raise_nothrow):
36913         Now static, not static inline.
36914         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
36915         * m4/fts.m4 (gl_FUNC_FTS_CORE):
36916         * m4/lstat.m4 (gl_PREREQ_LSTAT):
36917         * m4/openat.m4 (gl_PREREQ_OPENAT):
36918         * m4/raise.m4 (gl_PREREQ_RAISE):
36919         Do not require AC_C_INLINE.
36921         fflush, stat: no 'static inline'
36922         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36923         (clear_ungetc_buffer, disable_seek_optimization)
36924         (restore_seek_optimization, update_fpos_cache):
36925         * lib/stat.c (orig_stat):
36926         Now static, not static inline.
36927         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
36928         (update_fpos_cache):
36929         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
36930         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
36931         * m4/stat.m4 (gl_PREREQ_STAT):
36932         Do not require AC_C_INLINE.
36934         error, filevercmp: no 'static inline'
36935         * lib/error.c (is_open, flush_stdout):
36936         * lib/filevercmp.c (order):
36937         Now static, not static inline.
36938         * m4/error.m4 (gl_PREREQ_ERROR):
36939         * modules/filevercmp (configure.ac):
36940         Do not require AC_C_INLINE.
36942         dup, execute, fatal-signal, etc.: no 'static inline'
36943         * lib/dup.c (dup_nothrow):
36944         * lib/execute.c (nonintr_close, nonintr_open):
36945         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
36946         * lib/fopen.c (orig_fopen):
36947         * lib/freadseek.c (freadptrinc):
36948         * lib/freopen.c (orig_freopen):
36949         * lib/fstat.c (orig_fstat, fstat_nothrow):
36950         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
36951         (get_rusage_as_via_iterator):
36952         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
36953         * lib/getdtablesize.c (_setmaxstdio_nothrow):
36954         * lib/isatty.c (_isatty_nothrow):
36955         * lib/open.c (orig_open):
36956         * lib/read.c (read_nothrow):
36957         * lib/sigprocmask.c (signal_nothrow):
36958         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
36959         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
36960         * lib/wait-process.c (unregister_slave_subprocess):
36961         * lib/write.c (write_nothrow):
36962         Now static, not static inline.
36963         * lib/spawn-pipe.c (nonintr_open): Define only if
36964         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
36965         * m4/dup.m4 (gl_PREREQ_DUP):
36966         * m4/execute.m4 (gl_EXECUTE):
36967         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
36968         * m4/fopen.m4 (gl_PREREQ_FOPEN):
36969         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
36970         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
36971         * m4/fstat.m4 (gl_PREREQ_FSTAT):
36972         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
36973         * m4/isatty.m4 (gl_PREREQ_ISATTY):
36974         * m4/open.m4 (gl_PREREQ_OPEN):
36975         * m4/read.m4 (gl_PREREQ_READ):
36976         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
36977         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
36978         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
36979         * m4/wait-process.m4 (gl_WAIT_PROCESS):
36980         * m4/write.m4 (gl_PREREQ_WRITE):
36981         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
36982         Do not require AC_C_INLINE.
36984         c-strtod, memcoll, readutmp: no 'static inline'
36985         * lib/c-strtod.c (c_locale):
36986         * lib/memcoll.c (strcoll_loop):
36987         * lib/readutmp.c (desirable_utmp_entry):
36988         Now static, not static inline.
36989         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
36990         * m4/memcoll.m4 (gl_MEMCOLL):
36991         * m4/readutmp.m4 (gl_READUTMP):
36992         Do not require AC_C_INLINE.
36994         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
36995         * lib/arctwo.c (to_uchar):
36996         * lib/md4.c (set_uint32):
36997         * lib/md5.c (set_uint32):
36998         * lib/sha1.c (set_uint32):
36999         * lib/sha256.c (set_uint32):
37000         * lib/sha512.c (set_uint64):
37001         Now static, not static inline.  This is a bit simpler, and doesn't
37002         affect performance with GCC and default optimization.
37003         * m4/arctwo.m4 (gl_ARCTWO):
37004         * m4/md4.m4 (gl_MD4):
37005         * m4/md5.m4 (gl_MD5):
37006         * m4/sha1.m4 (gl_SHA1):
37007         * m4/sha256.m4 (gl_SHA256):
37008         * m4/sha512.m4 (gl_SHA512):
37009         Do not require AC_C_INLINE.
37011         cond, lock, thread: better 'inline'
37012         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
37013         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
37014         New macros.  Use them instead of static inline, for header functions.
37015         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
37016         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37017         * lib/glthread/lock.c (gl_waitqueue_init)
37018         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
37019         * lib/glthread/thread.c (get_current_thread_handle):
37020         Change 'static inline' to 'inline'.
37021         * lib/glthread/cond.h, lib/glthread/thread.h:
37022         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37023         * m4/cond.m4 (gl_COND):
37024         * m4/lock.m4 (gl_PREREQ_LOCK):
37025         * m4/thread.m4 (gl_THREAD):
37026         Do not require AC_C_INLINE.
37027         * modules/cond, modules/thread (Depends-on): Add extern-inline.
37029         chdir-long, cycle-check, savewd: better 'inline'
37030         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
37031         (find_non_slash):
37032         * lib/cycle-check.c (is_zero_or_power_of_two):
37033         * lib/savewd.c (savewd_delegating):
37034         Change 'static inline' to 'inline'.
37035         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
37036         Replace all remaining uses of 'static inline' with it.
37037         * lib/savewd.h:
37038         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37039         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
37040         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37041         * m4/savewd.m4 (gl_SAVEWD):
37042         Do not require AC_C_INLINE.
37043         * modules/savewd (Depends-on): Add extern-inline.
37045         base32, base64: no need for 'inline'
37046         * lib/base32.c (to_uchar, get_8, decode_8):
37047         * lib/base64.c (to_uchar, get_4, decode_4):
37048         Change 'static inline' to 'inline'.
37049         * m4/base32.m4 (gl_PREREQ_BASE32):
37050         * m4/base64.m4 (gl_PREREQ_BASE64):
37051         Do not require AC_C_INLINE.
37053         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
37054         * lib/gl_array_oset.c (gl_array_nx_add_at):
37055         (gl_array_remove_at):
37056         * lib/gl_linkedhash_list.c (hash_resize_after_add)
37057         (add_to_bucket, remove_from_bucket):
37058         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
37059         Change 'static inline' to 'static', as it's simpler to omit
37060         'inline' unless there's a significant performance advantage.
37062         list, oset, xlist, xoset, xsublist: simplify via extern inline
37063         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
37064         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
37065         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
37066         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
37067         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
37068         New macro.  Replace all uses of 'static inline' with it.
37069         [HAVE_INLINE]: Implement functions as *_INLINE functions,
37070         instead of as macros FOO that are defined to static inline
37071         functions FOO_inline.
37072         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
37073         * lib/gl_xsublist.c:
37074         Reimplement from scratch, by defining the corresponding *_INLINE
37075         macro and including the corresponding .h file.  This is simpler.
37076         * modules/list, modules/oset, modules/xlist, modules/xoset:
37077         (Files): Remove m4/gl_list.m4.
37078         (configure.ac): Remove gl_LIST.
37079         * m4/gl_list.m4: Remove.
37080         * modules/list, modules/oset, modules/xlist, modules/xoset:
37081         * modules/xsublist:
37082         (Depends-on): Depend on extern-inline, not inline.
37084         xalloc: better 'inline'
37085         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
37086         New macro.  Replace all uses of 'static inline' with it.
37087         (static_inline): Remove.
37088         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37089         Let 'extern inline' do the work automatically, instead of doing
37090         it by hand.
37091         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
37092         Remove.  All uses removed.
37093         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
37095         gethrxtime: better 'inline'
37096         * lib/xtime.c: New file.
37097         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
37098         * lib/xtime.h (XTIME_INCLUDE):
37099         New macros.  Replace all uses of 'static inline' with them.
37100         * lib/gethrxtime.c (gethrxtime): Define only if
37101         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
37102         this source file is now always compiled, because of the extern inline.
37103         * lib/gethrxtime.h, lib/xtime.h:
37104         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37105         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
37106         if gethrtime works, as they're not needed in that case.
37107         (gl_XTIME): Do not require AC_C_INLINE.
37108         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
37109         compiled now.  Move the check into gl_GETHRXTIME.
37110         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
37111         (Depends-on): Add extern-inline.
37112         (configure.ac): gethrxtime is always compiled now.
37113         (lib_SOURCES): Add gethrxtime.c.
37115         wctype-h: better 'inline'
37116         * lib/wctype-h.c: New file.
37117         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
37118         New macro.  Replace all uses of 'static inline' with it.
37119         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37120         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
37121         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
37122         (Depends-on): Add extern-inline.
37124         unistd: better 'inline'
37125         * lib/unistd.c: New file.
37126         * lib/unistd.in.h (_GL_UNISTD_INLINE):
37127         New macro.  Replace all uses of 'static inline' with it.
37128         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37129         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
37130         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
37131         (Depends-on): Add extern-inline.
37133         sys_socket: better 'inline'
37134         * lib/sys_socket.c: New file.
37135         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
37136         New macro.  Replace all uses of 'static inline' with it.
37137         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37138         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
37139         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
37140         (Depends-on): Add extern-inline.
37142         stdio: better 'inline'
37143         * lib/stdio.c: New file.
37144         * lib/stdio.in.h (_GL_STDIO_INLINE):
37145         New macro.  Replace all uses of 'static inline' with it.
37146         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37147         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
37148         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
37149         (Depends-on): Add extern-inline.
37151         sigaction: better 'inline'
37152         * lib/sig-handler.c: New file.
37153         * lib/sig-handler.h (SIG_HANDLER_INLINE):
37154         New macro.  Replace all uses of 'static inline' with it.
37155         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37156         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
37157         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
37158         (Depends-on): Add extern-inline.
37160         selinux-h: better 'inline'
37161         * lib/se-context.c, lib/se-selinux.c: New files.
37162         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
37163         * lib/se-context.in.h (SE_CONTEXT_INLINE):
37164         New macro.  Replace all uses of 'static inline' with it.
37165         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37166         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
37167         New macro.  Replace all uses of 'static inline' with it.
37168         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37169         * modules/selinux-h (Files, lib_SOURCES):
37170         Add lib/se-context.c, lib/se-selinux.c.
37171         (Depends-on): Add extern-inline.
37172         (configure.ac): Do not require AC_C_INLINE.
37174         pthread: better 'inline'
37175         * lib/pthread.c: New file.
37176         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
37177         New macro.  Replace all uses of 'static inline' with it.
37178         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37179         * m4/pthread.m4 (gl_PTHREAD_CHECK):
37180         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
37181         * modules/pthread (Files): Add lib/pthread.c.
37182         (Depends-on): Add extern-inline.
37184         math: better 'inline'
37185         * lib/math.c: New file.
37186         * lib/math.in.h (_GL_MATH_INLINE):
37187         New macro.  Replace all uses of 'static inline' with it.
37188         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37189         * m4/math_h.m4 (gl_MATH_H):
37190         Do not require AC_C_INLINE.
37191         * modules/math (Files, lib_SOURCES):
37192         Add lib/math.c.
37193         (Depends-on): Add extern-inline.
37195         count-one-bits: better 'inline'
37196         * lib/count-one-bits.c: New file.
37197         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
37198         New macro.  Replace all uses of 'static inline' with it.
37199         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37200         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
37201         Do not require AC_C_INLINE.
37202         * modules/count-one-bits (Files, lib_SOURCES):
37203         Add lib/count-one-bits.c.
37204         (Depends-on): Add extern-inline.
37206         count-leading-zeros: better 'inline'
37207         * lib/count-leading-zeros.c: New file.
37208         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
37209         New macro.  Replace all uses of 'static inline' with it.
37210         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37211         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
37212         Do not require AC_C_INLINE.
37213         * modules/count-leading-zeros (Files, lib_SOURCES):
37214         Add lib/count-leading-zeros.c.
37215         (Depends-on): Add extern-inline.
37217         bitrotate: better 'inline'
37218         * lib/bitrotate.c: New file.
37219         * lib/bitrotate.h (BITROTATE_INLINE):
37220         New macros.
37221         Replace all uses of 'static inline' with them.
37222         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37223         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
37224         (Depends-on): Add extern-inline.
37225         (configure.ac): Do not require AC_C_INLINE.
37227 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
37229         maint.mk: avoid gratuitous failure
37230         Reported by Stefano Lattarini in
37231         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
37232         * top/maint.mk (public-submodule-commit): Quote more safely.
37234 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
37236         canonicalize, canonicalize-lgpl: support MS-Windows file names
37237         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
37238         for test cases, which it'd be nice to add at some point.
37239         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
37240         * lib/canonicalize.c (canonicalize_filename_mode):
37241         * lib/canonicalize-lgpl.c (__realpath):
37242         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
37243         slash is at the beginning of the file name.  Use ISSLASH, instead
37244         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
37245         the first character with '/'.  Test for
37246         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
37247         with a drive letter.
37248         * lib/canonicalize.c (SLASHES): New macro.
37249         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
37251 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
37253         fts: introduce FTS_VERBATIM
37254         * lib/fts_.h (FTS_VERBATIM): New bit flag.
37255         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
37256         * lib/fts.c (fts_open): Honor it.
37258 2012-11-09  Pádraig Brady  <P@draigBrady.com>
37260         getlogin-tests: allow errno == ENXIO
37261         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37262         with errno == ENXIO (No controlling tty).
37263         getlogin_r-tests: Likewise. Also allow errno == ENOENT
37264         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
37265         with errno == ENOENT.  This was reported to happen in various
37266         situations on GNU/Linux.
37268 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37270         getlogin-tests: allow errno == ENOENT
37271         * tests/test-getlogin.c (main): Skip tests if getlogin fails
37272         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
37273         when running a test in an Emacs shell buffer.
37275 2012-11-08  Jim Meyering  <jim@meyering.net>
37277         tests/nap.h: avoid warning about unused variable
37278         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
37280         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
37281         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
37282         white space before each of the special-cased file names, to avoid
37283         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
37284         in http://bugs.gnu.org/12830.
37286 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37288         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
37289         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
37290         fails with errno == EBADF when fd is opened with O_PATH.
37291         Reported by Jim Meyering in
37292         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
37293         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37294         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
37296 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37298         test-utimens: speed up by taking shorter naps
37299         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
37300         New functions.
37301         (nap): Use them, to do a better job of guessing the delay.
37302         On Fedora 17 with ext4 atop md atop hard disks, this made
37303         test-utimens run 10x faster, because the test napped for
37304         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
37305         <http://bugs.gnu.org/12820#11>.
37307 2012-11-07  Jim Meyering  <jim@meyering.net>
37309         mountlist.c: fix a compilation failure
37310         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
37311         I introduced while transforming commit v0.0-7683-g613bcb6
37313 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37315         errno: port to LynxOS 178 2.2.2
37316         Problem reported by Joel Brobecker in
37317         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
37318         * doc/posix-headers/errno.texi (errno.h): Document this.
37319         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
37320         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
37321         Supply a string for EILSEQ.
37322         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
37324 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
37326         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
37327         Linux kernel 2.6.39 introduced O_PATH (see
37328         <http://lwn.net/Articles/433854/>) and this is a better fallback
37329         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
37330         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
37331         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
37332         * lib/fcntl.in.h (O_ACCMODE):
37333         * tests/test-fcntl-h.c (main):
37334         Do not reject O_ACCMODE merely because it has more than the
37335         minimal number of bits, as POSIX allows extensions here.
37337 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
37339         mountlist: do not classify a bind-mounted dir entry as "dummy"
37340         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
37341         the "none"-testing clause.
37342         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
37343         exception for bind-mounted directories.
37345 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
37347         quote: provide a means to escape strings with nul characters
37348         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
37349         (quote, quote_n): Rename formal arguments for consistency with
37350         quotearg.
37352 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
37354         test-raise: don't assume 199 is an invalid signal
37355         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
37357         sh-quote-tests: port to Solaris 9
37358         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
37359         Problem reported by Dagobert Michelsen in
37360         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
37362 2012-10-28  Jim Meyering  <jim@meyering.net>
37364         maint.mk: rename a new configurable variable
37365         * top/maint.mk (_gl_translatable_string_re): Rename from
37366         translation-markers: _gl_ prefix to insulate from user Makefile code,
37367         and the _re suffix to inform that it's a regular expression.
37369 2012-10-26  Eric Blake  <eblake@redhat.com>
37371         maint.mk: let packages tweak sc_po_check pattern
37372         * top/maint.mk (sc_po_check): Add translation-markers, to allow
37373         finding files with other translation markers.
37375 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
37377         euidaccess: speed up 'configure' on GNU hosts
37378         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
37379         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
37380         it's needed only in this case.  Use AC_CHECK_DECLS, not
37381         AC_CHECK_DECLS_ONCE.
37382         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
37383         or AC_REQUIRE for AC_FUNC_GETGROUPS.
37385         * lib/regexec.c (re_search_internal): Fix grammar in comment.
37387 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37389         fchmodat, fchownat, fstatat: port to non-inlining compilers
37390         Problem reported for FreeBSD 9 by Jim Meyering in
37391         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
37392         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
37393         New files, which define FCHMODAT_INLINE etc.
37394         * lib/fchmodat.c (FCHMODAT_INLINE):
37395         * lib/fchownat.c (FCHOWNAT_INLINE):
37396         * lib/fstatat.c (FSTATAT_INLINE):
37397         Remove, as chmodat.c etc. now do this.
37398         * modules/fchmodat (Files): Add lib/chmodat.c.
37399         * modules/fchownat (Files): Add lib/chownat.c.
37400         * modules/fstatat (Files): Add lib/statat.c.
37402 2012-10-15  Jim Meyering  <jim@meyering.net>
37404         fchmodat.c, fchownat.c: compile-impeding typos
37405         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
37406         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
37407         Introduced in commit v0.0-7636-gd202279.
37409 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
37411         fcntl-h: support GNU flags like O_IGNORE_CTTY
37412         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
37413         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
37414         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
37415         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
37416         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
37417         Define to 0 if not already defined.
37418         * tests/test-fcntl-h.c: Test these new flags.
37420 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
37422         faccessat, etc.: support AT_FDCWD-only use
37423         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
37424         this function only if its first argument is AT_FDCWD.
37425         Emacs wants faccessat for AT_EACCESS but not for any first-arg
37426         values other than AT_FDCWD, so it doesn't want all the openat
37427         machinery with fchdir etc.
37428         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
37429         * modules/fstatat, modules/mkdirat, modules/openat (Files):
37430         * modules/unlinkat (Files):
37431         Remove lib/openat-priv.h, as at-internal supplies this file.
37432         Removing this file here allows us to support programs like Emacs
37433         that avoid at-internal.
37435         faccessat: speed up 'configure' on mainstream hosts
37436         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
37437         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
37438         since it's only on unusual platforms that we need to check for
37439         'access', and it's better not to slow 'configure' down on all
37440         platforms.
37442         faccessat: port to Solaris 10
37443         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
37444         Needed on Solaris 10, which doesn't have AT_EACCESS,
37445         so we need the Gnulib fcntl.h, which defines it.
37447 2012-10-14  Pádraig Brady  <P@draigBrady.com>
37448         canonicalize: fix C89 compilation
37449         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
37450         declarations so C89 is supported.  Also remove the comment
37451         referencing memorty allocation as the suggested feature could
37452         not be implemented as suggested.
37453         Reported by Michael Goffioul.
37455 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
37457         group-member: omit unnecessary dependencies
37458         This is for Emacs, which has its own allocator and where we
37459         don't want to use xalloc.
37460         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
37461         since we no longer use xmalloc.  Do not include stdbool.h, since
37462         the changes below happen to remove the only use of bool.
37463         (GROUPBUF_SIZE): New constant.
37464         (struct group_info): Remove n_groups member.  Add groupbuf member.
37465         This lets us get the groups without using malloc, usually.
37466         (free_group_info, get_group_info): Adjust to this.
37467         (get_group_info): Return the number of groups found, or -1 on error.
37468         Use plain malloc not xmalloc, and treat its failure as if there
37469         are no groups, as the user already loses in case of error.
37470         (group_member): Simplify, based on changes to get_group_info.
37471         * modules/group-member (Depends-on): Remove dependencies on
37472         xalloc and stdbool.  Add dependency on xalloc-oversized.
37474 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
37476         gethrxtime: port to C++
37477         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
37479 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
37481         ptsname: fix macro-name typo
37482         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
37484 2012-10-03  Simon Josefsson  <simon@josefsson.org>
37486         inttostr: Relax license.
37487         * modules/inttostr (License): Change from LGPL to LGPLv2+.
37489 2012-10-03  Eric Blake  <eblake@redhat.com>
37491         ptsname_r: support ptys returned by FreeBSD posix_openpt
37492         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
37493         lives in /dev/pts/.
37495 2012-10-02  Eric Blake  <eblake@redhat.com>
37497         pselect: reject invalid file descriptors
37498         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
37499         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
37500         * modules/pselect (Depends-on): Add dup2.
37501         * doc/posix-functions/pselect.texi (pselect): Document this.
37503         select: reject invalid file descriptors
37504         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
37505         * lib/select.c (rpl_select) [!win32]: Work around it.
37506         * modules/select (Depends-on): Add dup2.
37507         * doc/posix-functions/select.texi (select): Document this.
37509         select: enhance test
37510         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
37511         New functions.
37512         (test_function): Enhance test.
37513         (do_select_bad_fd): Avoid any stale errno values.
37515         ptsname: reject invalid file descriptors
37516         http://www.austingroupbugs.net/view.php?id=503
37517         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
37518         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
37519         * modules/stdlib (Makefile.am): Replace witness.
37520         * lib/stdlib.in.h (ptsname): Allow for replacement.
37521         * modules/ptsname (configure.ac): Trigger replacement.
37522         * doc/posix-functions/ptsname.texi (ptsname): Document this.
37524 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
37526         hash-pjw-bare: new module
37527         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
37528         * lib/hash-pjw-bare.h: Likewise.
37529         * modules/hash-pjw-bare: New file.
37530         * MODULES.html.sh (Misc): Add it.
37532 2012-10-02  Eric Blake  <eblake@redhat.com>
37534         manywarnings: cater to more gcc infelicities
37535         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
37536         -Wuninitialized without -O.
37538 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
37540         select, poll tests: Make setsockopt invocation effective.
37541         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
37542         the bind() call.
37543         * tests/test-select.h (open_server_socket): Likewise.
37545 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
37547         sockets, sys_stat: restore AC_C_INLINE
37548         This undoes the 2012-09-22 patch.
37549         * m4/sockets.m4 (gl_SOCKETS):
37550         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37551         Restore AC_C_INLINE, since MSVC requires __inline or _inline
37552         and does not support plain 'inline'.  Reported by Bruno Haible in
37553         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
37555 2012-09-30  Bruno Haible  <bruno@clisp.org>
37557         localeconv tests: Avoid test failure on OpenIndiana.
37558         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
37559         skip the 'grouping' and 'mon_grouping' tests.
37560         Reported by Jim Meyering.
37562 2012-09-30  Bruno Haible  <bruno@clisp.org>
37564         havelib: Follow libtool developments.
37565         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
37566         Suggested by Simon Josefsson.
37568 2012-09-29  Jim Meyering  <meyering@redhat.com>
37570         fstatat.c: fix a compile-impeding typo
37571         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
37572         Introduced in commit v0.0-7636-gd202279.
37573         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
37575 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
37577         extern-inline: provide a -Wundef safe config.h
37578         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
37579         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
37580         to produce a -Wundef warning free config.h.
37582 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37584         hash-pjw: relax license to LGPLv2+
37585         * modules/hash-pjw (License): Relax, with consent of author.
37587 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37589         maint.mk: fix strict vs. lazy variable issues with RELEASE
37590         * top/maint.mk (_equal): New function.
37591         (member_check): Strip the result to avoid spurious spaces.
37592         (url_dir_list): Do not use ifeq, which is strict, as it will
37593         require RELEASE_TYPE to be defined.
37594         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
37595         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
37596         (announcement_Cc_alpha,announcement_mail_headers_alpha)
37597         (announcement_Cc_beta,announcement_mail_headers_beta)
37598         (announcement_Cc_stable,announcement_mail_headers_stable): these.
37599         (release): Do not depend on $(release-type), as it forces its
37600         evaluation.  Bounce to it.
37602 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37604         maint.mk: formatting changes
37605         * top/maint.mk: Indent bodies of if's.
37607 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
37609         maint.mk: factor the validation of RELEASE_TYPE
37610         With help from Jim Meyering.
37611         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
37612         * top/maint.mk (_empty, _sp): Move their definition earlier.
37613         (member-check, release-type): New.
37614         Use the latter instead of $(RELEASE_TYPE).
37615         Remove now useless local checks.
37617 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37619         maint.mk: provide "make upload" to ease uploading
37620         See
37621         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
37622         Do not depend simply on the current $(VERSION), as there may have been
37623         new commits since the tarball generation.  Rather, rely on $(RELEASE),
37624         as "make release-commit" already does.
37626         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
37627         "make TYPE".
37629         * top/maint.mk (upload_command, upload, release): New.
37630         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
37631         (VERSION): first word of $(RELEASE) is always right.
37632         (emit_upload_commands): Adjust.
37633         * top/README-release: Update.
37635 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37637         maint.mk: silent rules
37638         With help from Stefano Lattarini.
37639         * top/maint.mk (writable-files): Use $(AM_V_GEN).
37640         (announcement): Use $(AM_V_at).
37642 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37644         localename: port gl_locale_name_thread_unsafe to FreeBSD
37645         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
37646         and use the simpler FreeBSD implementation on Mac OS X as well.
37647         Original idea suggested by Ed Maste in
37648         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
37650 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37652         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
37653         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
37654         * lib/mbuiter.c, lib/xsize.c: New files.
37655         * lib/binary-io.h (BINARY_IO_INLINE):
37656         * lib/eealloc.h (EEALLOC_INLINE):
37657         * lib/mbfile.h (MBFILE_INLINE):
37658         * lib/mbiter.h (MBITER_INLINE):
37659         * lib/mbuiter.h (MBUITER_INLINE):
37660         * lib/xsize.h (XSIZE_INLINE):
37661         New macros.
37662         Replace all uses of 'static inline' with them.
37663         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37664         * m4/eealloc.m4 (gl_EEALLOC):
37665         * m4/mbfile.m4 (gl_MBFILE):
37666         * m4/mbiter.m4 (gl_MBITER):
37667         * m4/xsize.m4 (gl_XSIZE):
37668         Do not require AC_C_INLINE.
37669         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
37670         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
37671         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
37672         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
37673         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
37674         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
37675         * modules/binary-io, modules/eealloc, modules/mbfile:
37676         * modules/mbiter, modules/mbuiter:
37677         (Depends-on): Add extern-inline.
37679         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
37680         * lib/pipe-filter-aux.c: New file.
37681         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
37682         Replace all uses of 'static inline' with it.
37683         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37684         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
37685         (filter_retcode): No real need for inline here.
37686         * modules/pipe-filter-gi, modules/pipe-filter-ii:
37687         (Files): Add lib/pipe-filter-aux.c.
37688         (Depends-on): Add extern-inline.
37689         (configure.ac): Do not require AC_C_INLINE.
37690         (lib_SOURCES): Add pipe-filter-aux.c.
37692         fdutimensat: omit unnecessary AC_C_INLINE
37693         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
37695         fchmodat, fchownat, fstatat: use extern-inline
37696         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
37697         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
37698         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
37699         New macros.
37700         * lib/openat.h:
37701         Replace all uses of 'static inline' with them.
37702         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37703         * modules/fchmodat, modules/fchownat, modules/fstatat:
37704         * modules/openat-h:
37705         (Depends-on):
37706         Add extern-inline.
37707         (configure.ac): Remove AC_C_INLINE.
37709         acl, mbchar, priv-set: use extern-inline
37710         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
37711         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
37712         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
37713         New macros.
37714         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
37715         Replace all uses of 'static inline' with it.
37716         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37717         * m4/acl.m4 (gl_FUNC_ACL):
37718         * m4/mbchar.m4 (gl_MBCHAR):
37719         * m4/priv-set.m4 (gl_PRIV_SET):
37720         Remove AC_C_INLINE, since 'inline' is no longer used directly.
37721         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
37722         Add extern-inline.
37724         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
37725         * m4/sockets.m4 (gl_SOCKETS):
37726         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37727         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
37728         environments where it's already guaranteed to work, so we needn't
37729         check for it at 'configure'-time.
37731         tls-tests: omit unnecessary 'inline'
37732         * tests/test-tls.c (perhaps_yield): No longer inline.
37733         Simplicity and portability trump efficiency in test cases.
37735         utimens-tests: avoid unnecessary 'inline'
37736         * modules/fdutimensat-tests (configure.ac):
37737         * modules/futimens-tests (configure.ac):
37738         * modules/utimens-tests (configure.ac):
37739         * modules/utimensat-tests (configure.ac):
37740         Remove AC_C_INLINE.
37741         * tests/test-utimens-common.h (ctime_compare):
37742         No longer inline.  Simplicity and portability trump efficiency here.
37744         misc: don't limit commentary to inline functions
37745         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
37746         * lib/xalloc-oversized.h, lib/xsize.h:
37747         Contrast macros to functions in general, not just to inline functions,
37748         when the commentary does not apply only to inline functions.
37750 2012-09-20  Jim Meyering  <meyering@redhat.com>
37752         non-recursive-gnulib-prefix-hack: new module
37753         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
37754         the file that originated in Bison.
37755         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
37756         largely copied from a snippet that resided in bison's configure.ac.
37757         * modules/non-recursive-gnulib-prefix-hack: New file.
37758         * MODULES.html.sh (Support for maintaining and releasing projects):
37759         Add it.
37761 2012-09-18  Jim Meyering  <meyering@redhat.com>
37763         maint.mk: generalize _gl_tight_scope for non-recursive make
37764         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
37765         that *.h would describe additional .h files in the directory
37766         specified by $(_gl_TS_dir).  I.e., add this...
37767         (_gl_TS_other_headers): New variable.
37769         maint.mk: exempt trailing blanks found in "binary" files
37770         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
37771         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
37772         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37774 2012-09-17  Jim Meyering  <meyering@redhat.com>
37776         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
37777         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
37778         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
37779         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37781 2012-09-17  Jim Meyering  <meyering@redhat.com>
37783         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
37784         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
37785         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
37786         It is not in the same category as "exit (0)" or "exit (1)", and
37787         besides, I know of no symbolic name for that 77.  Reported by
37788         Richard W.M. Jones in
37789         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37791 2012-09-17  Jim Meyering  <meyering@redhat.com>
37793         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
37794         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
37795         all uses of #define, not just those that start in column 1.
37796         Richard W.M. Jones reported a false positive in
37797         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37799 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37801         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
37802         * lib/localcharset.c (locale_charset) [DARWIN7]:
37803         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
37804         as these two values are incompatible.  Problem reported by Max Horn.
37805         For more discussion, please see
37806         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
37808         doc: document sticky-EOF issue
37809         * doc/posix-functions/fgetc.texi (fgetc):
37810         * doc/posix-functions/fgets.texi (fgets):
37811         * doc/posix-functions/fread.texi (fread):
37812         * doc/posix-functions/fscanf.texi (fscanf):
37813         * doc/posix-functions/getc.texi (getc):
37814         * doc/posix-functions/getchar.texi (getchar):
37815         * doc/posix-functions/scanf.texi (scanf):
37816         Mention that glibc and default Solaris do not conform to
37817         C99 and POSIX-2001 or later, with respect to how getchar
37818         etc. behave when feof reports nonzero.
37820 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37822         poll: fix poll(0, NULL, msec)
37823         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
37824         but nfd is 0.  In that case poll should behave like select.
37826 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37827             Paolo Bonzini  <bonzini@gnu.org>
37829         poll: fix for systems that can't recv() on a non-socket
37830         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
37831         is readable.  In this case POLLHUP will not be supported.
37832         * doc/posix-functions/poll.texi: Document this.
37834 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
37836         poll/select: document portability problems not fixed by Gnulib.
37837         * doc/posix-functions/poll.texi: poll does not work well on
37838         pipes under Windows.  It has the same limitations as select on
37839         BeOS.
37840         * doc/posix-functions/select.texi: select does not work well
37841         on pipes under Windows.
37843 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
37845         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
37846         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
37847         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
37848         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
37850 2012-09-06  Eric Blake  <eblake@redhat.com>
37852         net_if: give more details about the bug being fixed
37853         * doc/posix-headers/net_if.texi: Add clarification.
37855 2012-09-05  Eric Blake  <eblake@redhat.com>
37857         net_if: new module
37858         * modules/net_if: New module, borrowing ideas from netinet_in.
37859         * m4/net_if_h.m4: New file.
37860         * lib/net_if.in.h: Likewise.
37861         * doc/posix-headers/net_if.texi (net/if.h): Document it.
37862         * MODULES.html.sh (lacking POSIX:2008): Likewise.
37863         * tests/test-net_if.c: Make function checks conditional.
37864         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
37866 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
37868         readutmp: fix non-portable UT_PID use
37869         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
37870         Use `UT_PID (u) > 0' as absolute condition.
37872 2012-09-04  Jim Meyering  <meyering@redhat.com>
37874         fts: reduce two or more trailing spaces to just one, usually
37875         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
37876         or more slashes, trim all but the final one.  But if a name consists
37877         solely of two slashes, don't modify it.  If it consists solely of
37878         three or more slashes, strip all but one.
37880         This is part of the solution to a minor problem with rm:
37881         it would print a bogus ELOOP diagnostic when failing to remove
37882         the slash-decorated name of a symlink-to-directory:
37884             $ mkdir d && ln -s d s && env rm -r s/
37885             rm: cannot remove 's': Too many levels of symbolic links
37887         With the change below and a trivial don't-trim-trailing-slashes
37888         adjustment to remove.c, it does this:
37890             $ env rm -r s/
37891             rm: cannot remove 's/': Not a directory
37893         Improved by: Eric Blake
37895         fts: when there is no risk of overlap, use memcpy, not memmove
37896         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
37898 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
37900         stdbool: be more compatible with mixed C/C++ compiles
37901         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
37902         Define to bool, true, false, respectively, as GCC's builtin
37903         stdbool.h does.  Problem reported by Michael Goffioul in
37904         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
37906 2012-08-28  Jim Meyering  <meyering@redhat.com>
37908         revert last change: it was not needed
37909         * tests/test-vc-list-files-git.sh: There's already a test for
37910         a working git, just below.
37912 2012-08-28  Jim Meyering  <meyering@redhat.com>
37914         tests: test-vc-list-files-git.sh: skip if git is not available
37915         * tests/test-vc-list-files-git.sh: Skip this test when git is
37916         not available.
37918 2012-08-26  Bruno Haible  <bruno@clisp.org>
37920         gnulib-tool: Remove no-op option --no-changelog.
37921         * gnulib-tool (func_usage): Don't mention --no-changelog.
37922         (do_changelog): Remove variable.
37923         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37925 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37927         doc: remove fdl-1.2.texi
37928         It is no longer used or maintained, and its use of @acronym
37929         is problematic.  See the thread containing
37930         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
37931         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
37932         * doc/old-licenses/fdl-1.2.texi: Remove.
37934         execinfo: port to FreeBSD
37935         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
37936         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
37937         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
37938         * modules/execinfo (Link): Add $(LIB_EXECINFO).
37940 2012-08-23  Jim Meyering  <meyering@redhat.com>
37942         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
37943         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
37944         to placate gcc's -Wold-style-declaration.
37946 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37948         doc: do not use @acronym
37949         * doc/inet_ntoa.texi (inet_ntoa):
37950         * doc/parse-datetime.texi (Seconds since the Epoch)
37951         (Specifying time zone rules):
37952         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
37953         Don't use @acronym.  Problem reported by John Darlington in
37954         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
37956 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
37958         stdnoreturn: port to newer GCCs
37959         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
37960         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
37961         Problem reported by Jim Meyering in
37962         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
37963         Also, rename the 'test' function to a void a clash with the
37964         already-supplied 'main' function; this fixes a bug that incorrectly
37965         rejected GCC 4.7.1's <stdnoreturn.h>.
37966         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
37967         Document GCC problem.
37969 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
37971         pipe-filter: fix comment typo
37972         * lib/pipe-filter.h: Mention correct function.
37974 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
37976         execinfo: new module
37977         This is for Emacs.  Currently, it provides a no-effect stub
37978         on all platforms where it does not already work.
37979         It already works on glibc-based systems, and on Solaris 11.
37980         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
37981         New files.
37982         * doc/glibc-headers/execinfo.texi (execinfo.h):
37983         * MODULES.html.sh (Misc): Document it.
37985 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37987         extern-inline: support old GCC 'inline'
37988         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
37989         if available.  This applies to GCC versions 2.7 through 4.2, or
37990         when newer GCC is using -fgnu89-inline.  The goal is to address
37991         some of the performance issues mentioned by Bruno Haible in
37992         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
37994 2012-08-20  Eric Blake  <eblake@redhat.com>
37996         maint.mk: avoid redundant file name in message
37997         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
37998         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
37999         (sc_makefile_path_separator_check): Remove bogus $(ME).
38001 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
38003         timer-time: fix link order when static linking on glibc
38004         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
38005         _after_ -lrt so that it's significant.
38007 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
38009         timespec: omit unnecessary AC_C_INLINE
38010         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
38012         stat-time: omit unnecessary AC_C_INLINE
38013         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
38014         Do not require AC_C_INLINE.
38016         ignore-value: omit unnecessary AC_C_INLINE
38017         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
38019         sys_select: avoid 'static inline'
38020         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
38022         mktime: avoid 'static inline'
38023         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
38024         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
38026 2012-08-19  Bruno Haible  <bruno@clisp.org>
38028         gnulib-tool: Improve coding style.
38029         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
38030         func_emit_lib_Makefile_am.
38031         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38033 2012-08-19  Bruno Haible  <bruno@clisp.org>
38035         gnulib-tool: Fix indentation.
38036         * gnulib-tool (func_import): Fix indentation.
38038 2012-08-19  Bruno Haible  <bruno@clisp.org>
38040         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
38041         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
38042         on the list of removed files.
38044 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
38046         test-parse-datetime: avoid glibc leap-second glitch
38047         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
38048         with the 2012 rules.  Problem reported by Bruce Dubbs in
38049         <http://bugs.gnu.org/12206>.
38051 2012-08-14  Bruno Haible  <bruno@clisp.org>
38053         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
38054         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
38055         from argument.
38056         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38058 2012-08-14  Eric Blake  <eblake@redhat.com>
38060         ldexp: relax license
38061         * modules/ldexp (License): Trivial relax, since the module only
38062         provides a permissively licensed m4 file.
38064 2012-08-13  Bruno Haible  <bruno@clisp.org>
38066         gnulib-tool: Fix persistence of --witness-c-macro option.
38067         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
38068         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
38070 2012-08-11  Eric Blake  <eblake@redhat.com>
38072         count-leading-zeros: use a lookup table on non-gcc compilers
38073         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
38074         alternate implementation, suggested by Jim Meyering.
38076 2012-08-10  Eric Blake  <eblake@redhat.com>
38078         count-leading-zeros: new module
38079         * modules/count-leading-zeros: New module.
38080         * m4/count-leading-zeros.m4: New file.
38081         * lib/count-leading-zeros.h: Likewise.
38082         * modules/count-leading-zeros-tests: New test.
38083         * tests/test-count-leading-zeros.c: New file.
38084         * MODULES.html.sh (Integer arithmetic functions): Document it.
38086 2012-08-07  Simon Josefsson  <simon@josefsson.org>
38087             Jim Meyering  <meyering@redhat.com>
38089         maintainer-makefile: Fix syntax error with dash.
38090         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
38091         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
38093 2012-08-05  Jim Meyering  <meyering@redhat.com>
38095         extern-inline: also ignore -Wmissing-declarations
38096         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
38097         required with gcc-4.8.0-to-be.
38099         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
38100         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
38101         for /error ?([^,]*)/.  This avoids false-positives for strings like
38102         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
38104 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
38106         gnumakefile: better interaction with Automake-NG
38107         * modules/gnumakefile [Makefile.am]: The makefiles generated by
38108         Automake-NG always contain a definition of VPATH, even in non-VPATH
38109         builds (its value being simply '.' in that case).  So, in the
38110         'clean-GNUmakefile' rule, to determine whether running under a
38111         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
38112         '$(VPATH)' expands to the empty string.
38114 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
38116         base64: Use extern C scope in header file, for C++.
38117         * lib/base64.h: Add C++ namespace protection.
38119 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
38121         stat-time, timespec, u64: support naive out-of-dir builds
38122         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
38123         Use '#include "foo.h"', not '#include <foo.h>', when including
38124         one's own interface.  This works better when configuring with
38125         out-of-directory builds, since packages need not add an
38126         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
38128 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
38130         utimens: use extern-inline
38131         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
38132         * lib/utimens.h: Add copyright notice, since this is now large enough
38133         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38134         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
38135         * modules/utimens (Depends-on): Add extern-inline.
38137         u64: use extern-inline
38138         * lib/u64.c: New file.
38139         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38140         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
38141         * modules/u64 (Files): Add lib/u64.c.
38142         (Depends-on): Add extern-inline.
38143         (configure.ac): No need to require AC_C_INLINE, since extern-inline
38144         does that now.
38145         (lib_SOURCES): Add u64.c.
38147         timespec: use extern-inline
38148         * lib/timespec.c: New file.
38149         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38150         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
38151         * modules/timespec (Files): Add lib/timespec.c.
38152         (Depends-on): Add extern-inline.
38153         (lib_SOURCES): Add timespec.c.
38155         stat-time: use extern-inline
38156         * lib/stat-time.c: New file.
38157         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
38158         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
38159         * modules/stat-time (Files): Add lib/stat-time.c.
38160         (Depends-on): Add extern-inline.
38161         (lib_SOURCES): Add stat-time.c.
38163         extern-inline: new module
38164         * modules/extern-inline, m4/extern-inline.m4: New files.
38165         This is for better support of 'extern inline' a la ISO C99,
38166         with a portable alternative on compilers that do not support
38167         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
38168         of the Emacs executable, when compiled with debugging disabled,
38169         which is a typical way that Emacs is built while developing.
38171 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
38173         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
38174         * build-aux/do-release-commit-and-tag: Move variable definitions
38175         together.
38176         ($branch): Instead of defaulting to "master", default to the current
38177         branch (as gnu-web-doc-update does).
38178         (help): Display the current values of the option arguments.
38179         * top/maint.mk (release-commit): New.
38180         * top/README-release: Simplify the corresponding step.
38182 2012-07-30  Eric Blake  <eblake@redhat.com>
38184         passfd: fix comment on recvfd
38185         * lib/passfd.c (recvfd): Fix comment.
38186         Reported by Jann Horn <jannhorn@googlemail.com>.
38188 2012-07-30  Jim Meyering  <meyering@redhat.com>
38190         maint.mk: avoid a sub-shell
38191         * top/maint.mk (release-prep): Remove unneeded sub-shell.
38193 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38195         maint.mk: use silent-rules support from Automake
38196         * top/maint.mk (news-check, vc-diff-check, announcement)
38197         (no-submodule-changes, alpha beta stable, release-prep)
38198         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
38200 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38202         maint.mk: provide a web-manual-update target
38203         * top/maint.mk: here.
38204         * top/README-release: Use it to simplify the web manual update step.
38206 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38208         README-release: shorten the circuit to post a news
38209         * top/README-release: Point directly to the news submission form.
38211 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38213         gnu-web-doc-update: fix --help
38214         * build-aux/gnu-web-doc-update: The information "top level" was written
38215         twice.
38217 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
38219         maint.mk: absolute VPATH issue
38220         * top/maint.mk (release-prep): Help Git find .git/.
38221         From Jim Meyering.
38223 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38225         gitlog-to-changelog: fix previous change
38226         * build-aux/gitlog-to-changelog: Fix condition.
38227         Add missing ";".
38229 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38231         gitlog-to-changelog: don't expect .git to be in $srcdir
38232         Reported by Bruno Haible.
38233         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
38234         * build-aux/gitlog-to-changelog (&git_dir_option): New.
38235         Use it.
38237 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
38239         maint.mk: absolute VPATH build fix
38240         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
38241         $(srcdir) is not a parent of $(builddir).
38243 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
38245         clean-temp: Fix memory leak.
38246         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
38247         'files' members of tmpdir.
38249 2012-07-27  Jim Meyering  <meyering@redhat.com>
38251         maint.mk: new rule: refresh-gnulib-patches
38252         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
38253         Use this rule to refresh them.
38254         * top/maint.mk (refresh-gnulib-patches): New rule.
38256 2012-07-24  Bruno Haible  <bruno@clisp.org>
38258         gnulib-tool: Fix handling of inctests variable.
38259         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
38260         Reported by Nick Bowler <nbowler@elliptictech.com>.
38262 2012-07-22  Bruno Haible  <bruno@clisp.org>
38264         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
38265         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
38266         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38267         Remove exemption for getpass.h.
38268         Suggested by Eric Blake.
38270 2012-07-20  Eric Blake  <eblake@redhat.com>
38272         verify: document conflict with -Wnested-externs
38273         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
38275         maint.mk: forbid exit(-1)
38276         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
38278 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38280         fsusage: port back to Solaris
38281         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
38282         error (fsd not declared) on Solaris 10.  Reported privately by
38283         Andrew Borodin.
38285 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38287         gnu-web-doc-update: fix error messages
38288         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
38290         gnu-web-doc-update: check the requirements.
38291         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
38292         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
38293         * build-aux/bootstrap (find_tool): Comment change.
38295 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
38297         maint.mk: minor simplication.
38298         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
38299         for default values.
38301 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
38303         gitlog-to-changelog: VPATH build issues
38304         If builddir is not a subdirectory of srcdir, running git from it will
38305         fail.
38306         * build-aux/gitlog-to-changelog (--srcdir): New option.
38308 2012-07-15  Bruno Haible  <bruno@clisp.org>
38310         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
38311         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
38312         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
38313         Remove exemption for fpending.h.
38314         Suggested by Eric Blake.
38316 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
38318         pthread_sigmask: fix bug on FreeBSD 9
38319         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
38320         Include string.h.
38321         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
38322         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
38323         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
38324         but pthread_sigmask (1729, NULL, NULL) returns zero.
38325         See <http://bugs.gnu.org/11884>.
38326         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
38327         by inspecting whether the main call changed the old mask.
38329 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
38331         README-release: make it more legible
38332         * top/README-release: Improve typography slightly.
38334 2012-07-15  Jim Meyering  <meyering@redhat.com>
38336         maint: require that each sc_... command start with "@"
38337         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
38338         "make sc_maint" helps us avoid this nit.
38340 2012-07-15  Jim Meyering  <meyering@redhat.com>
38342         maint.mk: add leading "@" to quiet new "make syntax-check" rule
38343         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
38345 2012-07-13  Eric Blake  <eblake@redhat.com>
38347         maint.mk: new syntax check for HAVE_DECL checks
38348         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
38349         * cfg.mk
38350         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
38351         Exempt some false positives.
38352         Based on a report by Karel Zak.
38354         argp: make HAVE_DECL usage consistent
38355         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
38356         macros, not whether they are defined.
38357         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
38358         convention with other declaration checks.
38359         Reported by Karel Zak, with suggestions from Paul Eggert.
38361         stat-time: relax license to LGPLv2+
38362         * modules/stat-time (License): Relax, with consent of all authors.
38364         strndup: fix m4 usage error
38365         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
38366         defined, to either 0 or 1.
38367         Reported by Karel Zak.
38369 2012-07-11  Jim Meyering  <meyering@redhat.com>
38371         maint: enable the sc_avoid_if_before_free syntax-check rule
38372         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
38373         (if_before_free_offenders_): Define.
38374         (if_before_free_basename_re_): Define.
38375         Exempt current files with useless if-before-free.
38377 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
38379         gettext: do not assume '#define ... defined ...' behavior
38380         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
38381         Do not use '#define FOO ... defined BAR ...', as the C standard says
38382         it's not portable to expect that this works after macro expansion.
38383         Problem reported for gzip by Steven M. Schweda in
38384         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
38386 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38388         getloadavg: clean out old Emacs and Autoconf cruft
38389         See Glenn Morris in <http://bugs.gnu.org/11905>.
38390         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
38391         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
38392         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
38393         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
38395 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
38397         bootstrap: let warn be like tests/init.sh's warn_
38398         Reported by Jim Meyering.
38399         * build-aux/bootstrap (warn): Remove, replaced by...
38400         (warnf_, warn_): these.
38401         Adjust callers.
38402         Shorten messages that no longer fit in 80 columns.
38404 2012-07-09  Bruno Haible  <bruno@clisp.org>
38406         getopt: Simplify after Emacs changed.
38407         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
38408         (gl_GETOPT_IFELSE): Remove macro.
38410 2012-07-09  Jim Meyering  <meyering@redhat.com>
38412         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
38413         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
38415         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
38416         Bugs in both of those conspired to make the
38417         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
38418         _sc_search_regexp's handling of non-empty $in_files would filter
38419         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
38420         choice of in_files value meant there would be no match in most
38421         projects, due to the presence of two or more Makefile.in files.
38422         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
38423         Fix a bug in how a non-empty $$in_files was processed:
38424         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
38425         in spite of the name, it's a regexp, not a list of file names.
38427 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38429         getloadavg, getopt: fix commentary re configure.in
38430         Autoconf is deprecating the name 'configure.in', so change it to
38431         to the new name 'configure.ac' in a couple of places.
38432         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
38433         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
38434         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
38435         Emacs has renamed it to configure.ac, and it no longer refers
38436         to these macros anyway.
38438         timespec: mark functions with const attributes
38439         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
38440         Mark with _GL_ATTRIBUTE_CONST.
38442 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38444         canonicalize[-lgpl]: handle "guessing" values when cross-building
38445         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38446         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
38447         matches "*yes" instead of just "yes".  Regression introduced in commit
38448         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
38450 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
38451             Bruno Haible  <bruno@clisp.org>
38453         canonicalize: make the right guess when cross-compiling to GNU
38454         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
38455         determine whether cross-compiling to glibc systems, so as to
38456         include GNU/Hurd.
38458 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38460         timespec-sub: avoid duplicate include
38461         * lib/timespec-sub.c: Do not include <config.h> twice.
38462         Reported by Juanma Barranquero.
38464 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
38466         bootstrap: use a more consistent error reporting scheme
38467         * build-aux/bootstrap (warn, die): New.
38468         Use them.
38470 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38472         sys_time: allow too-wide tv_sec
38473         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
38474         timeval even if tv_sec is wider than time_t.  This allows
38475         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
38476         as without this patch gnulib replaces struct timeval
38477         and OpenBSD futimes therefore has a type mismatch.
38478         * doc/posix-headers/sys_time.texi: Mention this.
38480         pthread: check for both pthread_create and pthread_join
38481         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
38482         alter the check so that it tests for both pthread_create and
38483         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
38484         Suggested by Bruno Haible and Richard Yao in
38485         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
38487         parse-datetime: doc tuneup
38488         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
38489         spacing issues.
38491 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
38493         do-release-commit-and-tag: fix the previous commit
38494         * build-aux/do-release-commit-and-tag: Actually the test was right,
38495         but the comment and the error message were misleading.
38496         Fix comment, and improve error message.
38497         Perform check first, so that NEWS is not modified uselessly.
38499         do-release-commit-and-tag: fix typo
38500         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
38501         _not_ start with a stub.
38503 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38505         pthread: check for pthread_create, not pthread_join
38506         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
38507         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
38508         pthread_join in libc.  I hope this removes the need for all the
38509         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
38510         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
38512 2012-07-04  Jim Meyering  <meyering@redhat.com>
38514         parse-datetime: fix failure to diagnose invalid input
38515         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
38516         rather than diagnosing the invalid input.  Now it reports this:
38517         date: invalid date '\260'
38518         * lib/parse-datetime.y (to_uchar): Define.
38519         (yylex): Don't sign-extend "other" bytes.
38520         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
38521         Thanks to Bruno Haible for the patch to this file.
38522         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
38523         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
38525 2012-07-03  Jim Meyering  <meyering@redhat.com>
38527         bootstrap: do not require now-removed build-aux/missing
38528         Now that build-aux/missing is, er, missing, bootstrap would
38529         silently fail.
38530         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
38531         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
38532         no longer part of gnulib.
38533         Diagnose the failure.
38535 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38537         alloca: add support for HP NonStop TNS/E native
38538         * lib/alloca.in.h (alloca): Support the new host.
38539         From a suggestion by Joachim Schmitz in
38540         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
38542 2012-07-02  Pádraig Brady  <P@draigBrady.com>
38544         fsusage: remove code not needed on non GNU/Linux systems.
38546         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
38547         Don't include headers no longer needed in this case.
38548         * lib/fsusage.c [STAT_STATVFS &&
38549         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
38550         STAT_STATFS2_FRSIZE to exclude code not used in this case.
38552 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38554         fsusage: include files needed for glibc 2.6 fallback
38555         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
38556         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
38557         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
38558         Problem reported by Ludovic Courtès in
38559         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
38561         fsusage: avoid needless check on GNU/Linux
38562         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
38563         on GNU/Linux systems, since it can't possibly work.
38565 2012-07-01  Bruno Haible  <bruno@clisp.org>
38567         log: Fix an autoconf >= 2.64 warning.
38568         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
38569         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38571 2012-06-28  Bruno Haible  <bruno@clisp.org>
38573         log10f: Fix possible configuration problem.
38574         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
38575         $LOGF_LIBM.
38576         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38578 2012-06-28  Bruno Haible  <bruno@clisp.org>
38580         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
38581         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
38582         not gl_cv_func_unlink_works.
38583         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38585 2012-06-27  Eric Blake  <eblake@redhat.com>
38587         config: drop scripts that automake says are not independent
38588         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
38589         * build-aux/elisp-comp: Delete.
38590         * build-aux/missing: Likewise.
38591         * build-aux/ylwrap: Likewise.
38592         * modules/elisp-comp: Likewise.
38593         * MODULES.html.sh: Drop mention of elisp-comp.
38594         * NEWS: Mention this.
38596 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38598         root-uid: new module
38599         This is for portability to Tandem's NonStop Kernel.
38600         * lib/root-uid.h, modules/root-uid: New files.
38601         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
38602         * lib/write-any-file.c, tests/test-sethostname2.c:
38603         Include "root-uid.h".
38604         * lib/euidaccess.c (euidaccess):
38605         * lib/pt_chown.c (main):
38606         * lib/unlinkdir.c (cannot_unlink_dir):
38607         * lib/write-any-file.c (can_write_any_file):
38608         * m4/mknod.m4 (gl_FUNC_MKNOD):
38609         * tests/test-sethostname2.c (geteuid, main):
38610         Don't assume ROOT_UID == 0.
38611         * modules/euidaccess (Depends-on):
38612         * modules/pt_chown (Depends-on):
38613         * modules/sethostname-tests (Depends-on):
38614         * modules/unlinkdir (Depends-on):
38615         * modules/write-any-file (Depends-on):
38616         Add root-uid.
38618         regex: use locale-independent comparison for codeset name
38619         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
38620         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
38621         for codeset name.
38622         * lib/regex_internal.h: Do not include <strings.h>, since we
38623         no longer use strcasecmp.
38624         * modules/regex (Depends-on): Remove strcase.
38626 2012-06-23  Bruno Haible  <bruno@clisp.org>
38628         getopt-posix: No longer guarantee that option processing is resettable.
38629         * doc/posix-functions/getopt.texi: Drop description of problem with
38630         internal state. Fix info about mingw and msvc9.
38631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
38632         option processing by getopt(). Run three test programs instead of one.
38633         Simplify cross-compilation guess.
38634         * NEWS: Mention the change.
38635         Reported by Rich Felker <dalias@aerifal.cx>.
38637 2012-06-26  Bruno Haible  <bruno@clisp.org>
38639         argp, regex: Ensure strcasecmp gets declared.
38640         * lib/argp-help.c: Include <strings.h>.
38641         * lib/regex_internal.h: Likewise.
38642         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
38644 2012-06-24  Bruno Haible  <bruno@clisp.org>
38646         ptsname_r: Make it consistent with ptsname on AIX.
38647         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
38648         implementation as for OSF/1.
38649         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
38650         a pty master.
38652         ptsname_r: Make it consistent with ptsname on OSF/1.
38653         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38654         OSF/1.
38656 2012-06-24  Bruno Haible  <bruno@clisp.org>
38658         ttyname_r: Fix result on OSF/1, Solaris.
38659         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
38661 2012-06-24  Bruno Haible  <bruno@clisp.org>
38663         ptsname_r: Add support for Solaris.
38664         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38665         Solaris.
38667         ptsname_r: Fix test failure on native Windows.
38668         * modules/ptsname_r (Depends-on): Add isatty.
38670         ptsname_r: Fix test failures on IRIX, Solaris.
38671         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
38672         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
38673         accordingly.
38674         * lib/ptsname_r.c: Include <fcntl.h>.
38675         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
38676         set errno if fd is invalid.
38677         * tests/test-isatty.c (main): Update comments.
38679 2012-06-24  Bruno Haible  <bruno@clisp.org>
38681         ptsname test: Extend test.
38682         * tests/test-ptsname.c: Include <errno.h>.
38683         (main): Test behaviour with invalid file descriptor.
38685 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
38687         time: fix obsolete comment
38688         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
38689         reference to HAVE_STRUCT_TIMESPEC in comment.
38691 2012-06-23  Bruno Haible  <bruno@clisp.org>
38693         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
38694         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
38695         does not handle abbreviated long options with equivalent
38696         disambiguations, set gl_replace_getopt to yes.
38697         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
38699 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38701         time_r: fix typo that always overrode localtime_r decl
38702         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
38703         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
38704         not in a standard include.
38706 2012-06-22  Bruno Haible  <bruno@clisp.org>
38708         Write "Mac OS X" instead of "MacOS X".
38709         * README: Write "Mac OS X" instead of "MacOS X".
38710         * build-aux/bootstrap: Likewise.
38711         * build-aux/install-reloc: Likewise.
38712         * lib/acl-internal.h: Likewise.
38713         * lib/acl_entries.c: Likewise.
38714         * lib/argp-ba.c: Likewise.
38715         * lib/argp-pv.c: Likewise.
38716         * lib/config.charset: Likewise.
38717         * lib/copy-acl.c: Likewise.
38718         * lib/csharpexec.c: Likewise.
38719         * lib/euidaccess.c: Likewise.
38720         * lib/fbufmode.c: Likewise.
38721         * lib/fflush.c: Likewise.
38722         * lib/file-has-acl.c: Likewise.
38723         * lib/filemode.h: Likewise.
38724         * lib/fpurge.c: Likewise.
38725         * lib/freadable.c: Likewise.
38726         * lib/freadahead.c: Likewise.
38727         * lib/freading.c: Likewise.
38728         * lib/freadptr.c: Likewise.
38729         * lib/freadseek.c: Likewise.
38730         * lib/fseeko.c: Likewise.
38731         * lib/fseterr.c: Likewise.
38732         * lib/fsusage.c: Likewise.
38733         * lib/fwritable.c: Likewise.
38734         * lib/fwriting.c: Likewise.
38735         * lib/get-rusage-as.c: Likewise.
38736         * lib/get-rusage-data.c: Likewise.
38737         * lib/getdomainname.c: Likewise.
38738         * lib/idpriv-drop.c: Likewise.
38739         * lib/idpriv-droptemp.c: Likewise.
38740         * lib/localcharset.c: Likewise.
38741         * lib/locale.in.h: Likewise.
38742         * lib/localename.c: Likewise.
38743         * lib/mbsrtowcs-state.c: Likewise.
38744         * lib/nproc.c: Likewise.
38745         * lib/passfd.c: Likewise.
38746         * lib/posix_openpt.c: Likewise.
38747         * lib/printf-parse.c: Likewise.
38748         * lib/progreloc.c: Likewise.
38749         * lib/safe-read.h: Likewise.
38750         * lib/safe-write.h: Likewise.
38751         * lib/sched.in.h: Likewise.
38752         * lib/set-mode-acl.c: Likewise.
38753         * lib/signal.in.h: Likewise.
38754         * lib/stdint.in.h: Likewise.
38755         * lib/stdio-impl.h: Likewise.
38756         * lib/stdlib.in.h: Likewise.
38757         * lib/strtod.c: Likewise.
38758         * lib/sys_select.in.h: Likewise.
38759         * lib/tcgetsid.c: Likewise.
38760         * lib/unistd.in.h: Likewise.
38761         * lib/unlockpt.c: Likewise.
38762         * lib/vasnprintf.c: Likewise.
38763         * lib/vma-iter.c: Likewise.
38764         * lib/wcsrtombs-state.c: Likewise.
38765         * m4/acl.m4: Likewise.
38766         * m4/acosl.m4: Likewise.
38767         * m4/asinl.m4: Likewise.
38768         * m4/atanl.m4: Likewise.
38769         * m4/c-stack.m4: Likewise.
38770         * m4/cosl.m4: Likewise.
38771         * m4/expl.m4: Likewise.
38772         * m4/extensions.m4: Likewise.
38773         * m4/fdatasync.m4: Likewise.
38774         * m4/fmal.m4: Likewise.
38775         * m4/frexp.m4: Likewise.
38776         * m4/frexpf.m4: Likewise.
38777         * m4/frexpl.m4: Likewise.
38778         * m4/fsusage.m4: Likewise.
38779         * m4/getdomainname.m4: Likewise.
38780         * m4/getloadavg.m4: Likewise.
38781         * m4/getopt.m4: Likewise.
38782         * m4/gettext.m4: Likewise.
38783         * m4/gnulib-common.m4: Likewise.
38784         * m4/intdiv0.m4: Likewise.
38785         * m4/intlmacosx.m4: Likewise.
38786         * m4/largefile.m4: Likewise.
38787         * m4/ldexpl.m4: Likewise.
38788         * m4/link-follow.m4: Likewise.
38789         * m4/locale-ar.m4: Likewise.
38790         * m4/locale-fr.m4: Likewise.
38791         * m4/locale-ja.m4: Likewise.
38792         * m4/locale-tr.m4: Likewise.
38793         * m4/locale-zh.m4: Likewise.
38794         * m4/locale_h.m4: Likewise.
38795         * m4/lock.m4: Likewise.
38796         * m4/logl.m4: Likewise.
38797         * m4/mathfunc.m4: Likewise.
38798         * m4/minus-zero.m4: Likewise.
38799         * m4/mktime.m4: Likewise.
38800         * m4/mmap-anon.m4: Likewise.
38801         * m4/multiarch.m4: Likewise.
38802         * m4/nanosleep.m4: Likewise.
38803         * m4/nocrash.m4: Likewise.
38804         * m4/poll.m4: Likewise.
38805         * m4/printf-frexpl.m4: Likewise.
38806         * m4/printf.m4: Likewise.
38807         * m4/signbit.m4: Likewise.
38808         * m4/sinl.m4: Likewise.
38809         * m4/sqrtl.m4: Likewise.
38810         * m4/strerror_r.m4: Likewise.
38811         * m4/tanl.m4: Likewise.
38812         * m4/threadlib.m4: Likewise.
38813         * m4/ttyname_r.m4: Likewise.
38814         * m4/unlink.m4: Likewise.
38815         * m4/visibility.m4: Likewise.
38816         * m4/wcwidth.m4: Likewise.
38817         * tests/minus-zero.h: Likewise.
38818         * tests/test-alloca-opt.c: Likewise.
38819         * tests/test-copy-acl.sh: Likewise.
38820         * tests/test-copy-file.sh: Likewise.
38821         * tests/test-fdatasync.c: Likewise.
38822         * tests/test-file-has-acl.sh: Likewise.
38823         * tests/test-flock.c: Likewise.
38824         * tests/test-fsync.c: Likewise.
38825         * tests/test-localename.c: Likewise.
38826         * tests/test-malloca.c: Likewise.
38827         * tests/test-nonblocking-pipe.h: Likewise.
38828         * tests/test-nonblocking-socket.h: Likewise.
38829         * tests/test-openpty.c: Likewise.
38830         * tests/test-posix_openpt.c: Likewise.
38831         * tests/test-ptsname.c: Likewise.
38832         * tests/test-ptsname_r.c: Likewise.
38833         * tests/test-sameacls.c: Likewise.
38834         * tests/test-select.h: Likewise.
38835         * tests/test-set-mode-acl.sh: Likewise.
38836         * tests/test-snprintf-posix.h: Likewise.
38837         * tests/test-sprintf-posix.h: Likewise.
38838         * tests/test-strtod.c: Likewise.
38839         * tests/test-time.c: Likewise.
38840         * tests/test-vasnprintf-posix.c: Likewise.
38841         * tests/test-vasprintf-posix.c: Likewise.
38842         * doc/acl-resources.txt: Likewise.
38843         * doc/**/*.texi: Likewise.
38844         Reported by Max Horn <max@quendi.de>.
38846 2012-06-22  Bruno Haible  <bruno@clisp.org>
38848         grantpt: Relax requirement regarding invalid file descriptors.
38849         * lib/grantpt.c: Don't include <fcntl.h>.
38850         (grantpt): Don't verify the validity of the file descriptor.
38851         * modules/grantpt (Depends-on): Remove fcntl-h.
38852         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
38853         file descriptors.
38854         * doc/posix-functions/grantpt.texi: Document more platforms on which
38855         grantpt succeeds for invalid file descriptors.
38856         Reported by Rich Felker <dalias@aerifal.cx>.
38858 2012-06-22  Bruno Haible  <bruno@clisp.org>
38860         fbufmode test: Don't test unportable behaviour.
38861         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
38862         (main): Invoke it three times.
38863         Reported by Szabolcs Nagy <nsz@port70.net>
38864         and Rich Felker <dalias@aerifal.cx>.
38866 2012-06-21  Bruno Haible  <bruno@clisp.org>
38868         gnulib-tool: Refactor inctests variable.
38869         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
38870         (func_modules_transitive_closure,
38871         func_modules_transitive_closure_separately,
38872         func_import, func_create_testdir): Update.
38874         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
38875         * gnulib-tool: Accept option --without-tests.
38876         (func_usage): Document --without-tests option. Rearrange.
38877         (inctests): Normalize according to the mode.
38878         * NEWS: Mention the change.
38879         Suggested by Simon Josefsson.
38881 2012-06-21  Bruce Korb  <bkorb@gnu.org>
38883         parse-duration test: Avoid spurious output.
38884         * tests/test-parse-duration.sh: Reindent with leading tabs.
38886 2012-06-21  Jim Meyering  <meyering@redhat.com>
38888         maint: disable the strncpy prohibition
38889         * cfg.mk: Do not prohibit strncpy here.
38891 2012-06-21  Bruno Haible  <bruno@clisp.org>
38893         nonblocking: Avoid compilation error on mingw64.
38894         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
38895         fscanf.
38896         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
38897         * modules/vfscanf (configure.ac): Likewise.
38898         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
38899         definition only if stdio.h has prepared it.
38900         Reported by Daniel P. Berrange <berrange@redhat.com>.
38902 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
38904         gnulib-tool: Use readlink if it is available.
38905         * gnulib-tool (func_readlink): Choose function more appropriately.
38907 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38909         posixtm-tests: port to buggy compiler
38910         Problem reported by Simon Josefsson in
38911         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
38912         * modules/posixtm-tests (Depends-on): Add stdint.
38913         * tests/test-posixtm.c (struct posixtm_test.t_expected):
38914         Now of type int_least64_t, not int64_t, both because that's
38915         what INT64_C returns and because int_least64_t works even
38916         on 72-bit hosts.
38917         (T): Use INT64_C on constants outside the traditional int range,
38918         to work around compiler bug noted by Simon.
38920         mktime: fix integer overflow in 'configure'-time test
38921         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
38922         after integer overflow.  Problem reported by Rich Felker in
38923         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
38924         Also, don't look for further instances of a bug if we've already
38925         found one instance; this helps 'configure' run faster.
38927 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
38929         tmpfile, clean-temp: Fix invocation of GetVersionEx.
38930         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
38931         GetVersionEx correctly.
38932         * lib/clean-temp.c (supports_delete_on_close): Likewise.
38934 2012-06-20  Bruno Haible  <bruno@clisp.org>
38936         fdopen: Allow implementations that don't reject invalid fd arguments.
38937         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
38938         succeeds.
38939         Reported by Rich Felker <dalias@aerifal.cx>.
38941 2012-06-20  Simon Josefsson  <simon@josefsson.org>
38943         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
38944         bring in LIBINTL.
38946 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38948         init.sh: do not rely on autoupated PWD
38949         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
38950         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
38951         Although Nelson's bug was not necessarily fixed by this patch,
38952         it seems wise to make the change for safety.
38953         * tests/init.sh (path_prepend_): Do not rely on PWD updating
38954         automagically after 'cd'; this is not reliable on older shells.
38955         (setup_): Fail if we cannot cd to temporary directory.
38957 2012-06-19  Bruno Haible  <bruno@clisp.org>
38959         stat, fstat: Avoid warnings on mingw64.
38960         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
38961         redefining.
38962         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
38963         Reported by Daniel P. Berrange <berrange@redhat.com>.
38965 2012-06-19  Bruno Haible  <bruno@clisp.org>
38967         stdioext: Add support for musl libc.
38969         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
38970         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
38972         * m4/fseterr.m4: New file.
38973         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
38974         function exists.
38975         * modules/fseterr (Files): Add m4/fseterr.m4.
38976         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
38977         __fseterr does not exist.
38978         (Makefile.am): Remove fseterr.c from lib_SOURCES.
38980         * lib/freadable.h: Update comment.
38982         * lib/fwritable.h: Update comment.
38984         * lib/freading.h: Update comment.
38986         * lib/fwriting.h: Update comment.
38988         * m4/freadahead.m4: New file.
38989         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
38990         that function exists.
38991         * modules/freadahead (Files): Add m4/freadahead.m4.
38992         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
38993         __freadahead does not exist.
38994         (Makefile.am): Remove freadahead.c from lib_SOURCES.
38996         * m4/freadptr.m4: New file.
38997         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
38998         function exists.
38999         * modules/freadptr (Files): Add m4/freadptr.m4.
39000         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
39001         __freadptr does not exist.
39002         (Makefile.am): Remove freadptr.c from lib_SOURCES.
39004         * m4/freadseek.m4: New file.
39005         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
39006         exists.
39007         * modules/freadseek (Files): Add m4/freadseek.m4.
39008         (configure.ac): Invoke gl_FUNC_FREADSEEK.
39010         * lib/fpurge.c (fpurge): Update comment.
39012         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
39014 2012-06-19  Bruno Haible  <bruno@clisp.org>
39016         *printf-posix: Put more info into config.log.
39017         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
39018         exit code into config.log.
39020 2012-06-19  Bruno Haible  <bruno@clisp.org>
39022         getopt-gnu: Fix exit code overflow in autoconf test.
39023         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
39024         to keep them below < 128.
39026 2012-06-17  Jim Meyering  <meyering@redhat.com>
39028         maint.mk: fix typo in code to derive GPG key at release time
39029         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
39031 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
39033         regex: avoid warning when pointers are not long
39034         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
39035         and uintptr_t, not long, for portability to hosts where pointers and
39036         long have different sizes.  Issue noted by Daniel P. Berrange in
39037         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
39038         and fix suggested by Bruno Haible in
39039         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
39041 2012-06-17  Bruno Haible  <bruno@clisp.org>
39043         dummy: Relicense into the public domain.
39044         * modules/dummy (License): Set to "public domain".
39045         Suggested by Reuben Thomas.
39047 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39049         announce-gen: VPATH issues
39050         * build-aux/announce-gen (--srcdir): New option, used to trim the
39051         $srcdir part of the path from $builddir to NEWS.
39052         * top/maint.mk (announcement): Adjust.
39054 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
39056         gnu-web-doc-update: VPATH builds
39057         * build-aux/gnu-web-doc-update (--builddir): New option.
39058         Revamp the handling of options.
39059         Prefer $(...) to `...`.
39060         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
39061         the template, and it is GNU mktemp specific.
39062         Prefer set -e to long series of &&.
39063         Restore the initial git branch, not "master".
39064         Properly initialize submodules (don't rely only on bootstrap).
39065         Do not reconfigure blindly, use config.status.
39066         * top/README-release: Update instructions for gnu-web-doc-update.
39068 2012-06-11  Jim Meyering  <meyering@redhat.com>
39070         maint.mk: revert most of the previous change re "all these"
39071         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
39072         For rationale, see the discussion at
39073         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
39075 2012-06-10  Karl Berry  <karl@gnu.org>
39077         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
39079         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
39081 2012-06-10  Bruce Korb  <bkorb@gnu.org>
39083         parse-duration: Relicense under LGPLv2+.
39084         * modules/parse-duration (License): Change to LGPLv2+.
39086 2012-06-10  Jim Meyering  <meyering@redhat.com>
39088         maint.mk: prohibit common grammar error: "all these"
39089         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
39090         the list of prohibited word sequences.  It should be "all of these".
39091         * lib/tempname.c (__gen_tempname): Fix one of them.
39093 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39095         do-release-commit-and-tag: support VPATH builds
39096         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
39097         (noteworthy): Defined earlier to factor its value.
39098         (noteworthy_stub): New.
39099         Use it to factor.
39100         (help_version): Split into...
39101         (help, version): these.
39102         Adjust the option processing part.
39103         Support "--option=value" in addition to "--option value".
39104         (builddir): New.
39105         (--builddir): New option.
39106         * top/README-release: Document this.
39107         Reword slightly so that the reader cannot understand that he
39108         has to do these steps before calling do-release-commit-and-tag.
39110 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39112         readme-release: also require announce-gen and maintainer-makefile
39113         * modules/readme-release (Depends-on): here.
39114         * modules/announce-gen, modules/do-release-commit-and-tag,
39115         modules/gnu-web-doc-update, modules/maintainer-makefile
39116         (Description): Point to readme-release.
39118 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
39120         maint.mk: fix VPATH issues.
39121         * top/maint.mk (news-check): GNU Make understand $< very well.
39122         (release-prep): NEWS is in $(srcdir).
39124 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
39126         readme-release: require the promoted modules.
39127         * modules/readme-release (Depends-on): Add
39128         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
39129         in this text.
39131 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39132             Bruno Haible  <bruno@clisp.org>
39134         error, strerror-override: Support mingw64 from Fedora 17.
39135         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
39136         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
39137         EINPROGRESS.
39138         * lib/strerror-override.h (strerror_override): Test it.
39139         * lib/strerror-override.c (strerror_override): Likewise.
39140         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
39142 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39143             Bruno Haible  <bruno@clisp.org>
39145         error, strerror-override: Support mingw64 from Fedora 17.
39146         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
39147         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
39148         * lib/strerror-override.h (strerror_override): Test it.
39149         * lib/strerror-override.c (strerror_override): Likewise.
39151 2012-06-03  Bruno Haible  <bruno@clisp.org>
39153         error, strerror-override: Support new errno values from POSIX:2008.
39154         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
39155         ENOTRECOVERABLE.
39156         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
39157         platforms.
39158         * lib/strerror-override.c (strerror_override): Conditionalize the
39159         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
39160         * lib/strerror-override.h (strerror_override): Declare also if
39161         GNULIB_defined_EOWNERDEAD is defined.
39162         * tests/test-errno.c (e130, e131): New variables.
39163         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
39164         ENOTRECOVERABLE.
39165         Reported by Paolo Bonzini.
39167 2012-05-31  Jim Meyering  <meyering@redhat.com>
39169         savewd: add missing dependency on sys_wait module
39170         * modules/savewd (Depends-on): Add sys_wait, needed at least
39171         for MSVC.  Report and suggested change by Michael Goffioul.
39173 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
39175         system-quote-tests: port to CentOS 5
39176         Problem reported by Tom G. Christensen in
39177         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
39178         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
39180 2012-05-29  Jim Meyering  <meyering@redhat.com>
39182         maint: fix typos in comments and ChangeLog
39183         Culprits identified and fixed mostly automatically using these commands:
39184         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
39185         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
39186         using http://github.com/lyda/misspell-check
39187         * ChangeLog: Fix typos.
39188         * doc/solaris-versions: Likewise.
39189         * lib/regexec.c (re_search_stub): Likewise.
39190         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
39192 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
39194         manywarnings: remove duplicate -Wmultichar entry
39195         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
39196         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
39197         so keep the entry marked as documented.
39199 2012-05-27  Karl Berry  <karl@gnu.org>
39201         * config/srclist.txt (mktime.c): remove last libc sync,
39202         perhaps just temporarily.
39204 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
39206         regex: don't assume uint64_t or uint32_t
39207         * lib/regcomp.c (init_word_char): Don't assume that the types
39208         uint64_t and uint32_t exist.  The C standard doesn't guarantee
39209         them, and on some 32-bit compilers there is no uint64_t.
39210         Problem reported by Gianluigi Tiesi in
39211         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
39213 2012-05-25  Jim Meyering  <meyering@redhat.com>
39215         maint.mk: add strncpy-prohibiting syntax-check rule
39216         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
39218 2012-05-24  Jim Meyering  <meyering@redhat.com>
39220         maint.mk: compute $(gpg_key_ID) more portably
39221         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
39222         That use of sed is not portable to some fringe systems.
39223         Reported by Paul Eggert in
39224         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
39226 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39228         mktime: sync from glibc
39229         * config/srclist.txt: Uncomment mktime.c.
39230         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
39231         First, indent with tabs, since glibc uses tabs and doesn't want to
39232         change and we'd rather be identical to glibc.  Also, two small
39233         coding changes:
39234         (isdst_differ): Use &&, not &, as && is the usual style.
39235         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
39236         for clarity.
39238 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39240         announce-gen: du -h is more portable than du --human
39241         * build-aux/announce-gen (sizes): Invoke du with -h instead
39242         of --human.  Accept leading white space in its output.
39244 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39246         announce-gen: Improve diagnostics.
39247         * build-aux/announce-gen: When parsing command line options,
39248         prefer "announce-gen: option --release-type requires an argument"
39249         to "Option release-type requires an argument".
39251 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
39253         maint.mk: gpg_key_ID: use sed more portably
39254         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
39255         the closing brace.
39256         (refresh-po): Fuse two sed invocations into one.
39258 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
39260         gitlog-to-changelog: support the log message format used in Bison.
39261         * build-aux/gitlog-to-changelog: Support --strip-tab and
39262         --strip-cherry-picked.
39264 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
39266         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
39267         the rest of the current time slice to another thread in the current
39268         process. So if the thread that feeds the file decscriptor we're
39269         polling is not in the current process, we get busy-waiting.
39270         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
39271         Patch from Theodore Leblond.
39272         * lib/select.c: Split polling out of the loop that sets the output
39273         fd_sets.  Check for zero result and loop if the wait timeout is
39274         infinite.
39276 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39278         select: Fix build error on IRIX 6.5.
39279         * lib/select.c: Include stddef.h for NULL.
39281 2012-05-21  Simon Josefsson  <simon@josefsson.org>
39283         gc: fix libgcrypt detection on older machines.
39284         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
39285         copyright years because the file has been distributed every year
39286         since it was created.
39288 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
39290         crypto: fix bug in large buffer handling
39291         Problem reported by Serge Belyshev for glibc in
39292         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
39293         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
39294         * lib/md4.c (md4_process_block):
39295         * lib/md5.c (md5_process_block):
39296         * lib/sha1.c (sha1_process_block):
39297         * lib/sha256.c (sha256_process_block):
39298         Don't assume the buffer length is less than 2**32.
39299         * lib/sha512.c (sha512_process_block): Likewise.
39300         Here, the bug is present only in the rare case where the host does
39301         not support uint64_t or where size_t is wider than 64 bits.
39302         Use u64size to work around the problems.
39303         * lib/u64.h (u64size): New macro.
39305 2012-05-15  Pádraig Brady  <P@draigBrady.com>
39307         fsusage: fix block size returned on older Linux 2.6
39309         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
39310         which is available since Linux 2.6.
39311         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
39312         when the member is available so it can be used as a fallback.
39313         * doc/posix-functions/statvfs.texi: Mention the hang issue
39314         on Linux < 2.6.36.
39316 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39318         bootstrap: suppress stderr chatter
39319         * build-aux/bootstrap (insert_sorted_if_absent, main program):
39320         Omit unnecessary chatter to stderr.  The main program chatter
39321         was there only inadvertantly.
39323         bootstrap: .gitignore files created by autopoint, libtool
39324         I ran into this problem when bootstrapping the latest diffutils.
39325         After './bootstrap', 'git status' reported lots of untracked files
39326         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
39327         autopoint and do not need to be version-controlled.
39328         * build-aux/bootstrap: Put into .gitignore the files that
39329         autopoint and libtool create, by keeping track of files that exist
39330         after but not before these programs are run.
39331         (version_controlled_file): Move up.  2nd arg is now full file
39332         name, not base name; this is more convenient.  Put CVS at the end,
39333         as it's now somewhat deprecated.
39335 2012-05-14  Jim Meyering  <meyering@redhat.com>
39337         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
39338         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
39339         definition.  Reported by Bruno Haible.
39341 2012-05-13  Bruno Haible  <bruno@clisp.org>
39342             Paul Eggert  <eggert@cs.ucla.edu>
39344         binary-io: Define set_binary_mode function.
39345         * lib/binary-io.h (set_binary_mode): New function.
39346         (SET_BINARY): Define in terms of set_binary_mode.
39347         * modules/binary-io (configure.ac): Require AC_C_INLINE.
39348         * tests/test-binary-io.c (main): Accept an argument, and test either
39349         set_binary_mode or SET_BINARY depending on the argument.
39350         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
39351         argument. Clean up also t-bin-out0.tmp.
39353 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
39355         bootstrap: take advantage of POSIX shell features
39357         The 'bootstrap' script offered by Gnulib script already uses POSIX
39358         shell features (like $((...)) arithmetic expansions) that are not
39359         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
39360         means that bootstrap must already be run using a proper POSIX shell,
39361         which will thus provide more features, like ${var#pattern} parameter
39362         expansion or inversion of a command exit status with '!'.  We can
39363         thus use these features to improve the clarity and the performances
39364         of the bootstrap script.
39366         Suggested by Eric Blake.
39368         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
39369         of sed/expr plus command substitutions, to save some forks.  While
39370         we are at it, prefer the POSIX $(...) form of command substitution,
39371         rather than the legacy form `...` (since the former is visually
39372         clearer and interacts better with quoting), and prefer the idiom:
39373           "if ! CMD; then ACTION ..."
39374         over the idiom:
39375           "if CMD; then :; else ACTION ..."
39376         which was required by legacy Bourne shells not supporting '!'.
39378 2012-05-12  Bruno Haible  <bruno@clisp.org>
39380         system-quote: Add more comments.
39381         * lib/system-quote.h: Add more comments about wilcards and limitations.
39382         Suggested by Eli Zaretskii <eliz@gnu.org>.
39384         sh-quote, system-quote: Add comments about wildcards.
39385         * lib/sh-quote.h: Clarify what happens with wildcard characters.
39386         * lib/system-quote.h: Likewise.
39387         Reported by Eli Zaretskii <eliz@gnu.org>.
39389 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
39391         fsusage: check for GNU/Linux statvfs problem dynamically
39392         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
39393         Define STAT_STATFS2_BSIZE too, since in this case the code now
39394         checks dynamically whether statvfs is reliable, falling back on
39395         Linux-style statfs otherwise.
39396         (statvfs_works): New function, for dynamically testing statvfs.
39397         (get_fs_usage) [STAT_STATVFS]: Use it.
39398         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
39399         statvfs on GNU/Linux hosts, since it's now done dynamically.
39401 2012-05-10  Bruno Haible  <bruno@clisp.org>
39403         system-quote, execute, spawn-pipe: Escape '?' on Windows.
39404         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
39405         '?' character.
39406         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
39407         * tests/test-system-quote-main.c (check_all): Check also strings like
39408         "??????????".
39409         Reported by Eli Zaretskii <eliz@gnu.org>.
39411 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39413         _Noreturn: port config.h to gcc -Wundef
39414         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
39415         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
39416         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
39418 2012-05-10  Bruno Haible  <bruno@clisp.org>
39420         system-quote: Refactor.
39421         * lib/system-quote.h (system_quote_copy): Fix comment.
39422         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
39423         New functions, extracted from system_quote_copy.
39424         (system_quote_length, system_quote_copy): Use these functions.
39425         Reported by Paul Eggert.
39427 2012-05-08  Bruno Haible  <bruno@clisp.org>
39429         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
39430         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
39432 2012-05-08  Bruno Haible  <bruno@clisp.org>
39434         Tests for module 'system-quote'.
39435         * modules/system-quote-tests: New file.
39436         * tests/test-system-quote.sh: New file.
39437         * tests/test-system-quote-main.c: New file.
39438         * tests/test-system-quote-child.c: New file.
39440         New module 'system-quote'.
39441         * lib/system-quote.h: New file.
39442         * lib/system-quote.c: New file.
39443         * modules/system-quote: New file.
39445 2012-05-08  Bruno Haible  <bruno@clisp.org>
39447         sh-quote: Make C++ safe and allow multiple inclusion.
39448         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
39449         declarations in extern "C".
39451 2012-05-08  Bruno Haible  <bruno@clisp.org>
39453         sh-quote tests: Make tests stricter.
39454         * tests/test-sh-quote.c (check_one): Check the return value of
39455         shell_quote_copy.
39456         (main): Check a string with a CR character. Check a string that
39457         contains UCHAR_MAX.
39459 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
39461         warnings.m4: provide a means to specify the program to compile.
39462         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
39463         (gl_WARN_ADD): here.
39464         Use gl_AS_VAR_APPEND.
39465         Support an argument to specify the program to compile.
39466         (gl_WARN_ADD): Accept an argument to specify the program to compile.
39467         AC_SUBST the WARN_CFLAGS when they are used.
39468         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
39469         leave this to gl_WARN_ADD.
39471 2012-05-08  Eric Blake  <eblake@redhat.com>
39473         doc: recommendations on gettext version
39474         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
39475         choice between versions.
39476         * DEPENDENCIES (gettext): Cover both approaches.
39478 2012-05-08  Jim Meyering  <meyering@redhat.com>
39480         init.sh: explain why EXEEXT support uses aliases rather than functions
39481         * tests/init.sh: Add a comment.
39483         init.sh: don't let bash aliases interfere with tests
39484         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
39485         is bash.  This avoids problems for those who alias standard commands to
39486         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
39487         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
39489 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39491         stdint: be more consistent with glibc, SunOS libc
39492         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
39493         (gl_int_fast16_t, gl_uint_fast16_t)
39494         (gl_int_fast32_t, gl_uint_fast32_t)
39495         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
39496         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
39497         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
39498         Be consistent with glibc by default, and with SunOS 5.10 and later
39499         if __sun is defined.  This lessens the likelihood of clashes if
39500         code compiled for older hosts is combined with code compiled for
39501         newer ones.  Problem reported by Niels Möller in
39502         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
39504 2012-05-07  Eric Blake  <eblake@redhat.com>
39506         isatty: relax license to LGPLv2+
39507         * modules/isatty (License): Relax license.
39509 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39511         stat-size: comment fix
39512         * lib/stat-size.h: Remove obsolete comment about indenting.
39514 2012-05-06  Bruno Haible  <bruno@clisp.org>
39516         Tests for module 'sh-quote'.
39517         * modules/sh-quote-tests: New file.
39518         * tests/test-sh-quote.c: New file.
39520 2012-05-06  Bruno Haible  <bruno@clisp.org>
39522         sh-quote: Improve shell_quote_argv's signature.
39523         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
39524         * lib/sh-quote.c (shell_quote_argv): Likewise.
39526 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39528         stdint: document issues with int_fast8_t etc.
39529         * doc/posix-headers/stdint.texi (stdint.h): Say that other
39530         stdint.h substitutes may define these types differently.  See
39531         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
39533 2012-05-05  Bruno Haible  <bruno@clisp.org>
39535         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
39536         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
39537         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
39538         or 'guessing no (mishandles large arguments)'.
39540 2012-05-05  Bruno Haible  <bruno@clisp.org>
39542         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
39543         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
39544         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
39545         set gl_cv_func_link_follows_symlink to "guessing no".
39547 2012-05-05  Bruno Haible  <bruno@clisp.org>
39549         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
39550         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
39551         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
39552         "guessing no".
39553         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
39555 2012-05-05  Bruno Haible  <bruno@clisp.org>
39557         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
39558         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
39559         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
39560         set gl_cv_struct_dirent_d_ino to "guessing yes".
39562 2012-05-05  Bruno Haible  <bruno@clisp.org>
39564         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
39565         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
39566         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
39567         "guessing yes".
39569 2012-05-05  Bruno Haible  <bruno@clisp.org>
39571         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
39572         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
39573         compiling to a glibc system, set gl_cv_func_signbit and
39574         gl_cv_func_signbit_gcc to "guessing yes".
39576 2012-05-05  Bruno Haible  <bruno@clisp.org>
39578         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
39579         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
39580         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
39581         to "guessing yes".
39582         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
39583         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
39585 2012-05-05  Bruno Haible  <bruno@clisp.org>
39587         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
39588         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
39589         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
39590         gl_cv_func_realpath_works to "guessing yes".
39592 2012-05-05  Bruno Haible  <bruno@clisp.org>
39594         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
39595         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
39596         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
39598 2012-05-04  Bruno Haible  <bruno@clisp.org>
39600         Tweak last commit.
39601         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
39602         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39604 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
39606         unistd_h: make it easier to avoid sys_types_h
39607         This is useful for Emacs, which has its own method of porting to
39608         Windows, and which therefore does not need the sys_types_h module.
39609         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
39610         code moved here from gl_SYS_TYPES_H.
39611         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
39612         using the code directly.
39613         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
39614         gl_SYS_TYPES_H.
39615         * modules/sys_types (Files):
39616         * modules/unistd (Files): Add m4/off_t.m4.
39618 2012-05-03  Bruno Haible  <bruno@clisp.org>
39620         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
39621         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
39622         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
39623         "guessing yes" or "guessing no".
39624         (gl_FUNC_LSTAT): Update.
39625         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
39626         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
39627         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
39629 2012-05-03  Bruno Haible  <bruno@clisp.org>
39631         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
39632         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
39633         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
39634         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
39635         cross-compiling, choose the first alternative on glibc systems.
39636         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
39638 2012-05-03  Bruno Haible  <bruno@clisp.org>
39640         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
39641         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
39642         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
39644 2012-05-03  Bruno Haible  <bruno@clisp.org>
39646         chown: Avoid "guessing no" when cross-compiling to glibc systems.
39647         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
39649 2012-05-03  Bruno Haible  <bruno@clisp.org>
39651         Avoid "guessing no" guesses when cross-compiling to glibc systems.
39652         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
39653         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
39654         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
39655         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
39656         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
39657         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
39658         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
39659         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
39660         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
39661         compiling to glibc systems, set gl_cv_func_chown_slash_works,
39662         gl_cv_func_chown_ctime_works to "guessing yes".
39663         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
39664         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
39665         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
39666         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
39667         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
39668         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
39669         compiling to glibc systems, set gl_cv_func_open_directory_works to
39670         "guessing yes".
39671         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
39672         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
39673         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
39674         "guessing yes".
39675         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
39676         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
39677         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
39678         compiling to glibc systems, set gl_cv_func_floorf_ieee to
39679         "guessing yes".
39680         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
39681         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
39682         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
39683         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
39684         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
39685         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
39686         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
39687         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
39688         "guessing yes".
39689         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
39690         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
39691         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
39692         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
39693         "guessing yes".
39694         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
39695         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
39696         "guessing yes".
39697         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
39698         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
39699         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
39700         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
39701         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
39702         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
39703         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
39704         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
39705         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
39706         compiling to glibc systems, set gl_cv_func_log10f_ieee to
39707         "guessing yes".
39708         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
39709         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
39710         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
39711         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
39712         "guessing yes".
39713         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
39714         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
39715         "guessing yes".
39716         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
39717         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
39718         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
39719         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
39720         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
39721         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
39722         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
39723         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
39724         compiling to glibc systems, set gl_cv_func_mkfifo_works to
39725         "guessing yes".
39726         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
39727         compiling to glibc systems, set gl_cv_func_mknod_works to
39728         "guessing yes".
39729         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
39730         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
39731         "guessing yes".
39732         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
39733         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
39734         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
39735         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
39736         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
39737         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
39738         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
39739         compiling to glibc systems, set gl_cv_func_svid_putenv to
39740         "guessing yes".
39741         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
39742         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
39743         "guessing yes".
39744         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
39745         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
39746         "guessing yes".
39747         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
39748         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
39749         to "guessing yes".
39750         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
39751         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
39752         to "guessing yes".
39753         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
39754         compiling to glibc systems, set gl_cv_func_rmdir_works to
39755         "guessing yes".
39756         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
39757         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
39758         gl_cv_func_unlink_parent_fails to "guessing yes".
39759         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
39760         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
39761         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
39762         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
39763         gl_cv_func_rename_dest_works to "guessing yes".
39764         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
39765         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
39766         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
39767         compiling to glibc systems, set gl_cv_func_roundf_ieee to
39768         "guessing yes".
39769         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
39770         compiling to glibc systems, set gl_cv_func_roundl_ieee to
39771         "guessing yes".
39772         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
39773         compiling to glibc systems, set gl_cv_func_setenv_works to
39774         "guessing yes".
39775         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
39776         compiling to glibc systems, set gl_cv_func_unsetenv_works to
39777         "guessing yes".
39778         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
39779         compiling to glibc systems, set gl_cv_func_sleep_works to
39780         "guessing yes".
39781         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
39782         compiling to glibc systems, set gl_cv_func_stat_file_slash to
39783         "guessing yes".
39784         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
39785         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
39786         "guessing yes".
39787         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
39788         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
39789         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
39790         compiling to glibc systems, set gl_cv_func_truncf_ieee to
39791         "guessing yes".
39792         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
39793         compiling to glibc systems, set gl_cv_func_truncl_ieee to
39794         "guessing yes".
39795         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
39796         compiling to glibc systems, set gl_cv_func_usleep_works to
39797         "guessing yes".
39798         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
39799         compiling to glibc systems, set gl_cv_func_futimesat_works to
39800         "guessing yes".
39802 2012-05-03  Bruno Haible  <bruno@clisp.org>
39804         Say "guessing yes" or "guessing no" when cross-compiling.
39805         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
39806         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
39807         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
39808         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
39809         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
39810         am_cv_func_working_getline to "guessing yes" or "guessing no".
39811         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
39812         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
39813         (gl_FUNC_MEMMEM): When cross-compiling, set
39814         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
39815         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
39816         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
39817         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
39818         set gl_cv_func_strcasestr_works_always to "guessing yes" or
39819         "guessing no".
39820         (gl_FUNC_STRCASESTR): When cross-compiling, set
39821         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
39822         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
39823         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
39824         (gl_FUNC_STRSTR): When cross-compiling, set
39825         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
39826         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
39827         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
39828         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
39829         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
39831 2012-05-01  Bruno Haible  <bruno@clisp.org>
39833         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
39834         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
39835         * build-aux/reloc-ldflags: Likewise.
39836         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
39838 2012-05-01  Bruno Haible  <bruno@clisp.org>
39840         gnulib-tool: Remove transitional code.
39841         * gnulib-tool: Don't warn about --import with 0 arguments any more.
39842         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
39844 2012-05-01  Bruno Haible  <bruno@clisp.org>
39846         getcwd: Fix misindentation.
39847         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
39849 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
39851         exclude: process exclude and include directives in order
39852         This restores the pre-2009 behavior, and is part of a fix of a
39853         grep bug reported by Quentin Arce in
39854         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
39855         * lib/exclude.c (struct exclude): Remove 'tail' member.
39856         (new_exclude_segment): Prepend the new segment instead of appending.
39857         Return void, since that's now more convenient.
39858         (file_pattern_matches): Renamed from excluded_file_pattern_p.
39859         (file_name_matches): Renamed from excluded_file_name_p.
39860         (file_pattern_matches, file_name_matches):
39861         Return true if the pattern matches, not if it excludes.
39862         All callers changed.
39863         (excluded_file_name): Process the list in reverse order;
39864         since the list is now reversed this restores the pre-2009 behavior.
39865         (add_exclude): Adjust to new reversed-order list.  Use local var
39866         rather than macro, for clarity.
39867         * tests/test-exclude7.sh: Adjust to corrected behavior.
39869         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
39870         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
39871         it's not possible here.  Handle the case of \ at end of pattern
39872         without dumping core.
39873         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
39875         _Noreturn: future-proof non-GNU and non-MSVC compilers
39876         * build-aux/snippet/_Noreturn.h (_Noreturn):
39877         * m4/gnulib-common.m4 (gl_COMMON_BODY):
39878         Do not define _Noreturn if __STDC_VERSION__ indicates this is
39879         C11 or later.  This is more likely to work with random future C
39880         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
39881         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
39883         exclude: handle wildcards with FNM_EXTMATCH
39884         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
39885         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
39886         comment that "has wildcards" really means "has or may have
39887         wildcards".  Simplify by avoiding the need to call strcspn.
39889 2012-04-29  Bruno Haible  <bruno@clisp.org>
39891         gnulib-tool: Fix list of authors.
39892         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
39894 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
39896         bootstrap: support Automake-NG in $buildreq
39897         * bootstrap (check_versions): Handle automake and aclocal from
39898         Automake-NG specially.  They can be specified as respectively
39899         the "automake-ng" and "aclocal-ng" requirements.
39901 2012-04-25  Eric Blake  <eblake@redhat.com>
39903         bootstrap: only force latest Makefile.in.in for gettext module
39904         * build-aux/bootstrap (with_gettext): Only install latest
39905         Makefile.in.in for projects requesting bleeding edge gettext.
39907 2012-04-22  Bruno Haible  <bruno@clisp.org>
39909         doc: Mention reason for replacement on glibc/Linux systems.
39910         * doc/posix-functions/dprintf.texi: Mention the problem with special
39911         'long double' values.
39912         * doc/posix-functions/fprintf.texi: Likewise.
39913         * doc/posix-functions/printf.texi: Likewise.
39914         * doc/posix-functions/snprintf.texi: Likewise.
39915         * doc/posix-functions/sprintf.texi: Likewise.
39916         * doc/posix-functions/vdprintf.texi: Likewise.
39917         * doc/posix-functions/vfprintf.texi: Likewise.
39918         * doc/posix-functions/vprintf.texi: Likewise.
39919         * doc/posix-functions/vsnprintf.texi: Likewise.
39920         * doc/posix-functions/vsprintf.texi: Likewise.
39921         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
39922         platforms with F_DUPFD_CLOEXEC problems.
39923         * doc/posix-functions/glob.texi: Mention which platforms are affected
39924         by the problem with symbolic links.
39925         * doc/posix-functions/linkat.texi: Mention the problem with
39926         AT_SYMLINK_FOLLOW on Linux.
39928 2012-04-22  Bruno Haible  <bruno@clisp.org>
39930         pwrite: Don't replace on all platforms.
39931         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
39933 2012-04-22  Bruno Haible  <bruno@clisp.org>
39935         rint* tests: Avoid gcc warnings.
39936         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
39937         * tests/test-rintf.c (INFINITY, NAN): Likewise.
39938         * tests/test-rintl.c (INFINITY, NAN): Likewise.
39940 2012-04-21  Bruno Haible  <bruno@clisp.org>
39942         users.txt: Update.
39943         * users.txt: Add freedink, wdiff. Update URLs for projects that have
39944         switched from CVS to git, bzr, or svn.
39946 2012-04-21  Bruno Haible  <bruno@clisp.org>
39948         Large File Support for native Windows platforms.
39950         * m4/largefile.m4 (gl_LARGEFILE): New macro.
39951         * modules/largefile (configure.ac): Require gl_LARGEFILE.
39953         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
39954         type.
39955         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
39956         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
39957         * doc/posix-headers/sys_types.texi: Mention the effect of the
39958         'largefile' module.
39960         * lib/fcntl.in.h: Add comments about off_t.
39961         * modules/fcntl-h (Depends-on): Add sys_types.
39963         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
39964         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
39965         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
39966         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
39967         * modules/unistd (Depends-on): Add sys_types.
39968         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
39970         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
39971         instead of lseek.
39972         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
39973         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
39974         * modules/lseek (Depends-on): Add sys_types.
39976         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
39977         msvc-nothrow.h.
39978         (SetFileSize): New function.
39979         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
39980         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
39981         if Large File Support is requested.
39982         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
39983         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
39985         * lib/stdio.in.h: Add comments about off_t.
39986         * modules/stdio (Depends-on): Add sys_types.
39988         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
39989         instead of ftello.
39990         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
39991         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
39992         (gl_PREREQ_FTELLO): New macro.
39993         * modules/ftello (Depends-on): Add sys_types.
39994         (configure.ac): Incoke gl_PREREQ_FTELLO.
39996         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
39997         instead of fseeko.
39998         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
39999         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
40000         (gl_PREREQ_FSEEKO): New macro.
40001         * modules/fseeko (Depends-on): Add sys_types.
40002         (configure.ac): Invoke gl_PREREQ_FSEEKO.
40004         * lib/sys_stat.in.h: Add comments about off_t.
40005         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
40006         64-bit integer for st_size in 'struct stat'.
40007         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
40008         Define _GL_WINDOWS_64_BIT_ST_SIZE.
40009         * modules/sys_stat (Depends-on): Add sys_types.
40010         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
40012         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
40013         instead of stat or _stat.
40015         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
40016         'struct _stati64' instead of fstat and 'struct stat'.
40017         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
40018         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
40020         Reported by Ray Satiro <raysatiro@yahoo.com>.
40022 2012-04-19  Eric Blake  <eblake@redhat.com>
40024         bootstrap: accommodate older libtool
40025         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
40026         Reported by Daniel P. Berrange.
40028 2012-04-19  Jim Meyering  <meyering@redhat.com>
40030         announce-gen: avoid failure due to lack of Digest::SHA1
40031         Even with the preferred Digest::SHA available, this script
40032         would fail when the backup module, Digest::SHA1, was not installed.
40033         * build-aux/announce-gen: Quote the conditional use of "use".
40034         Reported by Reuben Thomas in:
40035         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
40037         bootstrap: don't let a user's CDPATH setting affect this script
40038         When CDPATH is set, cd will sometimes generate output.
40039         When "cd" is run in a subshell whose output matters, that
40040         surprising-to-some output can cause malfunction.
40041         Unsetting CDPATH turns off this shell "feature."
40042         * build-aux/bootstrap (CDPATH): Unset.
40043         Reported by Reuben Thomas in:
40044         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
40045         and inspired by his patch here:
40046         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
40048 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
40049         and Jim Meyering  <meyering@redhat.com>
40051         maint.mk: catch "see @xref{}" and similar
40052         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
40053         prohibit "See also @xref{", "Also see @pxref{", and similar.
40055 2012-04-16  Jim Meyering  <meyering@redhat.com>
40057         bootstrap: really use gnulib's po/Makefile.in.in
40058         * build-aux/bootstrap: Correct the source file name in previous change.
40059         Reported by Akim Demaille.
40061         configmake: correct minor inconsistency in Makefile rule
40062         * modules/configmake (Makefile.am): All other rules like this one
40063         run the final "mv -f ..." in the same backslash-continued command
40064         as the one that does everything else.  This one put the mv -f ...
40065         command on a separate, non-backslash-continued line.
40066         Make it like the others.
40068         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
40069         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
40070         the one from gettext.  Reported by Akim Demaille.
40072 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
40074         Fix recursion of install-* into po directories.
40075         Bison's install-pdf bug reported by Hans Aberg at
40076         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
40077         * build-aux/po/Makefile.in.in (install-dvi, install-html)
40078         (install-info, install-pdf, install-ps): New targets.
40080 2012-04-16  Jim Meyering  <meyering@redhat.com>
40082         maint: avoid spurious "make sc_maint" failure
40083         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
40084         exempt all *.class file names, for lib/javaversion.class.
40086 2012-04-15  Bruno Haible  <bruno@clisp.org>
40088         lseek: Make configure test independent of environment.
40089         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
40090         Windows, we know that lseek() on pipes is broken; skip the runtime
40091         test.
40093 2012-04-14  Bruno Haible  <bruno@clisp.org>
40095         stat: Bypass buggy override in mingw64.
40096         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
40097         * lib/stat.c (stat) [mingw64]: Define to _stat.
40098         * doc/posix-functions/stat.texi: Mention mingw64 bug.
40100 2012-04-14  Bruno Haible  <bruno@clisp.org>
40102         pathmax: Fix compilation error on MSVC 9.
40103         * modules/pathmax (Depends-on): Add unistd.
40105 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
40107         README: document pointer comparison assumption
40108         * README (Portability guidelines): Document assumption about
40109         pointer comparisons, in response to a recent bug-gnulib comment by
40110         Jeffrey Kegler.
40112 2012-04-12  Bruno Haible  <bruno@clisp.org>
40114         Tests for module 'getrusage'.
40115         * modules/getrusage-tests: New file.
40116         * tests/test-getrusage.c: New file.
40118         New module 'getrusage'.
40119         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
40120         warn-on-use.h.
40121         (getrusage): New declaration.
40122         * lib/getrusage.c: New file.
40123         * m4/getrusage.m4: New file.
40124         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
40125         is declared.
40126         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
40127         HAVE_GETRUSAGE.
40128         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
40129         snippet/c++defs, snippet/warn-on-use.
40130         (Makefile.am): Update generation of sys/resource.h. Substitute
40131         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
40132         * modules/getrusage: New file.
40133         * doc/posix-functions/getrusage.texi: Mention the new module.
40135 2012-04-12  Bruno Haible  <bruno@clisp.org>
40137         Tests for module 'sys_resource'.
40138         * modules/sys_resource-tests: New file.
40139         * tests/test-sys_resource.c: New file.
40141         New module 'sys_resource'.
40142         * lib/sys_resource.in.h: New file.
40143         * m4/sys_resource_h.m4: New file.
40144         * modules/sys_resource: New file.
40145         * doc/posix-headers/sys_resource.texi: Mention the new module.
40147 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
40149         ioctl: Fix compilation error on mingw.
40150         * lib/ioctl.c: Include <windows.h>.
40151         Also reported by Ray Satiro <raysatiro@yahoo.com>.
40153 2012-04-04  Jim Meyering  <meyering@redhat.com>
40155         regex: correct #pragma guard expression
40156         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
40157         not 4.3.  Correct its cpp guard expression.
40159 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40161         regex: remove unnecessary type punning
40162         Problem reported by Vladimir Serbinenko in
40163         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
40164         * lib/regex.h (struct re_pattern_buffer): Change the type of
40165         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
40166         Fix comment to match code.
40167         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
40168         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
40169         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
40170         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
40171         (set_regs):
40172         Omit no-longer-necessary casts.
40174 2012-04-03  Bruno Haible  <bruno@clisp.org>
40176         Tests for module 'ilogbl'.
40177         * modules/ilogbl-tests: New file.
40178         * tests/test-ilogbl.c: New file.
40180         New module 'ilogbl'.
40181         * lib/math.in.h (ilogbl): New declaration.
40182         * lib/ilogbl.c: New file.
40183         * m4/ilogbl.m4: New file.
40184         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
40185         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
40186         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
40187         Split sed invocation, to avoid the limit of 100 substitutions of
40188         HP-UX 'sed'.
40189         * modules/ilogbl: New file.
40190         * tests/test-math-c++.cc: Check the declaration of ilogbl.
40191         * doc/posix-functions/ilogbl.texi: Mention the new module.
40193 2012-04-03  Bruno Haible  <bruno@clisp.org>
40195         Tests for module 'ilogbf'.
40196         * modules/ilogbf-tests: New file.
40197         * tests/test-ilogbf.c: New file.
40199         New module 'ilogbf'.
40200         * lib/math.in.h (ilogbf): New declaration.
40201         * lib/ilogbf.c: New file.
40202         * m4/ilogbf.m4: New file.
40203         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
40204         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
40205         REPLACE_ILOGBF.
40206         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
40207         REPLACE_ILOGBF.
40208         * modules/ilogbf: New file.
40209         * tests/test-math-c++.cc: Check the declaration of ilogbf.
40210         * doc/posix-functions/ilogbf.texi: Mention the new module.
40212 2012-04-03  Bruno Haible  <bruno@clisp.org>
40214         Tests for module 'ilogb'.
40215         * modules/ilogb-tests: New file.
40216         * tests/test-ilogb.c: New file.
40217         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
40218         tests/test-logb-ieee.h.
40220         New module 'ilogb'.
40221         * lib/math.in.h (ilogb): New declaration.
40222         * lib/ilogb.c: New file.
40223         * m4/ilogb.m4: New file.
40224         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
40225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
40226         REPLACE_ILOGB.
40227         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
40228         REPLACE_ILOGB.
40229         * modules/ilogb: New file.
40230         * tests/test-math-c++.cc: Check the declaration of ilogb.
40231         * doc/posix-functions/ilogb.texi: Mention the new module.
40233 2012-04-03  Bruno Haible  <bruno@clisp.org>
40235         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
40236         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
40237         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
40238         (main): Check their values.
40239         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
40240         problem.
40242 2012-04-03  Bruno Haible  <bruno@clisp.org>
40244         Tests for module 'logbl-ieee'.
40245         * modules/logbl-ieee-tests: New file.
40246         * tests/test-logbl-ieee.c: New file.
40248         New module 'logbl-ieee'.
40249         * modules/logbl-ieee: New file.
40251         Tests for module 'logb-ieee'.
40252         * modules/logb-ieee-tests: New file.
40253         * tests/test-logb-ieee.c: New file.
40255         New module 'logb-ieee'.
40256         * modules/logb-ieee: New file.
40258         Tests for module 'logbf-ieee'.
40259         * modules/logbf-ieee-tests: New file.
40260         * tests/test-logbf-ieee.c: New file.
40261         * tests/test-logb-ieee.h: New file.
40263         New module 'logbf-ieee'.
40264         * modules/logbf-ieee: New file.
40266 2012-04-03  Bruno Haible  <bruno@clisp.org>
40268         Tests for module 'logbl'.
40269         * modules/logbl-tests: New file.
40270         * tests/test-logbl.c: New file.
40272         New module 'logbl'.
40273         * lib/math.in.h (logbl): New declaration.
40274         * lib/logbl.c: New file.
40275         * m4/logbl.m4: New file.
40276         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
40277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
40278         REPLACE_LOGBL.
40279         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
40280         REPLACE_LOGBL.
40281         * modules/logbl: New file.
40282         * tests/test-math-c++.cc: Check the declaration of logbl.
40283         * doc/posix-functions/logbl.texi: Mention the new module.
40285 2012-04-02  Bruno Haible  <bruno@clisp.org>
40287         Tests for module 'logbf'.
40288         * modules/logbf-tests: New file.
40289         * tests/test-logbf.c: New file.
40291         New module 'logbf'.
40292         * lib/math.in.h (logbf): New declaration.
40293         * lib/logbf.c: New file.
40294         * m4/logbf.m4: New file.
40295         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
40296         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
40297         REPLACE_LOGBF.
40298         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
40299         REPLACE_LOGBF.
40300         * modules/logbf: New file.
40301         * tests/test-math-c++.cc: Check the declaration of logbf.
40302         * doc/posix-functions/logbf.texi: Mention the new module.
40304 2012-04-02  Bruno Haible  <bruno@clisp.org>
40306         logb tests: More tests.
40307         * tests/test-logb.h: New file, based on tests/test-logb.c and
40308         tests/test-frexp.h.
40309         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
40310         (main): Just invoke test_function.
40311         * modules/logb-tests (Files): Add tests/test-logb.h,
40312         tests/minus-zero.h, tests/randomd.c.
40313         (Makefile.am): Add randomd.c to test_logb_SOURCES.
40315         logb: Provide replacement and workarounds.
40316         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
40317         is 1.
40318         * lib/logb.c: New file.
40319         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
40320         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
40321         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
40322         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
40323         * modules/logb (Files): Add lib/logb.c.
40324         (Depends-on): Add isfinite, frexp, isnand.
40325         (configure.ac): Compile the replacement code logb.c if needed.
40326         * tests/test-math-c++.cc: Check the declaration of logb.
40327         * doc/posix-functions/logb.texi: Mention the replacement and the bug
40328         with subnormal numbers.
40330 2012-04-02  Bruno Haible  <bruno@clisp.org>
40332         log10* tests: Speed up.
40333         * tests/test-log10.h (test_function): Reduce amount of random numbers
40334         to test.
40336 2012-04-01  Bruno Haible  <bruno@clisp.org>
40338         logf-ieee: Fix test whether logf works.
40339         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
40341 2012-04-01  Bruno Haible  <bruno@clisp.org>
40343         log10l: Work around log10l-ieee test failure on IRIX 6.5.
40344         * lib/log10l.c: Include <float.h>
40345         (log10l): On IRIX, normalize the +Infinity value.
40346         * modules/log10l (Depends-on): Add 'float'.
40347         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
40348         +Infinity.
40350         log10f-ieee: Work around test failure on NetBSD 5.1.
40351         * m4/log10f-ieee.m4: New file.
40352         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
40353         test whether log10f works with a negative argument. Replace it if not.
40354         * lib/log10f.c (log10f): For negative arguments, return NaN.
40355         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
40356         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
40357         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
40359         log10f-ieee: Work around test failure on Solaris 9.
40360         * modules/log10f-ieee (Depends-on): Add log10-ieee.
40361         (configure.ac): Require gl_FUNC_LOG10F.
40363         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40364         * m4/log10-ieee.m4: New file.
40365         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
40366         whether log10 works with a negative argument. Replace it if not.
40367         * lib/log10.c (log10): For negative arguments, return NaN.
40368         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
40369         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
40370         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
40372         Tests for module 'log10l-ieee'.
40373         * modules/log10l-ieee-tests: New file.
40374         * tests/test-log10l-ieee.c: New file.
40376         New module 'log10l-ieee'.
40377         * modules/log10l-ieee: New file.
40379         Tests for module 'log10-ieee'.
40380         * modules/log10-ieee-tests: New file.
40381         * tests/test-log10-ieee.c: New file.
40383         New module 'log10-ieee'.
40384         * modules/log10-ieee: New file.
40386         Tests for module 'log10f-ieee'.
40387         * modules/log10f-ieee-tests: New file.
40388         * tests/test-log10f-ieee.c: New file.
40389         * tests/test-log10-ieee.h: New file.
40391         New module 'log10f-ieee'.
40392         * modules/log10f-ieee: New file.
40394 2012-04-01  Bruno Haible  <bruno@clisp.org>
40396         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
40397         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
40398         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
40399         workaround.
40400         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
40401         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
40402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
40403         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
40404         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
40405         (Depends-on): Update conditions.
40406         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
40407         IRIX 6.5, OSF/1 5.1 problems.
40409 2012-04-01  Bruno Haible  <bruno@clisp.org>
40411         log10f: Work around OSF/1 5.1 bug.
40412         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
40413         * lib/log10f.c (log10f): If logf exists, use it and provide just the
40414         workaround.
40415         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
40416         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
40417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
40418         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
40419         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
40420         (Depends-on): Update conditions.
40421         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
40423 2012-04-01  Bruno Haible  <bruno@clisp.org>
40425         log10: Work around OSF/1 5.1 bug.
40426         * lib/math.in.h (log10): New declaration.
40427         * lib/log10.c: New file.
40428         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
40429         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
40430         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
40431         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
40432         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
40433         * modules/log10 (Files): Add lib/log10.c.
40434         (Depends-on): Add math.
40435         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
40436         * tests/test-math-c++.cc: Check the declaration of log10.
40437         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
40439 2012-03-31  Bruno Haible  <bruno@clisp.org>
40441         log10l tests: More tests.
40442         * modules/log10l-tests (Files): Add tests/test-log10l.h,
40443         tests/minus-zero.h, tests/randoml.c.
40444         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
40445         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
40446         (main): Invoke test_function.
40448         log10f tests: More tests.
40449         * modules/log10f-tests (Files): Add tests/test-log10.h,
40450         tests/minus-zero.h, tests/randomf.c.
40451         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
40452         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
40453         (main): Invoke test_function.
40455         log10 tests: More tests.
40456         * tests/test-log10.h: New file.
40457         * modules/log10-tests (Files): Add tests/test-log10.h,
40458         tests/minus-zero.h, tests/randomd.c.
40459         (Makefile.am): Add randomd.c to test_log10_SOURCES.
40460         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
40461         (main): Invoke test_function.
40463 2012-03-31  Simon Josefsson  <simon@josefsson.org>
40465         fflush: Fix syntax error.
40466         * lib/fflush.c: Include unused-parameter.h, needed for
40467         _GL_UNUSED_PARAMETER.
40468         * modules/fflush (Depends-on): Add snippet/unused-parameter.
40470 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40472         regex: pacify GCC when compiling GRUB
40473         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
40474         a diagnostic.  Reported by Vladimir Serbinenko in
40475         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
40477 2012-03-29  Eric Blake  <eblake@redhat.com>
40479         stdio: don't assume gets any more
40480         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
40481         support.
40482         * modules/stdio (Makefile.am): Likewise.
40483         * lib/stdio-read.c (gets): Likewise.
40484         * tests/test-stdio-c++.cc: Likewise.
40485         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
40486         * lib/stdio.in.h (gets): Make warning occur in more places.
40487         * doc/posix-functions/gets.texi (gets): Update documentation.
40488         Reported by Christer Solskogen.
40490         maint.mk: fix syntax checks without exclusions
40491         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
40492         Reported by Daniel P. Berrange.
40494         strerror_r: avoid compiler warning
40495         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
40496         level.
40498         fflush: avoid compiler warning
40499         * lib/fflush.c (update_fpos_cache): Mark variables that are
40500         potentially unused.
40502 2012-03-25  Bruno Haible  <bruno@clisp.org>
40504         Tests for module 'localeconv'.
40505         * modules/localeconv-tests: New file.
40506         * tests/test-localeconv.c: New file.
40508         New module 'localeconv'.
40509         * lib/locale.in.h (localeconv): New declaration.
40510         * lib/localeconv.c: New file.
40511         * m4/localeconv.m4: New file.
40512         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
40513         REPLACE_LOCALECONV.
40514         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
40515         REPLACE_LOCALECONV.
40516         * modules/localeconv: New file.
40517         * modules/nl_langinfo (Depends-on): Add localeconv.
40518         * modules/human (Depends-on): Likewise.
40519         * doc/posix-functions/localeconv.texi: Mention the new module.
40521 2012-03-25  Bruno Haible  <bruno@clisp.org>
40523         locale: Provide a complete 'struct lconv'.
40524         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
40525         'struct lconv' does not contain int_p_cs_precedes.
40526         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
40527         * doc/posix-headers/locale.texi: Update.
40529         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
40530         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
40531         * doc/posix-headers/locale.texi: Update.
40533         locale: Provide a working 'struct lconv'.
40534         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
40535         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
40536         'struct lconv' does not even contain decimal_point.
40537         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
40538         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
40539         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
40540         * doc/posix-headers/locale.texi: Mention the problems with
40541         'struct lconv'.
40542         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
40544 2012-03-24  Bruno Haible  <bruno@clisp.org>
40546         Enable common subexpression optimization in GCC.
40547         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
40548         macros.
40549         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
40550         GCC attribute 'const'.
40551         (uc_locale_language): Declare with GCC attribute 'pure'.
40552         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
40553         with GCC attribute 'const'.
40554         * lib/unictype.in.h (uc_is_general_category_withtable,
40555         uc_combining_class, uc_combining_class_name,
40556         uc_combining_class_long_name, uc_bidi_class_name,
40557         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
40558         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
40559         uc_decimal_value, uc_digit_value, uc_numeric_value,
40560         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
40561         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
40562         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
40563         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
40564         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
40565         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
40566         Declare with GCC attribute 'const'.
40567         (uc_general_category_name, uc_general_category_long_name,
40568         uc_general_category_byname, uc_general_category,
40569         uc_is_general_category, uc_combining_class_byname,
40570         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
40571         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
40572         Declare with GCC attribute 'pure'.
40573         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
40574         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
40575         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
40576         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
40577         with GCC attribute 'pure'.
40578         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
40579         'const'.
40580         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
40581         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
40582         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
40583         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
40584         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
40585         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
40586         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
40587         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
40588         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
40589         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
40590         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
40591         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
40592         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
40593         GCC attribute 'pure'.
40594         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
40595         'const'.
40596         * lib/uniwidth.in.h (uc_width): Simplify declaration.
40597         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
40598         u32_strwidth): Declare with GCC attribute 'pure'.
40600         Enable common subexpression optimization in GCC.
40601         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40602         (alphasort): Declare with GCC attribute 'pure'.
40603         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40604         (atoll): Declare with GCC attribute 'pure'.
40605         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
40606         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
40607         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
40608         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40609         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
40610         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
40611         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
40613 2012-03-24  Bruno Haible  <bruno@clisp.org>
40615         gnulib-tool: Avoid unintended error output from 'cmp'.
40616         * gnulib-tool (func_add_file, func_update_file, func_import): Use
40617         "cmp -s", not "cmp > /dev/null".
40619 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
40621         gnulib-tool: fix imprecise comments w.r.t. an automake bug
40623         It's not just Automake versions < 1.9b that creates an empty
40624         pkgdatadir at installation time if pkgdata_DATA is specified
40625         to empty; modern automake versions do this as well, at least
40626         until automake 1.11.4 (not yet released at the moment of writing,
40627         but soon to appear).  That behaviour was generally considered a
40628         feature rather than a bug, at least until this discussion:
40629         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
40631         See also automake bugs #10997 and #11030.
40633         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
40634         reference to relevant automake bug numbers.
40635         (func_emit_tests_Makefile_am): Likewise.
40637 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40639         announce-gen: use Digest::SHA when possible
40640         * build-aux/announce-gen: Use Digest::SHA when possible, falling
40641         back to Digest::SHA1 if necessary.
40643 2012-03-20  Jim Meyering  <meyering@redhat.com>
40645         tests: avoid gcc warnings about argv vs. const initializers
40646         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
40647         warnings about discarding 'const' qualifier from pointer target type.
40648         * tests/test-posix_spawn2.c (main): Likewise.
40650 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40652         README-release: simplify slightly
40653         * top/README-release: Run "git checkout master" only once.
40655 2012-03-15  Mark Wielaard  <mark@klomp.org>
40657         git-merge-changelog: add specific example on how to use with hg.
40658         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
40660 2012-03-18  Mark Wielaard  <mark@klomp.org>
40662         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
40664 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
40666         git-version-gen: don't let "prefix" envvar cause trouble
40667         * build-aux/git-version-gen (prefix): Initialize properly,
40668         so as not to use a value specified via the environment.
40669         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
40671 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40673         regex: diagnose too-large repeat counts in EREs
40674         Previously, the code did not diagnose the too-large repeat count
40675         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
40676         as if it were 'b\{1000000000}', which is unexpected.
40677         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
40678         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
40679         is a reasonable one for this problem.  Another option would be to
40680         create a new REG_OVERFLOW error for repeat counts that are too large.
40681         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
40682         count is too large, so that the caller can distinguish the two cases.
40683         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
40684         "Too large" return code, and that repeat counts are one example of this.
40686 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40688         doc: some glibc x32 integer width issues
40689         * doc/posix-headers/sys_types.texi (sys/types.h):
40690         * doc/posix-headers/time.texi (time.h):
40691         Mention that glibc x32 does not conform to POSIX in a couple of
40692         areas related to integer widths.
40694 2012-03-15  Bruno Haible  <bruno@clisp.org>
40696         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
40697         * lib/fma.c (VOLATILE): New macro.
40698         (FUNC): Use it to work around a GCC compiler bug.
40700 2012-03-13  Bruno Haible  <bruno@clisp.org>
40702         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40703         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
40704         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
40705         REPLACE_HYPOTL to 1.
40706         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
40708 2012-03-13  Bruno Haible  <bruno@clisp.org>
40710         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40711         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
40712         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
40713         REPLACE_REMAINDERL to 1.
40714         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
40715         bug.
40717 2012-03-13  Bruno Haible  <bruno@clisp.org>
40719         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40720         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
40721         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
40722         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
40723         too big rounding errors.
40724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
40725         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
40726         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
40727         (Depends-on): Update conditions.
40728         * tests/test-sqrtl.c (my_ldexpl): New function.
40729         (main): Add test of a particular value.
40730         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40732 2012-03-13  Pádraig Brady  <P@draigBrady.com>
40734         doc: Update timer_* platform portability notes.
40735         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
40736         that always return ENOSYS.
40737         * doc/posix-functions/timer_delete.texi: Likewise.
40738         * doc/posix-functions/timer_gettime.texi: Likewise.
40739         * doc/posix-functions/timer_settime.texi: Likewise.
40741 2012-03-13  Bruno Haible  <bruno@clisp.org>
40743         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40744         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
40745         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
40746         REPLACE_CBRTL to 1.
40747         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40749 2012-03-13  Bruno Haible  <bruno@clisp.org>
40751         remainderl: Avoid compilation error on AIX >= 5.2.
40752         * lib/math.in.h (remainderl): Undefine macro from the system header.
40754 2012-03-13  Bruno Haible  <bruno@clisp.org>
40756         Avoid compilation errors with MSVC option -fp:strict.
40757         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
40758         * lib/cbrtf.c: Likewise.
40759         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40761 2012-03-12  Bruno Haible  <bruno@clisp.org>
40763         uninorm: Don't crash in out-of-memory conditions.
40764         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
40765         gracefully.
40766         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
40767         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
40769 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
40771         quote: fix syntax-check
40772         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
40773         also exports quote_quoting_options.
40775 2012-03-12  Simon Josefsson  <simon@josefsson.org>
40777         Collapse list of copyright years to ranges.  See
40778         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
40779         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
40780         build-aux/csharpexec.sh.in, build-aux/gnupload,
40781         build-aux/install-reloc, build-aux/javacomp.sh.in,
40782         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
40783         build-aux/move-if-change, build-aux/reloc-ldflags,
40784         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
40786 2012-03-11  Bruno Haible  <bruno@clisp.org>
40788         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40789         * m4/log2f-ieee.m4: New file.
40790         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
40791         whether log2f works with a minus zero argument. Replace it if not.
40792         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
40793         (Depends-on): Add log2-ieee.
40794         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
40795         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
40797         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40798         * m4/log2-ieee.m4: New file.
40799         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
40800         whether log2 works with a minus zero argument. Replace it if not.
40801         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
40802         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
40803         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
40805         Tests for module 'log2l-ieee'.
40806         * modules/log2l-ieee-tests: New file.
40807         * tests/test-log2l-ieee.c: New file.
40809         New module 'log2l-ieee'.
40810         * modules/log2l-ieee: New file.
40812         Tests for module 'log2-ieee'.
40813         * modules/log2-ieee-tests: New file.
40814         * tests/test-log2-ieee.c: New file.
40816         New module 'log2-ieee'.
40817         * modules/log2-ieee: New file.
40819         Tests for module 'log2f-ieee'.
40820         * modules/log2f-ieee-tests: New file.
40821         * tests/test-log2f-ieee.c: New file.
40822         * tests/test-log2-ieee.h: New file.
40824         New module 'log2f-ieee'.
40825         * modules/log2f-ieee: New file.
40827 2012-03-11  Bruno Haible  <bruno@clisp.org>
40829         Tests for module 'log2l'.
40830         * modules/log2l-tests: New file.
40831         * tests/test-log2l.c: New file.
40833         New module 'log2l'.
40834         * lib/math.in.h (log2l): New declaration.
40835         * lib/log2l.c: New file.
40836         * m4/log2l.m4: New file.
40837         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
40838         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
40839         REPLACE_LOG2L.
40840         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
40841         REPLACE_LOG2L.
40842         * modules/log2l: New file.
40843         * tests/test-math-c++.cc: Check the declaration of log2l.
40844         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
40845         and OSF/1 problems.
40847 2012-03-11  Bruno Haible  <bruno@clisp.org>
40849         Tests for module 'log2f'.
40850         * modules/log2f-tests: New file.
40851         * tests/test-log2f.c: New file.
40853         New module 'log2f'.
40854         * lib/math.in.h (log2f): New declaration.
40855         * lib/log2f.c: New file.
40856         * m4/log2f.m4: New file.
40857         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
40858         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
40859         REPLACE_LOG2F.
40860         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
40861         REPLACE_LOG2F.
40862         * modules/log2f: New file.
40863         * tests/test-math-c++.cc: Check the declaration of log2f.
40864         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
40865         and OSF/1 and Cygwin problems.
40867 2012-03-11  Bruno Haible  <bruno@clisp.org>
40869         Tests for module 'log2'.
40870         * modules/log2-tests: New file.
40871         * tests/test-log2.c: New file.
40872         * tests/test-log2.h: New file.
40874         New module 'log2'.
40875         * lib/math.in.h (log2): New declaration.
40876         * lib/log2.c: New file.
40877         * m4/log2.m4: New file.
40878         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
40879         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
40880         REPLACE_LOG2.
40881         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
40882         REPLACE_LOG2.
40883         * modules/log2: New file.
40884         * tests/test-math-c++.cc: Check the declaration of log2.
40885         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
40886         and OSF/1 and Cygwin problems.
40888 2012-03-11  Bruno Haible  <bruno@clisp.org>
40890         exp2* tests: More tests.
40891         * tests/test-exp2.h (test_function): Test all integral arguments that
40892         don't need to overflow or denormalized numbers.
40893         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
40894         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
40895         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
40897 2012-03-10  Bruno Haible  <bruno@clisp.org>
40899         log1pl-ieee: Work around test failure on AIX 7.1.
40900         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
40902         log1pl-ieee: Work around test failure on IRIX 6.5.
40903         * m4/log1pl-ieee.m4: New file.
40904         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
40905         test whether log1pl works with a minus zero argument. Replace it if
40906         not.
40907         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
40908         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
40909         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
40910         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
40911         (Depends-on): Update conditions.
40912         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40913         m4/signbit.m4.
40914         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
40915         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
40917         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
40918         * m4/log1pf-ieee.m4: New file.
40919         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
40920         test whether log1pf works with a minus zero argument. Replace it if
40921         not.
40922         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
40923         m4/signbit.m4.
40924         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
40925         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
40927         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
40928         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
40929         (configure.ac): Require gl_FUNC_LOG1PF.
40931         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
40932         * m4/log1p-ieee.m4: New file.
40933         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
40934         whether log1p works with a minus zero argument. Replace it if not.
40935         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
40936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
40937         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
40938         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
40939         (Depends-on): Update conditions.
40940         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40941         m4/signbit.m4.
40942         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
40943         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
40945         Tests for module 'log1pl-ieee'.
40946         * modules/log1pl-ieee-tests: New file.
40947         * tests/test-log1pl-ieee.c: New file.
40949         New module 'log1pl-ieee'.
40950         * modules/log1pl-ieee: New file.
40952         Tests for module 'log1p-ieee'.
40953         * modules/log1p-ieee-tests: New file.
40954         * tests/test-log1p-ieee.c: New file.
40956         New module 'log1p-ieee'.
40957         * modules/log1p-ieee: New file.
40959         Tests for module 'log1pf-ieee'.
40960         * modules/log1pf-ieee-tests: New file.
40961         * tests/test-log1pf-ieee.c: New file.
40962         * tests/test-log1p-ieee.h: New file.
40964         New module 'log1pf-ieee'.
40965         * modules/log1pf-ieee: New file.
40967 2012-03-10  Bruno Haible  <bruno@clisp.org>
40969         Tests for module 'log1pl'.
40970         * modules/log1pl-tests: New file.
40971         * tests/test-log1pl.c: New file.
40973         New module 'log1pl'.
40974         * lib/math.in.h (log1pl): New declaration.
40975         * lib/log1pl.c: New file.
40976         * m4/log1pl.m4: New file.
40977         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
40978         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
40979         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
40980         * modules/log1pl: New file.
40981         * tests/test-math-c++.cc: Check the declaration of log1pl.
40982         * doc/posix-functions/log1pl.texi: Mention the new module.
40984 2012-03-10  Bruno Haible  <bruno@clisp.org>
40986         Tests for module 'log1pf'.
40987         * modules/log1pf-tests: New file.
40988         * tests/test-log1pf.c: New file.
40990         New module 'log1pf'.
40991         * lib/math.in.h (log1pf): New declaration.
40992         * lib/log1pf.c: New file.
40993         * m4/log1pf.m4: New file.
40994         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
40995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
40996         REPLACE_LOG1PF.
40997         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
40998         REPLACE_LOG1PF.
40999         * modules/log1pf: New file.
41000         * tests/test-math-c++.cc: Check the declaration of log1pf.
41001         * doc/posix-functions/log1pf.texi: Mention the new module.
41003 2012-03-10  Bruno Haible  <bruno@clisp.org>
41005         log1p tests: More tests.
41006         * tests/test-log1p.h: New file.
41007         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
41008         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
41009         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
41010         (main): Invoke test_function.
41012         log1p: Provide replacement for Minix and MSVC.
41013         * lib/math.in.h (log1p): New declaration.
41014         * lib/log1p.c: New file.
41015         * m4/log1p.m4: New file.
41016         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
41017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
41018         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
41019         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
41020         (Depends-on): Add math, isnand, log, round.
41021         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
41022         HAVE_LOG1P is 0.
41023         * tests/test-math-c++.cc: Check the declaration of log1p.
41024         * doc/posix-functions/log1p.texi: Mention the replacement.
41026 2012-03-10  Bruno Haible  <bruno@clisp.org>
41028         math tests: Small simplification.
41029         * tests/test-exp.h (test_function): Use the same err_bound for
41030         'double' on platforms with sizeof (long double) == sizeof (double)
41031         than on platforms with sizeof (long double) > sizeof (double).
41032         * tests/test-exp2.h (test_function): Likewise.
41033         * tests/test-expm1.h (test_function): Likewise.
41034         * tests/test-log.h (test_function): Likewise.
41036 2012-03-10  Bruno Haible  <bruno@clisp.org>
41038         Fix some comments.
41039         * lib/expl.c: Fix an ambiguous comment.
41040         * lib/expm1.c: Likewise.
41041         * lib/expm1l.c: Likewise.
41042         * lib/exp2.c: Likewise.
41043         * lib/exp2l.c: Likewise.
41045 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
41047         regex: allow inclusion of <regex.h> before <limits.h>
41048         Without this patch, portable programs had to include <limits.h> before
41049         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
41050         I ran into this problem with a test version of GNU grep on Solaris 8.
41051         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
41052         This is done conditionally so that this change can be merged
41053         back to glibc.
41054         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
41055         using the included regex.
41057         fts: depend on fdopendir
41058         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
41059         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
41060         problem was introduced when fdopendir was split out.
41062 2012-03-10  Bruno Haible  <bruno@clisp.org>
41064         Remove unused variables.
41065         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
41066         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41068 2012-03-10  Bruno Haible  <bruno@clisp.org>
41070         isnanf-nolibm: Fix last commit.
41071         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
41073         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
41074         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
41076 2012-03-10  Bruno Haible  <bruno@clisp.org>
41078         logf-ieee: Work around test failure on NetBSD 5.1.
41079         * m4/logf-ieee.m4: New file.
41080         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
41081         whether logf works with a negative argument. Replace it if not.
41082         * lib/logf.c (logf): For negative arguments, return NaN.
41083         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
41084         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
41085         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
41087         logf-ieee: Work around test failure on Solaris 9.
41088         * modules/logf-ieee (Depends-on): Add log-ieee.
41089         (configure.ac): Require gl_FUNC_LOGF.
41091         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
41092         * m4/log-ieee.m4: New file.
41093         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
41094         log works with a negative argument. Replace it if not.
41095         * lib/log.c (log): For negative arguments, return NaN.
41096         * modules/log-ieee (Files): Add m4/log-ieee.m4.
41097         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
41098         * doc/posix-functions/log.texi: Mention the log-ieee module.
41100         Tests for module 'logl-ieee'.
41101         * modules/logl-ieee-tests: New file.
41102         * tests/test-logl-ieee.c: New file.
41104         New module 'logl-ieee'.
41105         * modules/logl-ieee: New file.
41107         Tests for module 'log-ieee'.
41108         * modules/log-ieee-tests: New file.
41109         * tests/test-log-ieee.c: New file.
41111         New module 'log-ieee'.
41112         * modules/log-ieee: New file.
41114         Tests for module 'logf-ieee'.
41115         * modules/logf-ieee-tests: New file.
41116         * tests/test-logf-ieee.c: New file.
41117         * tests/test-log-ieee.h: New file.
41119         New module 'logf-ieee'.
41120         * modules/logf-ieee: New file.
41122 2012-03-10  Bruno Haible  <bruno@clisp.org>
41124         log: Fix bug introduced on 2012-03-09.
41125         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
41127 2012-03-10  Pádraig Brady  <P@draigBrady.com>
41129         timer-time: link explicitly with pthreads on glibc
41130         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
41131         to support static linking, when newer glibc is
41132         detected, as that contains pthread emulation of
41133         POSIX timer functions where required.
41134         * modules/timer-time: Depend on threadlib to
41135         pull in the appropriate library to link.
41137 2012-03-10  Bruno Haible  <bruno@clisp.org>
41139         log* tests: More tests.
41140         * tests/test-log.h: New file.
41141         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
41142         (main): Invoke test_function.
41143         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
41144         (main): Invoke test_function.
41145         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
41146         (main): Invoke test_function.
41147         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41148         tests/randomd.c.
41149         (Makefile.am): Add randomd.c to test_log_SOURCES.
41150         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41151         tests/randomf.c.
41152         (Makefile.am): Add randomf.c to test_logf_SOURCES.
41153         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
41154         tests/randoml.c.
41155         (Depends-on): Add 'float'.
41156         (Makefile.am): Add randoml.c to test_logl_SOURCES.
41158 2012-03-09  Bruno Haible  <bruno@clisp.org>
41160         logl: Work around OSF/1 5.1 bug.
41161         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
41162         * lib/logl.c (logl): If logl exists, use it and provide just the
41163         workaround.
41164         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
41165         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
41166         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
41167         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
41168         * modules/logl (configure.ac): Consider REPLACE_LOGL.
41169         (Depends-on): Update conditions.
41170         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
41172 2012-03-09  Bruno Haible  <bruno@clisp.org>
41174         logf: Work around OSF/1 5.1 bug.
41175         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
41176         * lib/logf.c (logf): If logf exists, use it and provide just the
41177         workaround.
41178         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
41179         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
41180         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
41181         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
41182         * modules/logf (configure.ac): Consider REPLACE_LOGF.
41183         (Depends-on): Update conditions.
41184         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
41186 2012-03-09  Bruno Haible  <bruno@clisp.org>
41188         log: Work around OSF/1 5.1 bug.
41189         * lib/math.in.h (log): New declaration.
41190         * lib/log.c: New file.
41191         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
41192         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
41193         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
41194         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
41195         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
41196         * modules/log (Files): Add lib/log.c.
41197         (Depends-on): Add math.
41198         (configure.ac): If REPLACE_LOG is 1, compile an override.
41199         * tests/test-math-c++.cc: Check the declaration of log.
41200         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
41202 2012-03-09  Jim Meyering  <meyering@redhat.com>
41204         readtokens.c: adjust wording in a comment
41205         * lib/readtokens.c: Insert omitted "that" in a comment.
41207 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41209         modechange: add notations +40, 00440, etc.
41210         * lib/modechange.c (mode_compile): Support new notations
41211         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
41213 2012-03-08  Bruno Haible  <bruno@clisp.org>
41215         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
41216         * m4/exp2l-ieee.m4: New file.
41217         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
41218         test whether exp2l works with a NaN argument and with a negative
41219         infinity argument. Replace it if not.
41220         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
41221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
41222         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
41223         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
41224         (Depends-on): Update conditions.
41225         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
41226         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
41227         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
41229         Tests for module 'exp2l-ieee'.
41230         * modules/exp2l-ieee-tests: New file.
41231         * tests/test-exp2l-ieee.c: New file.
41233         New module 'exp2l-ieee'.
41234         * modules/exp2l-ieee: New file.
41236         Tests for module 'exp2-ieee'.
41237         * modules/exp2-ieee-tests: New file.
41238         * tests/test-exp2-ieee.c: New file.
41240         New module 'exp2-ieee'.
41241         * modules/exp2-ieee: New file.
41243         Tests for module 'exp2f-ieee'.
41244         * modules/exp2f-ieee-tests: New file.
41245         * tests/test-exp2f-ieee.c: New file.
41246         * tests/test-exp2-ieee.h: New file.
41248         New module 'exp2f-ieee'.
41249         * modules/exp2f-ieee: New file.
41251 2012-03-08  Bruno Haible  <bruno@clisp.org>
41253         Tests for module 'exp2l'.
41254         * modules/exp2l-tests: New file.
41255         * tests/test-exp2l.c: New file.
41257         New module 'exp2l'.
41258         * lib/math.in.h (exp2l): New declaration.
41259         * lib/exp2l.c: New file.
41260         * lib/expl-table.c: New file, extracted from lib/expl.c.
41261         * lib/expl.c (gl_expl_table): New declaration.
41262         (expl): Remove expl_table. Update reference.
41263         * m4/exp2l.m4: New file.
41264         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
41265         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
41266         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
41267         * modules/exp2l: New file.
41268         * modules/expl (Files): Add lib/expl-table.c.
41269         (configure.ac): Compile also expl-table.c.
41270         * tests/test-math-c++.cc: Check the declaration of exp2l.
41271         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
41272         problem.
41274 2012-03-08  Bruno Haible  <bruno@clisp.org>
41276         Tests for module 'exp2f'.
41277         * modules/exp2f-tests: New file.
41278         * tests/test-exp2f.c: New file.
41280         New module 'exp2f'.
41281         * lib/math.in.h (exp2f): New declaration.
41282         * lib/exp2f.c: New file.
41283         * m4/exp2f.m4: New file.
41284         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
41285         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
41286         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
41287         * modules/exp2f: New file.
41288         * tests/test-math-c++.cc: Check the declaration of exp2f.
41289         * doc/posix-functions/exp2f.texi: Mention the new module and the
41290         IRIX problem.
41292 2012-03-08  Bruno Haible  <bruno@clisp.org>
41294         Tests for module 'exp2'.
41295         * modules/exp2-tests: New file.
41296         * tests/test-exp2.c: New file.
41297         * tests/test-exp2.h: New file.
41299         New module 'exp2'.
41300         * lib/math.in.h (exp2): New declaration.
41301         * lib/exp2.c: New file.
41302         * m4/exp2.m4: New file.
41303         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
41304         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
41305         REPLACE_EXP2.
41306         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
41307         REPLACE_EXP2.
41308         * modules/exp2: New file.
41309         * tests/test-math-c++.cc: Check the declaration of exp2.
41310         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
41311         and OpenBSD problems.
41313 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
41315         savedir: fix comment typo
41316         * lib/savedir.c (savedirstream): Fix typo in comment.
41318 2012-03-08  Bruno Haible  <bruno@clisp.org>
41320         test-readtokens.c: use const; remove unwarranted cast
41321         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
41323 2012-03-08  Bruno Haible  <bruno@clisp.org>
41325         fmal: Avoid compilation error on AIX.
41326         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
41327         AIX 5.2..7.1.
41329 2012-03-08  Bruno Haible  <bruno@clisp.org>
41331         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
41332         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
41333         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
41334         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
41335         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
41336         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
41337         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
41339 2012-03-08  Bruno Haible  <bruno@clisp.org>
41341         remainderf: Override buggy system function on IRIX 6.5.
41342         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
41343         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
41344         when it exists.
41345         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
41347 2012-03-08  Jim Meyering  <meyering@redhat.com>
41349         test-readtokens.c: avoid const-related compilation warnings
41350         * tests/test-readtokens.c: Avoid const-related compilation warnings.
41352 2012-03-07  Jim Meyering  <meyering@redhat.com>
41353             Bruno Haible  <bruno@clisp.org>
41355         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
41356         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
41357         tests/randomd.c.
41358         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
41359         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
41360         tests/randoml.c.
41361         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
41363 2012-03-07  Bruno Haible  <bruno@clisp.org>
41365         expm1l: Avoid compilation error on AIX.
41366         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
41367         AIX 5.2..7.1.
41369 2012-03-07  Bruno Haible  <bruno@clisp.org>
41371         expm1l: Don't override undeclared system function on IRIX 6.5.
41372         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
41373         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
41374         it exists. Set HAVE_DECL_EXPM1L.
41375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
41376         HAVE_EXPM1L.
41377         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
41378         HAVE_EXPM1L.
41379         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
41381 2012-03-07  Bruno Haible  <bruno@clisp.org>
41383         remainderl: Don't override undeclared system function on IRIX 6.5.
41384         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
41385         HAVE_REMAINDERL.
41386         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
41387         declared when it exists. Set HAVE_DECL_REMAINDERL.
41388         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
41389         not HAVE_REMAINDERL.
41390         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
41391         HAVE_REMAINDERL.
41392         * doc/posix-functions/remainderl.texi: Mention missing declaration
41393         problem.
41395 2012-03-07  Bruno Haible  <bruno@clisp.org>
41397         rintf: Don't override undeclared system function on IRIX 6.5.
41398         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
41399         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
41400         exists. Set HAVE_DECL_RINTF.
41401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
41402         HAVE_RINTF.
41403         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
41404         HAVE_RINTF.
41405         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
41407 2012-03-07  Bruno Haible  <bruno@clisp.org>
41409         roundl: Avoid compilation error on AIX.
41410         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
41411         AIX 5.2..7.1.
41413 2012-03-07  Bruno Haible  <bruno@clisp.org>
41415         roundl: Don't override undeclared system function on IRIX 6.5.
41416         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
41417         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
41418         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41419         * modules/roundl (configure.ac): For replacement code, test
41420         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
41421         (Depends-on): Update conditions.
41422         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
41424 2012-03-07  Bruno Haible  <bruno@clisp.org>
41426         roundf: Don't override undeclared system function on IRIX 6.5.
41427         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
41428         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
41429         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41430         * modules/roundf (configure.ac): For replacement code, test
41431         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
41432         (Depends-on): Update conditions.
41433         * modules/roundf-ieee (Depends-on): Update conditions.
41434         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
41436 2012-03-07  Bruno Haible  <bruno@clisp.org>
41438         round: Don't override undeclared system function on IRIX 6.5.
41439         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
41440         argument.
41441         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
41442         also when it is not declared. Set HAVE_ROUND. For replacement code,
41443         test HAVE_ROUND, not HAVE_DECL_ROUND.
41444         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
41445         not HAVE_DECL_ROUND.
41446         (Depends-on): Update conditions.
41447         * modules/round-ieee (Depends-on): Update conditions.
41448         * doc/posix-functions/round.texi: Mention the IRIX problem.
41450 2012-03-07  Bruno Haible  <bruno@clisp.org>
41452         copysignf: Don't override undeclared system function on IRIX 6.5.
41453         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
41454         HAVE_COPYSIGNF.
41455         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
41456         declared when it exists. Set HAVE_DECL_COPYSIGNF.
41457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
41458         not HAVE_COPYSIGNF.
41459         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
41460         HAVE_COPYSIGNF.
41461         * doc/posix-functions/copysignf.texi: Mention missing declaration
41462         problem.
41464 2012-03-07  Jim Meyering  <meyering@redhat.com>
41466         readtokens: add tests
41467         * modules/readtokens-tests: New file.
41468         * tests/test-readtokens.c: New file.
41470 2012-03-07  Jim Meyering  <meyering@redhat.com>
41472         quotearg: the module must now include quote.h
41473         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
41474         So must the module.
41475         * modules/quotearg (Files): Add quote.h.
41477 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
41479         readtokens: avoid core dumps with unusual calling patterns
41480         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
41481         * lib/readtokens.c: Include limits.h.
41482         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
41483         (readtoken): Don't cache the delimiters; the cache code was buggy
41484         if !delim && saved_delim, or if the new n_delim differs from the old.
41485         Also, it wasn't thread-safe.
41487 2012-03-07  Bruno Haible  <bruno@clisp.org>
41489         quote: Adhere to common module description layout.
41490         * modules/quote (Makefile.am): Add back empty section.
41492 2012-03-06  Akim Demaille  <demaille@gostai.com>
41494         quote: fuse into quotearg
41495         This patch is made for the benefit of Bison.
41496         quote does not leave the choice of the quoting style to the user.
41497         quoting_style provides poor customizability, yet quoting_options,
41498         which is very rich, is hidden inside quotearg.c.  So in order to
41499         allow quote customization, move its implementation to quotearg.c.
41500         * lib/quote.c: Remove.
41501         * modules/quote: Adjust.
41502         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
41503         warning: provide all the members of literal structs.
41504         (quote_quoting_options): New.
41505         (quote, quote_n): Import implementation from quote.c.
41506         * lib/quote.h: Import the comments from quote.c.
41507         (quote_quoting_options): New.
41509 2012-03-06  Bruno Haible  <bruno@clisp.org>
41511         Tests for module 'expm1l-ieee'.
41512         * modules/expm1l-ieee-tests: New file.
41513         * tests/test-expm1l-ieee.c: New file.
41515         New module 'expm1l-ieee'.
41516         * modules/expm1l-ieee: New file.
41518         Tests for module 'expm1f-ieee'.
41519         * modules/expm1f-ieee-tests: New file.
41520         * tests/test-expm1f-ieee.c: New file.
41522         New module 'expm1f-ieee'.
41523         * modules/expm1f-ieee: New file.
41525         Tests for module 'expm1-ieee'.
41526         * modules/expm1-ieee-tests: New file.
41527         * tests/test-expm1-ieee.c: New file.
41528         * tests/test-expm1-ieee.h: New file.
41530         New module 'expm1-ieee'.
41531         * modules/expm1-ieee: New file.
41532         * m4/expm1-ieee.m4: New file.
41533         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
41534         whether expm1 works with a minus zero argument. Replace it if not.
41535         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
41536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
41537         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
41538         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
41539         (Depends-on): Update conditions.
41540         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
41541         AIX problem.
41543 2012-03-06  Bruno Haible  <bruno@clisp.org>
41545         Work around expm1f bug on IRIX 6.5.
41546         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
41547         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
41548         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
41549         not work.
41550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
41551         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
41552         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
41553         (Depends-on): Update conditions.
41554         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
41556 2012-03-06  Bruno Haible  <bruno@clisp.org>
41558         Tests for module 'expm1l'.
41559         * modules/expm1l-tests: New file.
41560         * tests/test-expm1l.c: New file.
41562         New module 'expm1l'.
41563         * lib/math.in.h (expm1l): New declaration.
41564         * lib/expm1l.c: New file.
41565         * m4/expm1l.m4: New file.
41566         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
41567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
41568         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
41569         * modules/expm1l: New file.
41570         * tests/test-math-c++.cc: Check the declaration of expm1l.
41571         * doc/posix-functions/expm1l.texi: Mention the new module.
41573 2012-03-06  Bruno Haible  <bruno@clisp.org>
41575         Tests for module 'expm1f'.
41576         * modules/expm1f-tests: New file.
41577         * tests/test-expm1f.c: New file.
41579         New module 'expm1f'.
41580         * lib/math.in.h (expm1f): New declaration.
41581         * lib/expm1f.c: New file.
41582         * m4/expm1f.m4: New file.
41583         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
41584         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
41585         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
41586         * modules/expm1f: New file.
41587         * tests/test-math-c++.cc: Check the declaration of expm1f.
41588         * doc/posix-functions/expm1f.texi: Mention the new module.
41590 2012-03-06  Bruno Haible  <bruno@clisp.org>
41592         Tests for module 'expm1'.
41593         * modules/expm1-tests: New file.
41594         * tests/test-expm1.c: New file.
41595         * tests/test-expm1.h: New file.
41597         New module 'expm1'.
41598         * lib/math.in.h (expm1): New declaration.
41599         * lib/expm1.c: New file.
41600         * m4/expm1.m4: New file.
41601         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
41602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
41603         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
41604         * modules/expm1: New file.
41605         * tests/test-math-c++.cc: Check the declaration of expm1.
41606         * doc/posix-functions/expm1.texi: Mention the new module.
41608 2012-03-06  Bruno Haible  <bruno@clisp.org>
41610         math: Ensure declarations of math functions.
41611         * modules/acosf (Depends-on): Add 'extensions'.
41612         * modules/asinf (Depends-on): Likewise.
41613         * modules/atan2f (Depends-on): Likewise.
41614         * modules/atanf (Depends-on): Likewise.
41615         * modules/cbrt (Depends-on): Likewise.
41616         * modules/cbrtf (Depends-on): Likewise.
41617         * modules/cbrtl (Depends-on): Likewise.
41618         * modules/copysignf (Depends-on): Likewise.
41619         * modules/copysignl (Depends-on): Likewise.
41620         * modules/cosf (Depends-on): Likewise.
41621         * modules/coshf (Depends-on): Likewise.
41622         * modules/expf (Depends-on): Likewise.
41623         * modules/fabsf (Depends-on): Likewise.
41624         * modules/fabsl (Depends-on): Likewise.
41625         * modules/fmaf (Depends-on): Likewise.
41626         * modules/fmal (Depends-on): Likewise.
41627         * modules/fmodf (Depends-on): Likewise.
41628         * modules/fmodl (Depends-on): Likewise.
41629         * modules/frexpf (Depends-on): Likewise.
41630         * modules/frexpl (Depends-on): Likewise.
41631         * modules/hypot (Depends-on): Likewise.
41632         * modules/hypotf (Depends-on): Likewise.
41633         * modules/hypotl (Depends-on): Likewise.
41634         * modules/ldexpf (Depends-on): Likewise.
41635         * modules/ldexpl (Depends-on): Likewise.
41636         * modules/log10f (Depends-on): Likewise.
41637         * modules/log10l (Depends-on): Likewise.
41638         * modules/log1p (Depends-on): Likewise.
41639         * modules/logb (Depends-on): Likewise.
41640         * modules/logf (Depends-on): Likewise.
41641         * modules/modff (Depends-on): Likewise.
41642         * modules/modfl (Depends-on): Likewise.
41643         * modules/powf (Depends-on): Likewise.
41644         * modules/remainderf (Depends-on): Likewise.
41645         * modules/remainderl (Depends-on): Likewise.
41646         * modules/rintf (Depends-on): Likewise.
41647         * modules/rintl (Depends-on): Likewise.
41648         * modules/sinf (Depends-on): Likewise.
41649         * modules/sinhf (Depends-on): Likewise.
41650         * modules/sqrtf (Depends-on): Likewise.
41651         * modules/tanf (Depends-on): Likewise.
41652         * modules/tanhf (Depends-on): Likewise.
41653         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
41654         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
41655         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
41656         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
41657         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
41658         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
41659         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
41660         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
41661         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
41662         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
41663         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
41664         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
41665         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
41666         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
41667         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
41668         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
41669         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
41670         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41671         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
41672         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
41673         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
41674         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
41675         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
41676         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
41677         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
41678         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
41679         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
41680         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
41681         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
41682         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
41683         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41684         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
41685         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41686         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41687         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
41688         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
41689         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
41690         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
41691         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
41692         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
41693         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
41695 2012-03-06  Bruno Haible  <bruno@clisp.org>
41697         math: Update module names in warnings.
41698         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
41699         tanl): Use specific module name in warn-on-use warning.
41701 2012-03-06  Bruno Haible  <bruno@clisp.org>
41703         expl: Simplify computation.
41704         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
41706 2012-03-05  Bruno Haible  <bruno@clisp.org>
41708         exp* tests: More tests.
41709         * tests/test-exp.h: New file.
41710         * tests/test-exp.c: Include <float.h> and test-exp.h.
41711         (main): Invoke test_function.
41712         * tests/test-expf.c: Include <float.h> and test-exp.h.
41713         (main): Invoke test_function.
41714         * tests/test-expl.c: Include <float.h> and test-exp.h.
41715         (main): Invoke test_function.
41716         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
41717         (Makefile.am): Add randomd.c to test_exp_SOURCES.
41718         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
41719         (Makefile.am): Add randomf.c to test_expf_SOURCES.
41720         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
41721         (Depends-on): Add 'float'.
41722         (Makefile.am): Add randoml.c to test_expl_SOURCES.
41724         expl: Fix precision of computed result.
41725         * lib/expl.c: Completely rewritten.
41726         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
41727         (Maintainer): Add me.
41728         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
41730 2012-03-05  Bruno Haible  <bruno@clisp.org>
41732         cbrt* tests: More tests.
41733         * tests/test-cbrt.h: New file.
41734         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
41735         (main): Invoke test_function.
41736         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
41737         (main): Invoke test_function.
41738         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
41739         (main): Invoke test_function.
41740         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
41741         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
41742         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
41743         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
41744         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
41745         (Depends-on): Add 'float'.
41746         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
41748 2012-03-05  Bruno Haible  <bruno@clisp.org>
41750         hypot* tests: More tests.
41751         * tests/test-hypot.h: New file, partially extracted from
41752         tests/test-hypotl.c.
41753         * tests/test-hypot.c: Include test-hypot.h.
41754         (main): Invoke test_function.
41755         * tests/test-hypotf.c: Include test-hypot.h.
41756         (main): Invoke test_function.
41757         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
41758         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
41759         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
41760         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
41761         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
41762         tests/randomf.c.
41763         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
41764         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
41765         tests/randoml.c.
41766         (Depends-on): Add 'fpucw', 'float'.
41767         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
41769 2012-03-05  Bruno Haible  <bruno@clisp.org>
41771         fpucw: Doc about FreeBSD.
41772         * lib/fpucw.h: Mention FreeBSD in comments.
41774 2012-03-04  Bruno Haible  <bruno@clisp.org>
41776         sqrt* tests: More tests.
41777         * tests/test-sqrt.h: New file.
41778         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
41779         (main): Invoke test_function.
41780         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
41781         (main): Invoke test_function.
41782         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
41783         (main): Invoke test_function.
41784         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
41785         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
41786         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
41787         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
41788         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
41789         (Depends-on): Add 'float'.
41790         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
41792 2012-03-04  Bruno Haible  <bruno@clisp.org>
41794         remainder* tests: More tests.
41795         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
41796         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
41797         (main): Invoke test_function.
41798         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
41799         (main): Invoke test_function.
41800         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
41801         (main): Invoke test_function.
41802         * modules/remainder-tests (Files): Add tests/test-remainder.h,
41803         tests/randomd.c.
41804         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
41805         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
41806         tests/randomf.c.
41807         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
41808         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
41809         tests/randoml.c.
41810         (Depends-on): Add 'float'.
41811         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
41813 2012-03-04  Bruno Haible  <bruno@clisp.org>
41815         remainder, remainderf, remainderl: Fix computation for large quotients.
41816         * lib/remainder.c: Completely rewritten.
41817         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
41818         USE_FLOAT.
41819         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
41820         USE_LONG_DOUBLE.
41821         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
41822         isnand, isinf. Remove round, fma.
41823         * modules/remainderf (Files): Add lib/remainder.c.
41824         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
41825         Remove roundf, fmaf.
41826         * modules/remainderl (Files): Add lib/remainder.c.
41827         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
41828         isinf. Remove roundl, fmal.
41829         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
41830         REMAINDER_LIBM.
41831         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
41832         REMAINDERF_LIBM.
41833         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
41834         REMAINDERL_LIBM.
41836 2012-03-04  Bruno Haible  <bruno@clisp.org>
41838         fmod* tests: More tests.
41839         * tests/test-fmod.h (my_ldexp): New function.
41840         (test_function): Reduce amount of random numbers to test. Add tests
41841         of very large quotients x / y.
41842         * tests/test-fmod.c (MAX_EXP): New macro.
41843         * tests/test-fmodf.c (MAX_EXP): Likewise.
41844         * tests/test-fmodl.c (MAX_EXP): Likewise.
41846 2012-03-04  Bruno Haible  <bruno@clisp.org>
41848         fmod, fmodl: Fix computation for large quotients x / y.
41849         * lib/fmod.c: Completely rewritten.
41850         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
41851         USE_LONG_DOUBLE.
41852         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
41853         isnand. Remove fma.
41854         * modules/fmodl (Files): Add lib/fmod.c.
41855         (Depends-on): Add float, isfinite, signbit, fabsl,
41856         frexpl, ldexpl, isnanl. Remove fma.
41857         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
41858         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
41860 2012-03-03  Bruno Haible  <bruno@clisp.org>
41862         fmod* tests: More tests.
41863         * tests/test-fmod.h: New file.
41864         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
41865         (main): Invoke test_function.
41866         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
41867         (main): Invoke test_function.
41868         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
41869         (main): Invoke test_function.
41870         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
41871         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
41872         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
41873         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
41874         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
41875         (Depends-on): Add 'float'.
41876         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
41878 2012-03-03  Bruno Haible  <bruno@clisp.org>
41880         rint* tests: More tests.
41881         * tests/test-rint.h: New file, partially extracted from
41882         tests/test-rintl.c.
41883         * tests/test-rint.c: Include test-rint.h.
41884         (main): Invoke test_function.
41885         * tests/test-rintf.c: Include test-rint.h.
41886         (main): Invoke test_function.
41887         * tests/test-rintl.c: Include test-rint.h.
41888         (main): Invoke test_function.
41889         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
41890         (Makefile.am): Add randomd.c to test_rint_SOURCES.
41891         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
41892         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
41893         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
41894         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
41896 2012-03-03  Bruno Haible  <bruno@clisp.org>
41898         modf* tests: More tests.
41899         * tests/test-modf.h: New file.
41900         * tests/test-modf.c: Include <float.h> and test-modf.h.
41901         (main): Invoke test_function.
41902         * tests/test-modff.c: Include <float.h> and test-modf.h.
41903         (main): Invoke test_function.
41904         * tests/test-modfl.c: Include <float.h> and test-modf.h.
41905         (main): Invoke test_function.
41906         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
41907         (Makefile.am): Add randomd.c to test_modf_SOURCES.
41908         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
41909         (Makefile.am): Add randomf.c to test_modff_SOURCES.
41910         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
41911         (Depends-on): Add 'float'.
41912         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
41914 2012-03-03  Bruno Haible  <bruno@clisp.org>
41916         fabs* tests: More tests.
41917         * tests/test-fabs.h: New file, partially extracted from
41918         tests/test-fabsl.c.
41919         * tests/test-fabs.c (RANDOM): New macro.
41920         * tests/test-fabsf.c (RANDOM): New macro.
41921         * tests/test-fabsl.c (RANDOM): New macro.
41922         * modules/fabs-tests (Files): Add tests/randomd.c.
41923         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
41924         * modules/fabsf-tests (Files): Add tests/randomf.c.
41925         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
41926         * modules/fabsl-tests (Files): Add tests/randoml.c.
41927         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
41929 2012-03-03  Bruno Haible  <bruno@clisp.org>
41931         ldexp* tests: More tests.
41932         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
41933         * tests/test-ldexp.c (RANDOM): New macro.
41934         * tests/test-ldexpf.c (RANDOM): New macro.
41935         * tests/test-ldexpl.c (RANDOM): New macro.
41936         * modules/ldexp-tests (Files): Add tests/randomd.c.
41937         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
41938         * modules/ldexpf-tests (Files): Add tests/randomf.c.
41939         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
41940         * modules/ldexpl-tests (Files): Add tests/randoml.c.
41941         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
41943 2012-03-03  Bruno Haible  <bruno@clisp.org>
41945         frexp* tests: More tests.
41946         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
41947         * tests/test-frexp.c (RANDOM): New macro.
41948         * tests/test-frexpf.c (RANDOM): New macro.
41949         * tests/test-frexpl.c (RANDOM): New macro.
41950         * modules/frexp-tests (Files): Add tests/randomd.c.
41951         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
41952         * modules/frexpf-tests (Files): Add tests/randomf.c.
41953         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
41954         * modules/frexpl-tests (Files): Add tests/randoml.c.
41955         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
41957 2012-03-03  Bruno Haible  <bruno@clisp.org>
41959         Support for pseudo-random numbers in tests.
41960         * tests/randomf.c: New file.
41961         * tests/randomd.c: New file.
41962         * tests/randoml.c: New file.
41963         * tests/macros.h (randomf, randomd, randoml): New declarations.
41965 2012-03-03  Bruno Haible  <bruno@clisp.org>
41967         frexp* tests: Refactor.
41968         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
41969         * tests/test-frexp.c: Include and use it.
41970         * tests/test-frexpf.c: Likewise.
41971         * tests/test-frexpl.c: Likewise.
41972         * modules/frexp-tests (Files): Add tests/test-frexp.h.
41973         * modules/frexpf-tests (Files): Likewise.
41974         * modules/frexpl-tests (Files): Likewise.
41976 2012-03-02  Jim Meyering  <meyering@redhat.com>
41978         maint: don't specify XZ_OPT=-9ev in dist-related rule
41979         Using xz's -9 option is warranted only if you have a very large
41980         tarball (see xz's documentation for the sizes vs. presets), and
41981         requires 64MiB of memory at decompression time.
41982         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
41983         Automake's default of just "-e" is fine.  Override on a
41984         per-package basis by setting XZ_OPT e.g., in cfg.mk.
41986 2012-03-01  Eric Blake  <eblake@redhat.com>
41988         maint.mk: allow announcement for non-gnulib project
41989         * maint.mk (announcement): Skip gnulib version if not used.
41991 2012-03-01  Jim Meyering  <meyering@redhat.com>
41993         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
41994         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
41995         envvar settings cannot interfere.  Otherwise, setting envvars like
41996         prohibit=foo require=bar, etc. would cause spurious test failures.
41998 2012-03-01  Eric Blake  <eblake@redhat.com>
42000         maint.mk: add per-line exclusions to prohibitions
42001         * maint.mk (_sc_search_regexp): Add $exclude parameter.
42002         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
42003         (sc_const_long_option): Use it.
42005 2012-03-01  Bruno Haible  <bruno@clisp.org>
42007         Tests for module 'expl-ieee'.
42008         * modules/expl-ieee-tests: New file.
42009         * tests/test-expl-ieee.c: New file.
42011         New module 'expl-ieee'.
42012         * modules/expl-ieee: New file.
42014         Tests for module 'exp-ieee'.
42015         * modules/exp-ieee-tests: New file.
42016         * tests/test-exp-ieee.c: New file.
42018         New module 'exp-ieee'.
42019         * modules/exp-ieee: New file.
42021         Tests for module 'expf-ieee'.
42022         * modules/expf-ieee-tests: New file.
42023         * tests/test-expf-ieee.c: New file.
42024         * tests/test-exp-ieee.h: New file.
42026         New module 'expf-ieee'.
42027         * modules/expf-ieee: New file.
42029 2012-02-29  Bruno Haible  <bruno@clisp.org>
42031         cbrtl-ieee: Work around test failure on IRIX 6.5.
42032         * m4/cbrtl-ieee.m4: New file.
42033         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
42034         test whether cbrtl works with a minus zero argument. Replace it if not.
42035         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
42036         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
42037         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
42038         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42039         (Depends-on): Update conditions.
42040         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
42041         m4/signbit.m4.
42042         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
42043         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
42044         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
42046         Tests for module 'cbrtl-ieee'.
42047         * modules/cbrtl-ieee-tests: New file.
42048         * tests/test-cbrtl-ieee.c: New file.
42050         New module 'cbrtl-ieee'.
42051         * modules/cbrtl-ieee: New file.
42053         Tests for module 'cbrt-ieee'.
42054         * modules/cbrt-ieee-tests: New file.
42055         * tests/test-cbrt-ieee.c: New file.
42057         New module 'cbrt-ieee'.
42058         * modules/cbrt-ieee: New file.
42060         Tests for module 'cbrtf-ieee'.
42061         * modules/cbrtf-ieee-tests: New file.
42062         * tests/test-cbrtf-ieee.c: New file.
42063         * tests/test-cbrt-ieee.h: New file.
42065         New module 'cbrtf-ieee'.
42066         * modules/cbrtf-ieee: New file.
42068 2012-02-29  Bruno Haible  <bruno@clisp.org>
42070         cbrtf: Work around bug in IRIX 6.5 system function.
42071         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
42072         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
42073         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
42074         work.
42075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
42076         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
42077         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
42078         (Depends-on): Update conditions.
42079         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
42081 2012-02-29  Bruno Haible  <bruno@clisp.org>
42083         Tests for module 'cbrtl'.
42084         * modules/cbrtl-tests: New file.
42085         * tests/test-cbrtl.c: New file.
42087         New module 'cbrtl'.
42088         * lib/math.in.h (cbrtl): New declaration.
42089         * lib/cbrtl.c: New file.
42090         * m4/cbrtl.m4: New file.
42091         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
42092         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
42093         HAVE_DECL_CBRTL.
42094         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
42095         HAVE_DECL_CBRTL.
42096         * modules/cbrtl: New file.
42097         * tests/test-math-c++.cc: Check the declaration of cbrtl.
42098         * doc/posix-functions/cbrtl.texi: Mention the new module.
42100 2012-02-29  Bruno Haible  <bruno@clisp.org>
42102         Tests for module 'cbrtf'.
42103         * modules/cbrtf-tests: New file.
42104         * tests/test-cbrtf.c: New file.
42106         New module 'cbrtf'.
42107         * lib/math.in.h (cbrtf): New declaration.
42108         * lib/cbrtf.c: New file.
42109         * m4/cbrtf.m4: New file.
42110         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
42111         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
42112         HAVE_DECL_CBRTF.
42113         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
42114         HAVE_DECL_CBRTF.
42115         * modules/cbrtf: New file.
42116         * tests/test-math-c++.cc: Check the declaration of cbrtf.
42117         * doc/posix-functions/cbrtf.texi: Mention the new module.
42119 2012-02-29  Bruno Haible  <bruno@clisp.org>
42121         cbrt: Provide replacement on MSVC and Minix.
42122         * lib/math.in.h (cbrt): New declaration.
42123         * lib/cbrt.c: New file.
42124         * m4/cbrt.m4: New file.
42125         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
42126         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
42127         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
42128         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
42129         (Depends-on): Add dependencies.
42130         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
42131         * tests/test-math-c++.cc: Check the declaration of cbrt.
42132         * doc/posix-functions/cbrt.texi: Mention that the module provides a
42133         replacement.
42135 2012-02-29  Bruno Haible  <bruno@clisp.org>
42137         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
42138         * m4/hypotl-ieee.m4: New file.
42139         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
42140         test whether hypotl works with mixed NaN and Infinity arguments.
42141         Replace it if not.
42142         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
42143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
42144         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
42145         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
42146         (Depends-on): Update conditions.
42147         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
42148         (Depends-on): Add hypot-ieee.
42149         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
42150         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
42152         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
42153         * m4/hypotf-ieee.m4: New file.
42154         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
42155         test whether hypotf works with mixed NaN and Infinity arguments.
42156         Replace it if not.
42157         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
42158         (Depends-on): Add hypot-ieee.
42159         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
42160         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
42162         hypot-ieee: Work around test failure on OSF/1 and native Windows.
42163         * lib/math.in.h (hypot): New declaration.
42164         * lib/hypot.c: New file.
42165         * m4/hypot-ieee.m4: New file.
42166         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
42167         whether hypot works with mixed NaN and Infinity arguments. Replace it
42168         if not.
42169         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
42170         REPLACE_HYPOT.
42171         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
42172         * modules/hypot (Files): Add lib/hypot.c.
42173         (Depends-on): Add dependencies.
42174         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
42175         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
42176         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
42177         * tests/test-math-c++.cc: Check the declaration of hypot.
42178         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
42180         Tests for module 'hypotl-ieee'.
42181         * modules/hypotl-ieee-tests: New file.
42182         * tests/test-hypotl-ieee.c: New file.
42184         New module 'hypotl-ieee'.
42185         * modules/hypotl-ieee: New file.
42187         Tests for module 'hypot-ieee'.
42188         * modules/hypot-ieee-tests: New file.
42189         * tests/test-hypot-ieee.c: New file.
42191         New module 'hypot-ieee'.
42192         * modules/hypot-ieee: New file.
42194         Tests for module 'hypotf-ieee'.
42195         * modules/hypotf-ieee-tests: New file.
42196         * tests/test-hypotf-ieee.c: New file.
42197         * tests/test-hypot-ieee.h: New file.
42199         New module 'hypotf-ieee'.
42200         * modules/hypotf-ieee: New file.
42202 2012-02-29  Bruno Haible  <bruno@clisp.org>
42204         Remove unused variables.
42205         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
42206         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
42207         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
42208         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
42210 2012-02-29  Eric Blake  <eblake@redhat.com>
42212         termios: fix pid_t always, not just for tcgetsid
42213         * doc/posix-headers/termios.texi (termios.h): Mention problem.
42214         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
42215         just when building tcgetsid.
42217 2012-02-29  Bruno Haible  <bruno@clisp.org>
42219         Tests for module 'hypotl'.
42220         * modules/hypotl-tests: New file.
42221         * tests/test-hypotl.c: New file.
42223         New module 'hypotl'.
42224         * lib/math.in.h (hypotl): New declaration.
42225         * lib/hypotl.c: New file.
42226         * m4/hypotl.m4: New file.
42227         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42228         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
42229         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
42230         * modules/hypotl: New file.
42231         * tests/test-math-c++.cc: Check the hypotl declaration.
42232         * doc/posix-functions/hypotl.texi: Mention the new module.
42234 2012-02-29  Eric Blake  <eblake@redhat.com>
42236         tcgetsid: fix cygwin header bug
42237         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
42239         docs: update cygwin progress
42240         * doc/posix-functions/llround.texi (llround): Added in cygwin
42241         1.7.8.
42242         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
42243         * doc/glibc-functions/program_invocation_name.texi
42244         (program_invocation_name): Likewise.
42245         * doc/glibc-functions/program_invocation_short_name.texi
42246         (program_invocation_short_name): Likewise.
42247         * doc/glibc-functions/madvise.texi (madvise): Likewise.
42248         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
42249         Likewise.
42250         * doc/posix-functions/pthread_spin_destroy.texi
42251         (pthread_spin_destroy): Added in cygwin 1.7.10.
42252         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
42253         Likewise.
42254         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
42255         Likewise.
42256         * doc/posix-functions/pthread_spin_trylock.texi
42257         (pthread_spin_trylock): Likewise.
42258         * doc/posix-functions/pthread_spin_unlock.texi
42259         (pthread_spin_unlock): Likewise.
42260         * doc/posix-functions/pthread_setschedprio.texi
42261         (pthread_setschedprio): Likewise.
42262         * doc/posix-functions/pthread_attr_getstack.texi
42263         (pthread_attr_getstack): Likewise.
42264         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
42265         (pthread_attr_getstackaddr): Likewise.
42266         * doc/glibc-functions/pthread_getattr_np.texi
42267         (pthread_getattr_np): Likewise.
42268         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
42269         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
42270         * doc/posix-functions/clock_settime.texi (clock_settime):
42271         Likewise.
42272         * doc/posix-functions/pthread_attr_getguardsize.texi
42273         (pthread_attr_getguardsize): Likewise.
42274         * doc/posix-functions/pthread_attr_setguardsize.texi
42275         (pthread_attr_setguardsize): Likewise.
42276         * doc/posix-functions/pthread_attr_setstack.texi
42277         (pthread_attr_setstack): Likewise.
42278         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
42279         (pthread_attr_setstackaddr): Likewise.
42280         * doc/posix-functions/clock_getcpuclockid.texi
42281         (clock_getcpuclockid): Likewise.
42282         * doc/posix-functions/pthread_getcpuclockid.texi
42283         (pthread_getcpuclockid): Likewise.
42284         * doc/glibc-functions/error.texi (error): Likewise.
42285         * doc/glibc-functions/error_at_line.texi (error_at_line):
42286         Likewise.
42287         * doc/glibc-functions/error_message_count.texi
42288         (error_message_count): Likewise.
42289         * doc/glibc-functions/error_one_per_line.texi
42290         (error_one_per_line): Likewise.
42291         * doc/glibc-functions/error_print_progname.texi
42292         (error_print_progname): Likewise.
42293         * doc/posix-functions/pthread_condattr_getclock.texi
42294         (pthread_condattr_getclock): Likewise.
42295         * doc/posix-functions/pthread_condattr_setclock.texi
42296         (pthread_condattr_setclock): Likewise.
42297         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
42298         Likewise.
42299         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
42300         * doc/glibc-functions/getpt.texi (getpt): Likewise.
42301         * doc/glibc-functions/get_current_dir_name.texi
42302         (get_current_dir_name): Likewise.
42303         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
42304         Likewise.
42305         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
42306         wrong return type.
42307         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
42308         1.7.11.
42310 2012-02-29  Bruno Haible  <bruno@clisp.org>
42312         Tests for module 'hypotf'.
42313         * modules/hypotf-tests: New file.
42314         * tests/test-hypotf.c: New file.
42316         New module 'hypotf'.
42317         * lib/math.in.h (hypotf): New declaration.
42318         * lib/hypotf.c: New file.
42319         * m4/hypotf.m4: New file.
42320         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
42321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
42322         REPLACE_HYPOTF.
42323         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
42324         REPLACE_HYPOTF.
42325         * modules/hypotf: New file.
42326         * tests/test-math-c++.cc: Check the hypotf declaration.
42327         * doc/posix-functions/hypotf.texi: Mention the new module.
42329         hypot: Prepare for hypotf module.
42330         * m4/hypot.m4: New file.
42331         * modules/hypot (Files): Add m4/hypot.m4.
42332         (configure.ac): Invoke gl_FUNC_HYPOT.
42334 2012-02-29  Bruno Haible  <bruno@clisp.org>
42336         hypot tests: More tests.
42337         * tests/test-hypot.c: Include <float.h>.
42338         (main): Add tests about overflow and underflow.
42340 2012-02-29  Bruno Haible  <bruno@clisp.org>
42342         math code: Add comments.
42343         * lib/acosl.c: Add comment about related glibc source files.
42344         * lib/asinl.c: Likewise.
42345         * lib/atanl.c: Likewise.
42346         * lib/expl.c: Likewise.
42347         * lib/logl.c: Likewise.
42348         * lib/sincosl.c: Likewise.
42349         * lib/sinl.c: Likewise.
42350         * lib/tanl.c: Likewise.
42351         * lib/trigl.c: Likewise.
42352         * lib/cosl.c: Likewise. Fix comments.
42354 2012-02-28  Bruno Haible  <bruno@clisp.org>
42356         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
42357         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
42358         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
42359         HUGE_VALL are defined.
42360         (numeric_equald): Renamed from numeric_equal.
42361         (numeric_equalf, numeric_equall): New functions.
42362         (main): Check also HUGE_VALF, HUGE_VALL.
42363         * modules/math-tests (Files): Add tests/macros.h.
42364         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
42365         HUGE_VALL.
42367 2012-02-28  Bruno Haible  <bruno@clisp.org>
42369         doc: Move ISO C11 feature notes into POSIX chapters.
42370         * doc/posix-functions/aligned_alloc.texi: Renamed from
42371         doc/glibc-functions/aligned_alloc.texi.
42372         * doc/posix-functions/quick_exit.texi: Renamed from
42373         doc/glibc-functions/quick_exit.texi.
42374         * doc/posix-headers/uchar.texi: Renamed from
42375         doc/glibc-headers/uchar.texi.
42376         * doc/posix-functions/c16rtomb.texi: Renamed from
42377         doc/glibc-functions/c16rtomb.texi.
42378         * doc/posix-functions/c32rtomb.texi: Renamed from
42379         doc/glibc-functions/c32rtomb.texi.
42380         * doc/posix-functions/mbrtoc16.texi: Renamed from
42381         doc/glibc-functions/mbrtoc16.texi.
42382         * doc/posix-functions/mbrtoc32.texi: Renamed from
42383         doc/glibc-functions/mbrtoc32.texi.
42384         * doc/gnulib.texi: Update.
42385         (Glibc uchar.h): Remove section.
42386         Suggested by Eric Blake.
42388 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
42390         stdnoreturn: port to MSVC better
42391         MSVC standard headers use __declspec(noreturn), so #define noreturn
42392         to empty on that platform.  Reported by Bruno Haible in
42393         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
42394         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
42395         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
42397 2012-02-28  Bruno Haible  <bruno@clisp.org>
42399         doc: Mention new glibc headers and functions.
42400         * doc/glibc-headers/uchar.texi: New file.
42401         * doc/glibc-functions/aligned_alloc.texi: New file.
42402         * doc/glibc-functions/c16rtomb.texi: New file.
42403         * doc/glibc-functions/c32rtomb.texi: New file.
42404         * doc/glibc-functions/clock_adjtime.texi: New file.
42405         * doc/glibc-functions/fanotify_init.texi: New file.
42406         * doc/glibc-functions/fanotify_mark.texi: New file.
42407         * doc/glibc-functions/inet6_opt_append.texi: New file.
42408         * doc/glibc-functions/inet6_opt_find.texi: New file.
42409         * doc/glibc-functions/inet6_opt_finish.texi: New file.
42410         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
42411         * doc/glibc-functions/inet6_opt_init.texi: New file.
42412         * doc/glibc-functions/inet6_opt_next.texi: New file.
42413         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
42414         * doc/glibc-functions/inet6_rth_add.texi: New file.
42415         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
42416         * doc/glibc-functions/inet6_rth_init.texi: New file.
42417         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
42418         * doc/glibc-functions/inet6_rth_segments.texi: New file.
42419         * doc/glibc-functions/inet6_rth_space.texi: New file.
42420         * doc/glibc-functions/login.texi: New file.
42421         * doc/glibc-functions/mbrtoc16.texi: New file.
42422         * doc/glibc-functions/mbrtoc32.texi: New file.
42423         * doc/glibc-functions/name_to_handle_at.texi: New file.
42424         * doc/glibc-functions/ntp_gettimex.texi: New file.
42425         * doc/glibc-functions/open_by_handle_at.texi: New file.
42426         * doc/glibc-functions/prlimit.texi: New file.
42427         * doc/glibc-functions/process_vm_readv.texi: New file.
42428         * doc/glibc-functions/process_vm_writev.texi: New file.
42429         * doc/glibc-functions/recvmmsg.texi: New file.
42430         * doc/glibc-functions/scandirat.texi: New file.
42431         * doc/glibc-functions/sendmmsg.texi: New file.
42432         * doc/glibc-functions/setns.texi: New file.
42433         * doc/glibc-functions/timespec_get.texi: New file.
42434         * doc/gnulib.texi: Include them.
42435         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
42436         sections.
42437         Reported by Eric Blake.
42439 2012-02-28  Bruno Haible  <bruno@clisp.org>
42441         Avoid compilation errors with MSVC option -fp:strict.
42442         * lib/floor.c: Use MSVC specific pragma fenv_access.
42443         * lib/ceil.c: Likewise.
42444         * lib/trunc.c: Likewise.
42445         * lib/round.c: Likewise.
42446         * lib/rint.c: Likewise.
42447         * lib/fma.c: Likewise.
42448         * lib/integer_length.c: Likewise.
42449         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42450         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42451         * tests/test-floor2.c: Likewise.
42452         * tests/test-floorf2.c: Likewise.
42453         * tests/test-ceil2.c: Likewise.
42454         * tests/test-ceilf2.c: Likewise.
42455         * tests/test-trunc2.c: Likewise.
42456         * tests/test-truncf2.c: Likewise.
42457         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
42459 2012-02-27  Bruno Haible  <bruno@clisp.org>
42461         Tests for module 'sqrtl-ieee'.
42462         * modules/sqrtl-ieee-tests: New file.
42463         * tests/test-sqrtl-ieee.c: New file.
42465         New module 'sqrtl-ieee'.
42466         * modules/sqrtl-ieee: New file.
42468         Tests for module 'sqrt-ieee'.
42469         * modules/sqrt-ieee-tests: New file.
42470         * tests/test-sqrt-ieee.c: New file.
42472         New module 'sqrt-ieee'.
42473         * modules/sqrt-ieee: New file.
42475         Tests for module 'sqrtf-ieee'.
42476         * modules/sqrtf-ieee-tests: New file.
42477         * tests/test-sqrtf-ieee.c: New file.
42478         * tests/test-sqrt-ieee.h: New file.
42480         New module 'sqrtf-ieee'.
42481         * modules/sqrtf-ieee: New file.
42483 2012-02-27  Bruno Haible  <bruno@clisp.org>
42485         remainderl-ieee: Work around test failure on OSF/1.
42486         * m4/remainderl-ieee.m4: New file.
42487         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
42488         present, test whether remainderl works with a zero second argument.
42489         Replace it if not.
42490         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
42491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
42492         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
42493         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
42494         (Depends-on): Update conditions.
42495         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
42496         (Depends-on): Add remainder-ieee.
42497         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
42498         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
42499         module.
42501         remainderf-ieee: Work around test failure on OSF/1.
42502         * m4/remainderf-ieee.m4: New file.
42503         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
42504         present, test whether remainderf works with a zero second argument.
42505         Replace it if not.
42506         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
42507         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
42508         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
42509         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
42510         (Depends-on): Update conditions.
42511         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
42512         (Depends-on): Add remainder-ieee.
42513         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
42514         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
42515         module.
42517         remainder-ieee: Work around test failure on OSF/1.
42518         * m4/remainder-ieee.m4: New file.
42519         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
42520         present, test whether remainder works with a zero second argument.
42521         Replace it if not.
42522         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
42523         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
42524         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
42525         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
42526         (Depends-on): Update dependencies.
42527         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
42528         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
42529         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
42531         Tests for module 'remainderl-ieee'.
42532         * modules/remainderl-ieee-tests: New file.
42533         * tests/test-remainderl-ieee.c: New file.
42535         New module 'remainderl-ieee'.
42536         * modules/remainderl-ieee: New file.
42538         Tests for module 'remainder-ieee'.
42539         * modules/remainder-ieee-tests: New file.
42540         * tests/test-remainder-ieee.c: New file.
42542         New module 'remainder-ieee'.
42543         * modules/remainder-ieee: New file.
42545         Tests for module 'remainderf-ieee'.
42546         * modules/remainderf-ieee-tests: New file.
42547         * tests/test-remainderf-ieee.c: New file.
42548         * tests/test-remainder-ieee.h: New file.
42550         New module 'remainderf-ieee'.
42551         * modules/remainderf-ieee: New file.
42553 2012-02-27  Bruno Haible  <bruno@clisp.org>
42555         modff, modfl: Fix configure syntax error.
42556         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
42557         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
42559 2012-02-27  Bruno Haible  <bruno@clisp.org>
42561         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
42562         * m4/fmodl-ieee.m4: New file.
42563         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
42564         whether fmodl works with zero arguments. Replace it if not.
42565         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
42566         (Depends-on): Add fmod-ieee.
42567         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
42568         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
42570         fmodf-ieee: Work around test failure on OSF/1.
42571         * m4/fmodf-ieee.m4: New file.
42572         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
42573         whether fmodf works with zero arguments. Replace it if not.
42574         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
42575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
42576         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
42577         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
42578         (Depends-on): Update dependencies.
42579         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
42580         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
42581         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
42583         fmodf-ieee: Work around test failure on MSVC 9.
42584         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
42585         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
42587         fmod-ieee: Work around test failures on OSF/1, mingw.
42588         * m4/fmod-ieee.m4: New file.
42589         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
42590         whether fmod works with zero arguments. Replace it if not.
42591         * lib/math.in.h (fmod): New declaration.
42592         * lib/fmod.c: New file.
42593         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
42594         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
42595         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
42596         * modules/fmod (Files): Add lib/fmod.c.
42597         (Depends-on): Add math, isinf, trunc, fma.
42598         (configure.ac): Arrange to compile lib/fmod.c if needed.
42599         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
42600         m4/signbit.m4.
42601         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
42602         * tests/test-math-c++.cc: Check the declaration of fmod.
42603         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
42605         fmodl-ieee: Fix test failures.
42606         * lib/fmodl.c (fmodl): Treat Inf specially.
42607         * modules/fmodl (Depends-on): Add isinf.
42609         Tests for module 'fmodl-ieee'.
42610         * modules/fmodl-ieee-tests: New file.
42611         * tests/test-fmodl-ieee.c: New file.
42613         New module 'fmodl-ieee'.
42614         * modules/fmodl-ieee: New file.
42616         Tests for module 'fmod-ieee'.
42617         * modules/fmod-ieee-tests: New file.
42618         * tests/test-fmod-ieee.c: New file.
42620         New module 'fmod-ieee'.
42621         * modules/fmod-ieee: New file.
42623         Tests for module 'fmodf-ieee'.
42624         * modules/fmodf-ieee-tests: New file.
42625         * tests/test-fmodf-ieee.c: New file.
42626         * tests/test-fmod-ieee.h: New file.
42628         New module 'fmodf-ieee'.
42629         * modules/fmodf-ieee: New file.
42631 2012-02-27  Bruno Haible  <bruno@clisp.org>
42633         Tests for module 'rintl-ieee'.
42634         * modules/rintl-ieee-tests: New file.
42635         * tests/test-rintl-ieee.c: New file.
42637         New module 'rintl-ieee'.
42638         * modules/rintl-ieee: New file.
42640         Tests for module 'rint-ieee'.
42641         * modules/rint-ieee-tests: New file.
42642         * tests/test-rint-ieee.c: New file.
42644         New module 'rint-ieee'.
42645         * modules/rint-ieee: New file.
42647         Tests for module 'rintf-ieee'.
42648         * modules/rintf-ieee-tests: New file.
42649         * tests/test-rintf-ieee.c: New file.
42650         * tests/test-rint-ieee.h: New file.
42652         New module 'rintf-ieee'.
42653         * modules/rintf-ieee: New file.
42655 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42657         regex: re_search etc. should return -2 when memory exhausted
42658         This bug was uncovered when testing 'grep'.  Without the fix,
42659         re_search and friends return -1 when memory is exhausted, but -1
42660         means no match, and this causes grep to falsely report no-match
42661         instead of memory-exhaustion.  See
42662         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
42663         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
42664         trouble; this can occur if re_search_internal ran out of memory.
42666 2012-02-26  Bruno Haible  <bruno@clisp.org>
42668         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
42669         * m4/modfl-ieee.m4: New file.
42670         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
42671         whether modfl works with Inf. Replace it if not.
42672         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
42673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
42674         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
42675         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
42676         (Depends-on): Update dependencies.
42677         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
42678         m4/signbit.m4.
42679         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
42680         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
42682         modfl-ieee: Fix dependencies.
42683         * modules/modfl-ieee (Depends-on): Add modf-ieee.
42685         modfl-ieee: Fix test failures.
42686         * lib/modfl.c (modfl): Treat NaN and Inf specially.
42687         * modules/modfl (Depends-on): Add isfinite, isinf.
42689         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
42690         * m4/modff-ieee.m4: New file.
42691         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
42692         whether modff works with NaN and Inf. Replace it if not.
42693         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
42694         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
42695         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
42696         * modules/modff (configure.ac): Consider REPLACE_MODFF.
42697         (Depends-on): Update dependencies.
42698         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
42699         m4/signbit.m4.
42700         (Depends-on): Add modf-ieee.
42701         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
42702         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
42704         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
42705         * m4/modf-ieee.m4: New file.
42706         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
42707         whether modf works with NaN and Inf. Replace it if not.
42708         * lib/math.in.h (modf): New declaration.
42709         * lib/modf.c: New file.
42710         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
42711         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
42712         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
42713         * modules/modf (Files): Add lib/modf.c.
42714         (Depends-on): Add math, isfinite, trunc, isinf.
42715         (configure.ac): Addrange to compile lib/modf.c if needed.
42716         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
42717         m4/signbit.m4.
42718         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
42719         * tests/test-math-c++.cc: Check the declaration of modf.
42720         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
42722         Tests for module 'modfl-ieee'.
42723         * modules/modfl-ieee-tests: New file.
42724         * tests/test-modfl-ieee.c: New file.
42726         New module 'modfl-ieee'.
42727         * modules/modfl-ieee: New file.
42729         Tests for module 'modf-ieee'.
42730         * modules/modf-ieee-tests: New file.
42731         * tests/test-modf-ieee.c: New file.
42733         New module 'modf-ieee'.
42734         * modules/modf-ieee: New file.
42736         Tests for module 'modff-ieee'.
42737         * modules/modff-ieee-tests: New file.
42738         * tests/test-modff-ieee.c: New file.
42739         * tests/test-modf-ieee.h: New file.
42741         New module 'modff-ieee'.
42742         * modules/modff-ieee: New file.
42744 2012-02-26  Bruno Haible  <bruno@clisp.org>
42746         Tests for module 'fabsl-ieee'.
42747         * modules/fabsl-ieee-tests: New file.
42748         * tests/test-fabsl-ieee.c: New file.
42750         New module 'fabsl-ieee'.
42751         * modules/fabsl-ieee: New file.
42753         Tests for module 'fabs-ieee'.
42754         * modules/fabs-ieee-tests: New file.
42755         * tests/test-fabs-ieee.c: New file.
42757         New module 'fabs-ieee'.
42758         * modules/fabs-ieee: New file.
42760         Tests for module 'fabsf-ieee'.
42761         * modules/fabsf-ieee-tests: New file.
42762         * tests/test-fabsf-ieee.c: New file.
42763         * tests/test-fabs-ieee.h: New file.
42765         New module 'fabsf-ieee'.
42766         * modules/fabsf-ieee: New file.
42768 2012-02-26  Bruno Haible  <bruno@clisp.org>
42770         Tests for module 'fmal-ieee'.
42771         * modules/fmal-ieee-tests: New file.
42772         * tests/test-fmal-ieee.c: New file.
42774         New module 'fmal-ieee'.
42775         * modules/fmal-ieee: New file.
42777         Tests for module 'fma-ieee'.
42778         * modules/fma-ieee-tests: New file.
42779         * tests/test-fma-ieee.c: New file.
42781         New module 'fma-ieee'.
42782         * modules/fma-ieee: New file.
42784         Tests for module 'fmaf-ieee'.
42785         * modules/fmaf-ieee-tests: New file.
42786         * tests/test-fmaf-ieee.c: New file.
42787         * tests/test-fma-ieee.h: New file.
42789         New module 'fmaf-ieee'.
42790         * modules/fmaf-ieee: New file.
42792 2012-02-26  Bruno Haible  <bruno@clisp.org>
42794         Tests for module 'ldexpl-ieee'.
42795         * modules/ldexpl-ieee-tests: New file.
42796         * tests/test-ldexpl-ieee.c: New file.
42798         New module 'ldexpl-ieee'.
42799         * modules/ldexpl-ieee: New file.
42801         Tests for module 'ldexp-ieee'.
42802         * modules/ldexp-ieee-tests: New file.
42803         * tests/test-ldexp-ieee.c: New file.
42805         New module 'ldexp-ieee'.
42806         * modules/ldexp-ieee: New file.
42808         Tests for module 'ldexpf-ieee'.
42809         * modules/ldexpf-ieee-tests: New file.
42810         * tests/test-ldexpf-ieee.c: New file.
42811         * tests/test-ldexp-ieee.h: New file.
42813         New module 'ldexpf-ieee'.
42814         * modules/ldexpf-ieee: New file.
42816 2012-02-26  Bruno Haible  <bruno@clisp.org>
42818         Refactor frexp*-ieee tests.
42819         * tests/test-frexp-ieee.h: New file.
42820         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
42821         (main): Just call test_function.
42822         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
42823         (main): Just call test_function.
42824         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
42825         (main): Just call test_function.
42826         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
42827         * modules/frexp-ieee-tests (Files): Likewise.
42828         * modules/frexpl-ieee-tests (Files): Likewise.
42830         Tests for module 'frexpl-ieee'.
42831         * modules/frexpl-ieee-tests: New file.
42832         * tests/test-frexpl-ieee.c: New file.
42834         New module 'frexpl-ieee'.
42835         * modules/frexpl-ieee: New file.
42837         Tests for module 'frexp-ieee'.
42838         * modules/frexp-ieee-tests: New file.
42839         * tests/test-frexp-ieee.c: New file.
42841         New module 'frexp-ieee'.
42842         * modules/frexp-ieee: New file.
42844         Tests for module 'frexpf-ieee'.
42845         * modules/frexpf-ieee-tests: New file.
42846         * tests/test-frexpf-ieee.c: New file.
42848         New module 'frexpf-ieee'.
42849         * modules/frexpf-ieee: New file.
42851 2012-02-26  Bruno Haible  <bruno@clisp.org>
42853         roundl-ieee tests: More tests.
42854         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42855         (main): Add tests for [MX] shaded specification in POSIX.
42856         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42857         (Depends-on): Add isnanl-nolibm.
42859         round-ieee tests: More tests.
42860         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42861         (main): Add tests for [MX] shaded specification in POSIX.
42862         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42863         (Depends-on): Add isnand-nolibm.
42865         roundf-ieee tests: More tests.
42866         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42867         (main): Add tests for [MX] shaded specification in POSIX.
42868         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42869         (Depends-on): Add isnanf-nolibm.
42871         truncl-ieee tests: More tests.
42872         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42873         (main): Add tests for [MX] shaded specification in POSIX.
42874         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42875         (Depends-on): Add isnanl-nolibm.
42877         trunc-ieee tests: More tests.
42878         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42879         (main): Add tests for [MX] shaded specification in POSIX.
42880         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42881         (Depends-on): Add isnand-nolibm.
42883         truncf-ieee tests: More tests.
42884         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42885         (main): Add tests for [MX] shaded specification in POSIX.
42886         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42887         (Depends-on): Add isnanf-nolibm.
42889         ceill-ieee tests: More tests.
42890         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42891         (main): Add tests for [MX] shaded specification in POSIX.
42892         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42893         (Depends-on): Add isnanl-nolibm.
42895         ceil-ieee tests: More tests.
42896         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42897         (main): Add tests for [MX] shaded specification in POSIX.
42898         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42899         (Depends-on): Add isnand-nolibm.
42901         ceilf-ieee tests: More tests.
42902         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42903         (main): Add tests for [MX] shaded specification in POSIX.
42904         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42905         (Depends-on): Add isnanf-nolibm.
42907         floorl-ieee tests: More tests.
42908         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42909         (main): Add tests for [MX] shaded specification in POSIX.
42910         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42911         (Depends-on): Add isnanl-nolibm.
42913         floor-ieee tests: More tests.
42914         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42915         (main): Add tests for [MX] shaded specification in POSIX.
42916         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42917         (Depends-on): Add isnand-nolibm.
42919         floorf-ieee tests: More tests.
42920         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42921         (main): Add tests for [MX] shaded specification in POSIX.
42922         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42923         (Depends-on): Add isnanf-nolibm.
42925 2012-02-26  Bruno Haible  <bruno@clisp.org>
42927         fpieee: More comments.
42928         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
42930 2012-02-25  Bruno Haible  <bruno@clisp.org>
42932         Tests for module 'log10l'.
42933         * modules/log10l-tests: New file.
42934         * tests/test-log10l.c: New file.
42935         * tests/test-math-c++.cc: Check the declaration of log10l.
42937         New module 'log10l'.
42938         * lib/math.in.h (log10l): New declaration.
42939         * lib/log10l.c: New file.
42940         * m4/log10l.m4: New file.
42941         * modules/log10l: New file.
42942         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
42943         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
42944         HAVE_DECL_LOG10L.
42945         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
42946         HAVE_DECL_LOG10L.
42947         * doc/posix-functions/log10l.texi: Mention the new module.
42949 2012-02-25  Bruno Haible  <bruno@clisp.org>
42951         fmodl, remainder*: Avoid wrong results due to rounding errors.
42952         * lib/fmodl.c (fmodl): Correct the result if it is not within the
42953         expected bounds.
42954         * lib/remainderf.c (remainderf): Likewise.
42955         * lib/remainder.c (remainder): Likewise.
42956         * lib/remainderl.c (remainderl): Likewise.
42958 2012-02-25  Bruno Haible  <bruno@clisp.org>
42960         Tests for module 'remainderl'.
42961         * modules/remainderl-tests: New file.
42962         * tests/test-remainderl.c: New file.
42963         * tests/test-math-c++.cc: Check the declaration of remainderl.
42965         New module 'remainderl'.
42966         * lib/math.in.h (remainderl): New declaration.
42967         * lib/remainderl.c: New file.
42968         * m4/remainderl.m4: New file.
42969         * modules/remainderl: New file.
42970         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
42971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
42972         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
42973         HAVE_REMAINDERL.
42974         * doc/posix-functions/remainderl.texi: Mention the new module.
42976 2012-02-25  Bruno Haible  <bruno@clisp.org>
42978         Tests for module 'remainderf'.
42979         * modules/remainderf-tests: New file.
42980         * tests/test-remainderf.c: New file.
42981         * tests/test-math-c++.cc: Check the declaration of remainderf.
42983         New module 'remainderf'.
42984         * lib/math.in.h (remainderf): New declaration.
42985         * lib/remainderf.c: New file.
42986         * m4/remainderf.m4: New file.
42987         * modules/remainderf: New file.
42988         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
42989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
42990         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
42991         HAVE_REMAINDERF.
42992         * doc/posix-functions/remainderf.texi: Mention the new module.
42994 2012-02-25  Bruno Haible  <bruno@clisp.org>
42996         remainder: Support for MSVC.
42997         * lib/math.in.h (remainder): New declaration.
42998         * lib/remainder.c: New file.
42999         * m4/remainder.m4: New file.
43000         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
43001         (Depends-on): Add math, round, fma.
43002         (configure.ac): Use results of gl_FUNC_REMAINDER.
43003         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
43004         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43005         HAVE_DECL_REMAINDER.
43006         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
43007         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
43008         * tests/test-math-c++.cc: Check the declaration of remainder.
43009         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
43010         problems are fixed.
43012 2012-02-25  Bruno Haible  <bruno@clisp.org>
43014         Tests for module 'fmodl'.
43015         * modules/fmodl-tests: New file.
43016         * tests/test-fmodl.c: New file.
43017         * tests/test-math-c++.cc: Check the declaration of fmodl.
43019         New module 'fmodl'.
43020         * lib/math.in.h (fmodl): New declaration.
43021         * lib/fmodl.c: New file.
43022         * m4/fmodl.m4: New file.
43023         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
43024         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
43025         REPLACE_FMODL.
43026         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
43027         REPLACE_FMODL.
43028         * modules/fmodl: New file.
43029         * doc/posix-functions/fmodl.texi: Mention the new module.
43031 2012-02-25  Bruno Haible  <bruno@clisp.org>
43033         Tests for module 'modfl'.
43034         * modules/modfl-tests: New file.
43035         * tests/test-modfl.c: New file.
43036         * tests/test-math-c++.cc: Check the declaration of modfl.
43038         New module 'modfl'.
43039         * lib/math.in.h (modfl): New declaration.
43040         * lib/modfl.c: New file.
43041         * m4/modfl.m4: New file.
43042         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
43043         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
43044         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
43045         * modules/modfl: New file.
43046         * doc/posix-functions/modfl.texi: Mention the new module.
43048 2012-02-25  Bruno Haible  <bruno@clisp.org>
43050         Tests for module 'fabsl'.
43051         * modules/fabsl-tests: New file.
43052         * tests/test-fabsl.c: New file.
43053         * tests/test-math-c++.cc: Check the declaration of fabsl.
43055         New module 'fabsl'.
43056         * lib/math.in.h (fabsl): New declaration.
43057         * lib/fabsl.c: New file.
43058         * m4/fabsl.m4: New file.
43059         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
43060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
43061         REPLACE_FABSL.
43062         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
43063         REPLACE_FABSL.
43064         * modules/fabsl: New file.
43065         * doc/posix-functions/fabsl.texi: Mention the new module.
43067 2012-02-25  Bruno Haible  <bruno@clisp.org>
43069         fabs tests: More tests.
43070         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
43071         (zero): New variable.
43072         (main): Add tests for signed zero.
43073         * modules/fabs-tests (Files): Add tests/minus-zero.h.
43075         fabsf tests: More tests.
43076         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
43077         (zero): New variable.
43078         (main): Add tests for signed zero.
43079         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
43081 2012-02-24  Bruno Haible  <bruno@clisp.org>
43083         atanl: Provide function definition on MSVC.
43084         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
43085         function pointer.
43086         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
43088 2012-02-24  Bruno Haible  <bruno@clisp.org>
43090         acosl: Provide function definition on MSVC.
43091         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
43092         function pointer.
43093         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
43095 2012-02-24  Bruno Haible  <bruno@clisp.org>
43097         asinl: Provide function definition on MSVC.
43098         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
43099         function pointer.
43100         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
43102 2012-02-24  Bruno Haible  <bruno@clisp.org>
43104         tanl: Provide function definition on MSVC.
43105         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
43106         function pointer.
43107         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
43109 2012-02-24  Bruno Haible  <bruno@clisp.org>
43111         cosl: Provide function definition on MSVC.
43112         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
43113         function pointer.
43114         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
43116 2012-02-24  Bruno Haible  <bruno@clisp.org>
43118         sinl: Provide function definition on MSVC.
43119         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
43120         function pointer.
43121         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
43123 2012-02-24  Bruno Haible  <bruno@clisp.org>
43125         logl: Provide function definition on MSVC.
43126         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
43127         function pointer.
43128         * lib/math.in.h (logl): Undefine if it does not exist as a function.
43130 2012-02-24  Bruno Haible  <bruno@clisp.org>
43132         expl: Provide function definition on MSVC.
43133         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
43134         function pointer.
43135         * lib/math.in.h (expl): Undefine if it does not exist as a function.
43137 2012-02-24  Bruno Haible  <bruno@clisp.org>
43139         sqrtl: Provide function definition on MSVC.
43140         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
43141         a function pointer.
43142         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
43144 2012-02-24  Bruno Haible  <bruno@clisp.org>
43146         ceill: Provide function definition on MSVC.
43147         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
43148         used as a function pointer.
43149         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
43151 2012-02-24  Bruno Haible  <bruno@clisp.org>
43153         floorl: Provide function definition on MSVC.
43154         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
43155         used as a function pointer.
43156         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
43158 2012-02-24  Bruno Haible  <bruno@clisp.org>
43160         ceilf: Provide function definition on MSVC.
43161         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
43162         used as a function pointer.
43163         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
43165 2012-02-24  Bruno Haible  <bruno@clisp.org>
43167         floorf: Provide function definition on MSVC.
43168         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
43169         used as a function pointer.
43170         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
43172 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43174         stdnoreturn: new module
43175         This implements a replacement for C11's <stdnoreturn.h>.
43176         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
43177         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
43178         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
43179         * tests/test-stdnoreturn.c: New files.
43181 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
43183         regex: fix false multibyte matches in some regular expressions
43184         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
43185         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
43186         * lib/regex_internal.c (re_string_skip_chars):
43187         Fix miscomputation of remain_len that may cause incomplete
43188         multi-byte character and false match.
43190 2012-02-24  Jim Meyering  <meyering@redhat.com>
43192         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
43193         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
43194         uses with "==" *before* the call, e.g., 0 == strcmp (...)
43195         Remove now-unnecessary str''cmp obfuscation.
43196         Suggested by Akim Demaille.
43198 2012-02-24  Bruno Haible  <bruno@clisp.org>
43200         streq: Rename macro.
43201         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
43202         * NEWS: Mention the change.
43203         * lib/mbrtowc.c (mbrtowc): Update.
43204         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
43205         * lib/wcwidth.c (wcwidth): Update.
43206         Suggested by Akim Demaille and Jim Meyering.
43208 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43210         regex: fix typo in definition of MIN
43211         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
43212         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
43214 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43215             Bruno Haible  <bruno@clisp.org>
43217         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
43218         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
43219         entries into a stack-allocated buffer directly.
43220         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
43222 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
43223             Bruno Haible  <bruno@clisp.org>
43225         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
43227          - There were several instances of this pattern:
43229              for (;;) {
43230                n = acl (f, GETACLCNT, 0, NULL);
43231                [ allocate an array A of size N ]
43232                if (acl (f, GETACL, n, a) == n)
43233                  break;
43234              }
43236            This loop might never terminate if some other process is constantly
43237            manipulating the file's ACL.  The loop should be rewritten to
43238            terminate.
43240          - The acl (... GETACLNT ...) call is merely an optimization; its value
43241            is merely a hint as to how big to make the array.  A better
43242            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
43243            and just guess a reasonably-big size, growing the size and trying
43244            again if it's not large enough.  This guarantees termination, and
43245            saves a system call.
43247         * lib/acl-internal.h: Include <limits.h>.
43248         (MIN, SIZE_MAX): New macros.
43249         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
43250         a stack-allocated buffer, and use malloc if it does not fit. Don't
43251         use GETACLCNT.
43252         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43254 2012-02-19  Bruno Haible  <bruno@clisp.org>
43256         acl: Fix endless loop on Solaris with vxfs.
43257         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
43258         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
43259         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
43260         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
43261         * tests/test-sameacls.c (main)[Solaris]: Likewise.
43262         Reported by Bill Jones in
43263         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
43265 2012-02-19  Bruno Haible  <bruno@clisp.org>
43267         acl: Fix copy-acl test failure on Solaris 11.0.
43268         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
43269         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
43270         that this function returns 0 in some more cases.
43272 2012-02-19  Bruno Haible  <bruno@clisp.org>
43274         acl: Update doc references.
43275         * doc/acl-resources.txt: Update links to Solaris documentation.
43277 2012-02-19  Bruno Haible  <bruno@clisp.org>
43279         Fix test failure in many locales on Solaris 11.
43280         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
43281         'tr' arguments.
43282         * tests/test-pipe-filter-ii1.c (main): Likewise.
43283         * build-aux/bootstrap (check_versions): Run 'tr' command with range
43284         expressions in the C locale.
43285         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
43286         * m4/host-os.m4 (gl_HOST_OS): Likewise.
43288 2012-02-19  Bruno Haible  <bruno@clisp.org>
43290         gnulib-tool: Improve usage message.
43291         * gnulib-tool (func_usage): Move doc of --help and --version to the
43292         section "Operation modes".
43294 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
43296         README-release: make it easier to execute commands
43297         * top/README-release: break commands out on to separate lines.
43299 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
43301         GNUmakefile: simplify detection of unconfigured trees
43302         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
43303         whether the tree make is being run from is already configured or
43304         not.  Related simplifications.
43306 2012-02-13  Simon Josefsson  <simon@josefsson.org>
43308         * gnulib-tool (func_usage): Document --help and --version.
43310 2012-02-11  Jim Meyering  <meyering@redhat.com>
43312         bootstrap: don't exit 0 upon gnulib-tool failure
43313         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
43314         its exit status, not 0.
43316 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
43318         README-release: various improvements
43319         * top/README-release: Give a command to push changes for the
43320         release.  Add "distcheck" to list of other pre-release checks.
43321         Fix instance of "make stable" which should be "make TYPE".
43323 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43325         maint: replace FSF snail-mail addresses with URLs
43326         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
43327         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
43328         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
43329         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
43330         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
43331         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
43332         * lib/check-version.c, lib/check-version.h, lib/config.charset:
43333         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
43334         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
43335         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
43336         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
43337         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
43338         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
43339         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
43340         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
43341         * lib/glthread/thread.c, lib/glthread/thread.h:
43342         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
43343         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
43344         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
43345         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
43346         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
43347         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
43348         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
43349         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
43350         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
43351         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
43352         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
43353         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
43354         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
43355         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
43356         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
43357         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
43358         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
43359         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
43360         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
43361         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
43362         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
43363         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
43364         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
43365         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
43366         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
43367         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
43368         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
43369         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
43370         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
43371         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
43372         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
43373         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
43374         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
43375         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
43376         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
43377         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
43378         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
43379         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
43380         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
43381         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
43382         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
43383         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
43384         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
43385         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
43386         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
43387         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
43388         * tests/test-poll.c, tests/test-quotearg-simple.c:
43389         * tests/test-quotearg.c, tests/test-quotearg.h:
43390         * tests/test-round-ieee.c, tests/test-round1.c:
43391         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
43392         * tests/test-roundl-ieee.c, tests/test-roundl.c:
43393         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
43394         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
43395         * tests/test-strerror.c, tests/test-strerror_r.c:
43396         * tests/test-strsignal.c, tests/test-strverscmp.c:
43397         * tests/test-xmemdup0.c:
43398         Replace FSF snail mail addresses with URLs, as per GNU coding
43399         standards.  See glibc bug
43400         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
43402 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
43404         README-release: capitalize a word and split a line
43405         * top/README-release: Fix punctuation and spacing.
43407 2012-02-08  Akim Demaille  <demaille@gostai.com>
43409         fatal-signal: use C prototypes (with explicit void).
43410         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43411         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
43413 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43415         regex: spelling fix
43416         * lib/regexec.c: spelling fix
43418         regex: rely on stdint.h for SIZE_MAX
43419         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
43421 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
43423         regex: merge glibc changes
43425         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
43426         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
43427         (init_word_char): Work even if bitset words are not exactly 32 or
43428         64 bits wide.  Don't assume there are no padding bits.
43429         * lib/regex.c [_LIBC]: Do not include <config.h>.
43430         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
43431         and -Wtype-limits.
43432         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
43433         needless disagreement with glibc.  All uses changed.  Define it to
43434         1 only if _GNU_SOURCE, to match glibc.
43435         (_REG_RM_NAME): Remove; no longer needed, since the names in
43436         question are now all protected by __USE_GNU.
43437         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
43438         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
43439         * lib/regex_internal.h (MIN): New macro.
43441         2012-01-03 Ulrich Drepper <drepper@gmail.com>
43442         * lib/regcomp.c (init_word_char): Optimize regex a bit.
43444         2011-12-30 Jakub Jelinek <jakub@redhat.com>
43445         * lib/regex_internal.c (re_string_fetch_byte_case):
43446         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
43447         is miscompiled, and it turns out it is because of an incorrect
43448         attribute on re_string_fetch_byte_case.  Unlike
43449         re_string_peek_byte_case, this one is really not pure, it modifies
43450         memory (increments pstr->cur_idx), and with the pure attribute GCC
43451         assumed it doesn't and it cached the presumed value of
43452         regexp->cur_idx in a variable across the
43453          for (;; ++i)
43454            {
43455              if (i >= BRACKET_NAME_BUF_SIZE)
43456                return REG_EBRACK;
43457              if (token->type == OP_OPEN_CHAR_CLASS)
43458                ch = re_string_fetch_byte_case (regexp);
43459              else
43460                ch = re_string_fetch_byte (regexp);
43461              if (re_string_eoi(regexp))
43462                return REG_EBRACK;
43463              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
43464                break;
43465              elem->opr.name[i] = ch;
43466            }
43468         2011-11-29 Andreas Schwab <schwab@redhat.com>
43469         * lib/regcomp.c (build_equiv_class):
43470         Fix access after end of search string in regex matcher.
43472         2011-11-12 Ulrich Drepper <drepper@redhat.com>
43473         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
43475         2011-10-12 Ulrich Drepper <drepper@redhat.com>
43476         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
43478         2011-10-11 Ulrich Drepper <drepper@redhat.com>
43479         * lib/regcomp.c (parse_branch, parse_sub_exp):
43480         More regex memory leak fixes and tests.
43481         (parse_sub_exp, parse_bracket_exp):
43482         Fix memory leak for some invalid regular expressions.
43484         2011-05-28 Ulrich Drepper <drepper@gmail.com>
43485         * lib/regex_internal.c, lib/regexec.c:
43486         Fix unnecessary overallocation due to incomplete character.  When
43487         incomplete characters are found at the end of a string the code
43488         ran amok and allocated lots of memory.  Stricter limits are now in
43489         place.
43491         2011-05-20 Reuben Thomas <rrt@sc3d.org>
43492         * lib/regex.h: Update documentation.
43494         2011-05-16 Aharon Robbins <arnold@skeeve.com>
43495         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
43497         2010-05-05 Andreas Schwab <schwab@redhat.com>
43498         * lib/regexec.c (find_collation_sequence_value):
43499         Fix lookup of collation sequence value during regexp matching.
43501         2010-01-22 Ulrich Drepper <drepper@redhat.com>
43502         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
43504         2008-01-16 Ulrich Drepper <drepper@redhat.com>
43505         * lib/regex.h: Cleanup namespace.
43507         2007-11-26 Ulrich Drepper <drepper@redhat.com>
43508         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
43510         2007-08-26 Ulrich Drepper <drepper@redhat.com>
43511         * lib/regex_internal.h: Prevent some declarations and definitions
43512         to be seen when used in tests.
43514         2005-05-06 Ulrich Drepper <drepper@redhat.com>
43515         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
43516         __libc_lock_* macros if not _LIBC.
43517         (struct re_dfa_t): Add lock.
43519 2012-02-07  Eric Blake  <eblake@redhat.com>
43521         maint.mk: also prohibit lower-case @var@
43522         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
43523         lower case, like @top_srcdir@.
43525 2012-02-04  Eric Blake  <eblake@redhat.com>
43527         canonicalize: avoid uninitialized memory use
43528         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
43529         random '/' left in dest.
43530         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
43532 2012-02-04  Bruno Haible  <bruno@clisp.org>
43534         isatty: Fix test failure of ptsname_r on native Windows.
43535         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
43536         and don't set errno.
43537         (isatty): Test first whether fd is valid. Set errno when returning 0.
43539 2012-02-04  Bruno Haible  <bruno@clisp.org>
43541         spawn-pipe tests: Fix a NULL program name in a diagnostic.
43542         * tests/test-spawn-pipe-main.c: Include progname.h.
43543         (main): Invoke set_program_name.
43544         * modules/spawn-pipe-tests (Depends-on): Add progname.
43546         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
43547         * tests/test-nonblocking-socket-main.c: Include progname.h.
43548         (main): Invoke set_program_name.
43549         * modules/nonblocking-socket-tests (Depends-on): Add progname.
43551         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
43552         * tests/test-nonblocking-pipe-main.c: Include progname.h.
43553         (main): Invoke set_program_name.
43554         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
43556 2012-02-04  Eric Blake  <eblake@redhat.com>
43558         canonicalize-lgpl: fix // handling
43559         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
43561         canonicalize: fix // handling
43562         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
43563         /// to //, since only // is special.
43565 2012-02-04  Bruno Haible  <bruno@clisp.org>
43567         ioctl: Fix test failure on native Windows.
43568         * lib/ioctl.c: Include msvc-nothrow.h.
43569         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
43571 2012-02-04  Bruno Haible  <bruno@clisp.org>
43573         fsync: Avoid test failure on native Windows.
43574         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
43575         read-only.
43577 2012-02-04  Bruno Haible  <bruno@clisp.org>
43579         sys_select: Avoid syntax error on OpenBSD 5.0.
43580         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
43581         currently being included, just include the system's <sys/select.h>.
43583 2012-02-04  Bruno Haible  <bruno@clisp.org>
43585         sys_select: Avoid syntax error on OpenBSD 5.0.
43586         * lib/sys_select.in.h: Include <signal.h> only after the include_next
43587         <sys/select.h>, not before.
43588         Reported by Jiri B <jirib@devio.us>.
43590 2012-02-04  Bruno Haible  <bruno@clisp.org>
43592         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
43593         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
43594         global variables.
43595         * tests/test-get-rusage-data.c (main): Likewise.
43596         Reported by Jim Meyering.
43598 2012-02-04  Bruno Haible  <bruno@clisp.org>
43600         stdioext: Fix last commit.
43601         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
43603 2012-02-03  Bruno Haible  <bruno@clisp.org>
43605         stdioext: Add tentative support for Plan9.
43606         * lib/stdio-impl.h: Include <errno.h>.
43607         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
43608         * lib/freadable.c (freadable): Likewise.
43609         * lib/fwritable.c (fwritable): Likewise.
43610         * lib/fbufmode.c (fbufmode): Likewise.
43611         * lib/freading.c (freading): Likewise.
43612         * lib/fwriting.c (fwriting): Likewise.
43613         * lib/freadptr.c (freadptr): Likewise.
43614         * lib/freadseek.c (freadptrinc): Likewise.
43615         * lib/freadahead.c (freadahead): Likewise.
43616         * lib/fpurge.c (fpurge): Likewise.
43617         * lib/fseeko.c (rpl_fseeko): Likewise.
43618         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
43619         Reported by Jens Staal <staal1978@gmail.com>.
43621 2012-02-02  Jim Meyering  <meyering@redhat.com>
43623         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
43624         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
43625         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
43626         not even to try to add the attribute.  Instead, add a pragma to suppress
43627         the suggestion/warning.
43629 2012-01-31  Karl Berry  <karl@gnu.org>
43631         setstate doc: typo.
43632         * doc/posix-functions/setstate.texi (setstate): { not (.
43634 2012-01-31  Bruno Haible  <bruno@clisp.org>
43636         popen: Make more robust on Windows.
43637         * lib/popen.c: On native Windows, use the _popen based code even if
43638         HAVE_POPEN is set.
43639         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
43640         environment variable on native Windows.
43642 2012-01-30  Bruno Haible  <bruno@clisp.org>
43644         pclose: Fix typo.
43645         * lib/stdio.in.h (pclose): Fix typo in warning message.
43647 2012-01-30  Bruno Haible  <bruno@clisp.org>
43649         doc about getlogin_r, setstate.
43650         * doc/posix-functions/getlogin_r.texi: List the incompatible
43651         declaration problem under "not fixed by gnulib".
43652         * doc/posix-functions/setstate.texi: Mention incompatible declaration
43653         problem on Solaris 11 and other platforms.
43655 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
43656             Bruno Haible  <bruno@clisp.org>
43658         poll tests: Make test more robust.
43659         * tests/test-poll.c: Include macros.h.
43660         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
43661         return value of various I/O operations.
43662         * modules/poll-tests (Files): Add tests/macros.h.
43664 2012-01-30  Bruno Haible  <bruno@clisp.org>
43666         sys_stat: Fix support for mingw64 and MSVC.
43667         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
43668         header files already do it.
43669         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
43670         stat itself.
43671         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43673 2012-01-30  Bruno Haible  <bruno@clisp.org>
43675         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
43676         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
43677         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
43679 2012-01-29  Bruno Haible  <bruno@clisp.org>
43681         quotearg: Fix test failure on MacOS X 10.5.
43682         * tests/test-quotearg-simple.c: Include localcharset.h.
43683         (main): If the locale encoding is not ASCII, bypass the tests of
43684         locale_quoting_style and clocale_quoting_style.
43685         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
43687 2012-01-29  Jim Meyering  <meyering@redhat.com>
43689         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
43690         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
43691         detect uses of canonicalize_file_name.
43693 2012-01-28  Bruno Haible  <bruno@clisp.org>
43695         test-framework-sh: Fix test failure with AIX 7.1 diff.
43696         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
43697         in column 1, like 'diff -c' does.
43698         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
43699         whether 'diff -u' is used. Instead, test whether the output contains
43700         some '@' character.
43702 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43704         strtoimax: eliminate need for stdint.h, inttypes.h checks
43705         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
43706         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
43707         the prerequisites for a recently-introduced strtoimax test.
43708         I guess this might cause strtoimax to be replaced when not
43709         strictly necessary on older hosts, but this shouldn't introduce
43710         any bugs and it should make Emacs 'configure' faster on typical
43711         modern hosts.  Problem discovered when importing the latest gnulib
43712         to an Emacs test version.
43713         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
43715 2012-01-28  Bruno Haible  <bruno@clisp.org>
43717         sys_time: Override 'struct timeval' on some native Windows platforms.
43718         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
43719         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
43720         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
43721         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
43722         needs to be overridden.
43723         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
43724         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
43725         * tests/test-sys_select.c: Check that the tv_sec member has the same
43726         size as a 'time_t'.
43727         * tests/test-sys_time.c: Likewise.
43728         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
43729         is set, set also REPLACE_GETTIMEOFDAY.
43730         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
43731         convert the resulting 'struct timeval' before returning.
43732         * lib/select.c: Include <sys/time.h>.
43733         (select, timeval): Undefine at the right place.
43734         * modules/select (Depends-on): Add sys_time.
43735         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
43736         some Windows platforms.
43737         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43739 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43741         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
43742         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
43743         an integer.
43744         * lib/fcntl.c (dupfd): Likewise.
43745         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
43747 2012-01-28  Bruno Haible  <bruno@clisp.org>
43749         fcntl: Avoid compilation error on native Windows.
43750         * modules/fcntl (Depends-on): Add 'close'.
43752 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43754         select, poll, isatty: Avoid warnings on x86_64 mingw64.
43755         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
43756         pointer to an integer.
43757         * lib/poll.c (IsConsoleHandle): Likewise.
43758         * lib/isatty.c (IsConsoleHandle): Likewise.
43760 2012-01-28  Jim Meyering  <meyering@redhat.com>
43762         doc: clarify README-release
43763         * top/README-release: Clarify: you should make a point to have
43764         the latest stable versions of build tools in your PATH, and the
43765         reference to buildreq is solely for its list of tool names, not
43766         for its minimal-functional version numbers.
43767         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
43769         maint.mk: use more readable (yet functionally equivalent) quoting
43770         It is common to quote a single quote in a single quoted string like
43771         this:  '...'\''...'.  Unless you know the idiom, that looks like
43772         gibberish, so prefer to double-quote the string when possible.
43773         Then you can use a more readable, lone single quote: "...'..."
43774         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
43775         "don't" is more readable than the equivalent 'don'\''t'.
43776         (sc_cast_of_x_alloc_return_value): Likewise.
43777         (sc_cast_of_alloca_return_value): Likewise.
43778         (sc_makefile_path_separator_check): Similar: use ":" in '...',
43779         rather than '\'':'\''.
43781 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43783         stdalign: relax _Alignof and tighten _Alignas test
43784         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
43785         as it was too strict: alignof must divide offsetof, but it need
43786         not equal offsetof.  Inspired by Joseph S. Myers's comment
43787         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
43788         Conversely, tighten the _Alignas test a bit, as the resulting
43789         alignment must be exactly 8.
43791 2012-01-27  Bruno Haible  <bruno@clisp.org>
43793         stdalign: Document the last change.
43794         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
43796 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43798         stdalign: check that alignof and offsetof are consistent
43799         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
43800         Problem reported for gnulib by Richard W.M. Jones in
43801         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
43803 2012-01-27  Jim Meyering  <meyering@redhat.com>
43805         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
43806         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
43807         convert a sequence with gaps to the minimal containing range.
43808         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
43809         * tests/test-update-copyright.sh: Test for this.
43810         The FSF confirmed it is ok to do this, assuming there is at
43811         least one significant change per year in the affected range:
43812         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
43814 2012-01-26  Bruno Haible  <bruno@clisp.org>
43816         pipe2: refine doc about thread-safety
43817         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
43818         multithread-safety problem.
43819         * doc/glibc-functions/accept4.texi: Likewise.
43821 2012-01-26  Bruno Haible  <bruno@clisp.org>
43823         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
43824         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
43825         In the test program, include <fcntl.h>, for O_RDONLY.
43827 2012-01-26  Eric Blake  <eblake@redhat.com>
43829         pipe2: document lack of thread-safety in replacement
43830         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
43831         issue in replacement.
43832         * doc/glibc-functions/accept4.texi (accept4): Likewise.
43833         Based on a report by Eric Wong.
43835 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43836             Bruno Haible  <bruno@clisp.org>
43838         malloca: Avoid warnings on x86_64 mingw64.
43839         * lib/malloca.c: Include <stdint.h>.
43840         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
43841         * modules/malloca (Depends-on): Add stdint.
43842         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
43844 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43846         obstack: remove __STDC__ conditionals
43847         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
43848         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
43849         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
43850         m4/include_next.m4 as the only gnulib-maintained places that still
43851         refer to __STDC__.
43853 2012-01-24  Bruno Haible  <bruno@clisp.org>
43855         havelib: Modern quoting.
43856         * build-aux/config.rpath: Quote 'like this', not `like this', as per
43857         the recent change to the GNU coding standards.
43859 2012-01-24  Bruno Haible  <bruno@clisp.org>
43861         stdint: Improve support for Android.
43862         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
43863         Reported by Simon Josefsson <simon@josefsson.org>.
43865 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43867         doc: omit trailing empty lines from INSTALL etc.
43868         * doc/Makefile (INSTALL): Omit trailing empty lines.
43869         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
43870         omit trailing empty lines.  This simplifies the build procedure.
43872 2012-01-23  Jim Meyering  <meyering@redhat.com>
43874         tests: avoid spurious warnings about gl_sockets_startup
43875         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
43876         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
43877         reporting a "statement with no effect".
43878         * tests/test-accept.c (main): Mark as "(void)".
43879         * tests/test-accept4.c (main): Likewise.
43880         * tests/test-bind.c (main): Likewise.
43881         * tests/test-connect.c (main): Likewise.
43882         * tests/test-getpeername.c (main): Likewise.
43883         * tests/test-getsockname.c (main): Likewise.
43884         * tests/test-getsockopt.c (main): Likewise.
43885         * tests/test-listen.c (main): Likewise.
43886         * tests/test-recv.c (main): Likewise.
43887         * tests/test-recvfrom.c (main): Likewise.
43888         * tests/test-send.c (main): Likewise.
43889         * tests/test-sendto.c (main): Likewise.
43890         * tests/test-setsockopt.c (main): Likewise.
43891         * tests/test-shutdown.c (main): Likewise.
43893 2012-01-21  Bruno Haible  <bruno@clisp.org>
43895         locale-fr.m4: Fix for Android.
43896         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
43897         failure of the test program on Bionic libc.
43899 2012-01-21  Jim Meyering  <meyering@redhat.com>
43901         bootstrap: fail when bootstrap_post_import_hook fails
43902         Otherwise, it's far too easy to miss diagnostics emitted
43903         between gnulib-tool's output and that of running configure.
43904         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
43906 2012-01-17  Jim Meyering  <meyering@redhat.com>
43908         maint: enable sc_trailing_blank
43909         * build-aux/pmccabe.css: Remove trailing blanks.
43910         * doc/acl-cygwin.txt: Likewise.
43911         * doc/gnu-oids.texi: Likewise
43912         * cfg.mk: Enable sc_trailing_blank.
43913         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
43915 2012-01-17  Jim Meyering  <meyering@redhat.com>
43917         maint: enable sc_prohibit_openat_without_use
43918         * cfg.mk: Enable sc_prohibit_openat_without_use.
43919         Exempt lib/selinux-at.c.
43921 2012-01-17  Jim Meyering  <meyering@redhat.com>
43923         maint: enable sc_prohibit_cloexec_without_use
43924         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
43925         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
43927 2012-01-17  Jim Meyering  <meyering@redhat.com>
43929         maint: enable sc_prohibit_intprops_without_use
43930         * cfg.mk: Enable sc_prohibit_intprops_without_use
43931         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
43933 2012-01-17  Jim Meyering  <meyering@redhat.com>
43935         maint: enable sc_prohibit_hash_pjw_without_use
43936         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
43937         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
43938         to match any use of \<hash_pjw\>, i.e., not necessarily with a
43939         following " (".
43941 2012-01-17  Jim Meyering  <meyering@redhat.com>
43943         maint: enable double-word-prohibiting rule
43944         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
43945         Exempt three files.
43947 2012-01-17  Jim Meyering  <meyering@redhat.com>
43949         maint: remove empty lines at EOF, but excluding modules/*
43950         Apply syntax rules at home as well as abroad.  Most changes
43951         were induced by running this:
43952           make srcdir=. _build-aux=build-aux -f top/maint.mk \
43953             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
43954             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
43955         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
43956         Exempt modules/* and two binary files.
43957         Also exempt doc/INSTALL*, per request from Bruno Haible.
43958         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
43959         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
43960         * doc/Copyright/request-assign.future: Likewise.
43961         * doc/Copyright/request-disclaim.changes: Likewise.
43962         * doc/INSTALL: Likewise.
43963         * doc/INSTALL.ISO: Likewise.
43964         * doc/INSTALL.UTF-8: Likewise.
43965         * doc/acl-cygwin.txt: Likewise.
43966         * doc/acl-resources.txt: Likewise.
43967         * doc/fdl-1.2.texi: Likewise.
43968         * doc/fdl-1.3.texi: Likewise.
43969         * doc/fdl.texi: Likewise.
43970         * lib/argp-pin.c: Likewise.
43971         * lib/round.c: Likewise.
43972         * lib/unicase/u16-totitle.c: Likewise.
43973         * lib/unictype/block_test.c: Likewise.
43974         * lib/uninorm/canonical-decomposition.c: Likewise.
43975         * m4/README: Likewise.
43976         * m4/relocatable-lib.m4: Likewise.
43977         * tests/test-isnand-nolibm.c: Likewise.
43978         * tests/test-isnand.c: Likewise.
43979         * tests/uninorm/NormalizationTest.txt: Likewise.
43981 2012-01-17  Jim Meyering  <meyering@redhat.com>
43983         maint: add framework to run syntax-check rules against gnulib sources
43984         * cfg.mk: New file, to disable all currently-failing tests.
43985         We'll enable them one by one, as they are made to pass.
43986         * Makefile (sc_maint): New rule.
43988 2012-01-21  Bruno Haible  <bruno@clisp.org>
43990         stdint: Add support for Android.
43991         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
43992         include the system's <stdint.h>.
43993         Reported by Simon Josefsson <simon@josefsson.org>.
43995 2012-01-19  Jim Meyering  <meyering@redhat.com>
43997         bootstrap: add bootstrap_post_import_hook
43998         Bison does still need something like the gnulib_mk_hook whose
43999         invocation I had to remove along with slurp in commit 767ccd40.
44000         Technically, we could get along without it, but doing so would
44001         have required living with a warning and a mandatory post-bootstrap
44002         automake rerun.
44003         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
44004         (bootstrap_post_import_hook): New function.
44005         Invoke it after gnulib-tool --import and before autoreconf.
44007 2012-01-18  Jim Meyering  <meyering@redhat.com>
44009         gitlog-to-changelog: don't use "no_"-prefixed variable name
44010         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
44011         to enable both --cluster and --no-cluster.  Change variable name,
44012         s/\$no_cluster/$cluster/, and reverse usage to match.
44014         gitlog-to-changelog: use "||", not "or" in expressions
44015         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
44016         expressions.
44018 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
44020         gitlog-to-changelog: new option --no-cluster
44021         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
44022         clustering of adjacent commit messages.
44024 2012-01-17  Jim Meyering  <meyering@redhat.com>
44026         maint: spell file systems with two words, not one
44027         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
44028         two words, not one.
44030 2012-01-16  Jim Meyering  <meyering@redhat.com>
44032         bootstrap: add a FIXME comment to ensure we eventually remove the hack
44033         * build-aux/bootstrap (gnulib_tool_options): Add comment.
44035 2012-01-16  Eric Blake  <eblake@redhat.com>
44037         bootstrap: cater to autoconf 2.59
44038         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
44039         is not available.
44041         bootstrap: properly check for libtool
44042         * build-aux/bootstrap (libtoolize): Also run libtool when older
44043         usage is detected.
44045 2012-01-15  Bruno Haible  <bruno@clisp.org>
44047         Improve support for MSVC 9.
44048         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
44049         clashes on MSVC.
44050         * lib/fcntl.in.h: Likewise.
44051         * lib/stdlib.in.h: Likewise.
44052         * lib/sys_stat.in.h: Likewise.
44054 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
44056         gnupload: we hold the master copy of this script now
44057         For motivation and more information, see:
44058         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
44059         * build-aux/gnupload: Make it clear in the heading comments that the
44060         master copy of this file is maintained by gnulib.  Since we are at
44061         it, bump its copyright year and ...
44062         ($scriptversion): ... the date in its version.
44063         ($usage): Patches and bug reports should be sent to the gnulib list,
44064         not the automake one.
44065         * config/srclist.txt: Don't try to sync 'gnupload' from automake
44066         anymore.
44068 2012-01-15  Bruno Haible  <bruno@clisp.org>
44070         Fix module 'random'.
44071         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
44072         initstate, setstate are declared.
44074 2012-01-14  Bruno Haible  <bruno@clisp.org>
44076         Tests for module 'random'.
44077         * modules/random-tests: New file.
44078         * tests/test-random.c: New file, based on tests/test-random_r.c.
44080         New module 'random'.
44081         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
44082         declarations.
44083         * lib/random.c: New file, based on glibc/stdlib/random.c.
44084         * m4/random.m4: New file.
44085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
44086         HAVE_RANDOM.
44087         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44088         * modules/random: New file.
44089         * config/srclist.txt: Add an entry for random.c.
44090         * doc/posix-functions/random.texi: Mention the 'random' module.
44091         * doc/posix-functions/initstate.texi: Likewise.
44092         * doc/posix-functions/setstate.texi: Likewise.
44093         * doc/posix-functions/srandom.texi: Likewise.
44095 2012-01-12  Bruno Haible  <bruno@clisp.org>
44097         random_r: Use common idioms.
44098         * lib/random_r.c: Include <stdlib.h> first.
44100         random_r: Override incompatible API on AIX, OSF/1.
44101         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
44102         Override the system function if REPLACE_RANDOM_R is 1.
44103         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
44104         and OSF/1, set REPLACE_RANDOM_R.
44105         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
44106         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
44107         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
44108         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
44109         * doc/glibc-functions/random_r.texi: Likewise.
44110         * doc/glibc-functions/setstate_r.texi: Likewise.
44112         random_r: Support for MSVC 9.
44113         * lib/random_r.c: Include stdint.h, not inttypes.h.
44115 2012-01-12  Eric Blake  <eblake@redhat.com>
44117         inet_ntop: guard extra work by IF_LINT
44118         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
44119         better code generation when not checking for warnings.
44120         Suggested by Paul Eggert and Jim Meyering.
44122         strptime: fix regression on mingw
44123         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
44124         Fix regression.  Reported by Bruno Haible.
44126 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
44127             Bruno Haible  <bruno@clisp.org>
44129         copy-file: add error-code-returning variant.
44130         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
44131         (qcopy_file_preserving): New declaration.
44132         * lib/copy-file.c (qcopy_file_preserving): Renamed from
44133         copy_file_preserving. Change return type to 'int'. Don't emit an error
44134         message here.
44135         (copy_file_preserving): New function.
44136         * tests/test-copy-file.c: Include <stdlib.h>.
44137         (main): Test qcopy_file_preserving if the environment variable
44138         NO_STDERR_OUTPUT is set.
44139         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
44140         with NO_STDERR_OUTPUT
44141         * tests/test-copy-file-2.sh: Likewise.
44143 2012-01-10  Bruno Haible  <bruno@clisp.org>
44145         copy-file: Use 'quote' module consistently.
44146         * lib/copy-file.c (copy_file_preserving): Use quote().
44148         copy-file: Refactor.
44149         * lib/copy-file.c: Include quote.h.
44150         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
44151         message here.
44152         * modules/copy-file (Depends-on): Add quote.
44154         acl: Export qcopy_acl.
44155         * lib/acl.h (qcopy_acl): New declaration.
44156         * lib/copy-acl.c (qcopy_acl): Make non-static.
44158         acl: Rename a local variable.
44159         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
44161         acl: Align return values of copy_acl and qcopy_acl.
44162         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
44163         maybe < -1.
44165 2012-01-11  Eric Blake  <eblake@redhat.com>
44167         strptime: silence gcc warnings
44168         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
44169         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
44170         Reported by Daniel P. Berrange.
44172         inet_ntop: silence gcc warning
44173         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
44174         Reported by Daniel P. Berrange.
44176 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
44178         getloadavg test: skip the test on GNU/Linux without /proc mounted
44179         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
44180         file.  When /proc is not mounted, it always fails with ENOENT.
44181         * tests/test-getloadavg.c (main): Treat ENOENT return code from
44182         getloadavg(3) the same way as ENOSYS and ENOTSUP.
44184 2012-01-10  Bruno Haible  <bruno@clisp.org>
44186         regex: Avoid link error on MSVC 9.
44187         * modules/regex (Depends-on): Add wctype.
44189 2012-01-10  Bruno Haible  <bruno@clisp.org>
44191         doc: Mention --with-tests option.
44192         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
44193         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
44194         --with-tests.
44195         Reported by Reuben Thomas.
44197 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
44199         users.txt: order package names lexicographically.
44200         * users.txt: Order package names lexicographically.
44202 2012-01-10  Jim Meyering  <meyering@redhat.com>
44204         maint.mk: fix description in comment
44205         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
44207         ignore-value: remove deprecated ignore_ptr function
44208         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
44209         * NEWS: Note this.
44211 2012-01-09  Jim Meyering  <meyering@redhat.com>
44213         test-init.sh: avoid a subshell
44214         * tests/test-init.sh: Remove protective subshell.
44215         Suggested by Bernhard Voelker.  While a subshell is normally
44216         required to protect against older shells (Solaris, FreeBSD) that
44217         warn about a missing program before performing redirection, the
44218         shell-selection tests performed by init.sh probably exclude any
44219         offending shell.
44221 2012-01-08  Bruno Haible  <bruno@clisp.org>
44223         setlocale tests: Avoid test failure on Solaris 11.0.
44224         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
44225         variable.
44227 2012-01-08  Bruno Haible  <bruno@clisp.org>
44229         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
44230         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44231         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44232         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
44233         macro.
44234         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
44235         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44236         * lib/spawn_faction_addopen.c: Add workaround implementation if
44237         HAVE_WORKING_POSIX_SPAWN.
44238         * modules/spawn (Makefile): Substitute
44239         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
44240         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
44241         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
44242         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
44243         (Depends-on): Update conditions.
44244         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44245         the Solaris 11 bug.
44247 2012-01-08  Bruno Haible  <bruno@clisp.org>
44249         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
44250         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44251         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44252         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
44253         macro.
44254         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
44255         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44256         * lib/spawn_faction_adddup2.c: Add workaround implementation if
44257         HAVE_WORKING_POSIX_SPAWN.
44258         * modules/spawn (Makefile): Substitute
44259         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
44260         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
44261         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
44262         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
44263         (Depends-on): Update conditions.
44264         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44265         the Solaris 11 bug.
44267 2012-01-08  Bruno Haible  <bruno@clisp.org>
44269         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
44270         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
44271         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44272         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
44273         HAVE_WORKING_POSIX_SPAWN.
44274         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
44275         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
44276         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44277         * lib/spawn_faction_addclose.c: Add workaround implementation if
44278         HAVE_WORKING_POSIX_SPAWN.
44279         * modules/spawn (Makefile): Substitute
44280         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
44281         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
44282         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
44283         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
44284         (Depends-on): Update conditions.
44285         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44286         the Solaris 11 bug.
44288 2012-01-08  Bruno Haible  <bruno@clisp.org>
44290         doc: Update for Solaris 11.0.
44291         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
44292         * m4/printf.m4: Update comments.
44294 2012-01-08  Bruno Haible  <bruno@clisp.org>
44296         mktime: Avoid compilation error on Solaris 11.
44297         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
44299 2012-01-08  Bruno Haible  <bruno@clisp.org>
44301         doc: Small fix.
44302         * doc/posix-headers/nl_types.texi: Correct platforms list.
44304 2012-01-08  Simon Josefsson  <simon@josefsson.org>
44306         Add lgpl-3.0 module.
44307         * MODULES.html.sh (Support for building documentation): Add
44308         lgpl-3.0.
44309         * modules/lgpl-3.0: New file.
44311 2012-01-08  Jim Meyering  <meyering@redhat.com>
44313         select.c: indent with spaces, not TABs
44314         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
44316 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44318         quotearg: do not use grave accent for left quote
44319         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
44320         locale_quoting_style.
44321         (quotearg_buffer_restyled): Fix example.
44322         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
44324 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44326         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
44327         Most programs do not have translation catalogs for English and much
44328         less separate catalogs for British and American English.  Drop the
44329         suggestion to translators about these two, and provide it
44330         automatically for Unicode locales.  Like most programs, even those
44331         using American English, we use single quotation marks.  This conflicts
44332         with the American typographic convention, but works better when you
44333         cite the entire error message within double quotes.  It also tries not
44334         to clash with established practice and with what non-gnulib programs
44335         will usually do.
44336         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
44337         using an UTF-8 or GB-18030 locale.  The list of other locales with
44338         quotes was provided by Bruno Haible.
44339         (quotearg_buffer_restyled): Adjust instructions to translators.
44340         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
44341         text, since this would be wrong when using Unicode.
44342         * modules/quotearg: Depend on c-strcaseeq.
44344 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
44346         quotearg: fix Wikipedia link
44347         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
44349 2012-01-07  Simon Josefsson  <simon@josefsson.org>
44351         Fix for mingw with MSVC9.
44352         * m4/ld-version-script.m4: Check that compiler rejects version
44353         scripts with syntax errors.  Reported by Bruno Haible
44354         <bruno@clisp.org>.
44356 2012-01-06  Bruno Haible  <bruno@clisp.org>
44358         Talk about "native Windows API", not "Woe32".
44359         * lib/accept4.c: Update comments to mention native Windows.
44360         * lib/execute.c: Likewise.
44361         * lib/fatal-signal.c: Likewise.
44362         * lib/localcharset.c: Likewise.
44363         * lib/nanosleep.c: Likewise.
44364         * lib/nl_langinfo.c: Likewise.
44365         * lib/pclose.c: Likewise.
44366         * lib/pipe-filter-gi.c: Likewise.
44367         * lib/pipe-filter-ii.c: Likewise.
44368         * lib/pipe.c: Likewise.
44369         * lib/pipe2.c: Likewise.
44370         * lib/popen.c: Likewise.
44371         * lib/progreloc.c: Likewise.
44372         * lib/relocatable.c: Likewise.
44373         * lib/sigaction.c: Likewise.
44374         * lib/sigprocmask.c: Likewise.
44375         * lib/spawn-pipe.h: Likewise.
44376         * lib/spawn-pipe.c: Likewise.
44377         * lib/spawni.c: Likewise.
44378         * lib/stat-time.h: Likewise.
44379         * lib/w32spawn.h: Likewise.
44380         * tests/test-isatty.c: Likewise.
44381         * lib/config.charset: More comments.
44382         * doc/gnulib-intro.texi: Mention native Windows.
44383         * doc/posix-functions/_Exit_C99.texi: Likewise.
44384         * doc/posix-headers/fcntl.texi: Likewise.
44386 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
44388         argp: Avoid crash if translator uses % characters in a translation.
44389         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
44390         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44392 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
44394         doc: C11 and C++11 are now official
44395         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
44396         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
44397         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
44398         * modules/stdalign:
44399         Replace references to draft C1X to C11, and to draft C++0X to C++11.
44401 2012-01-06  Bruno Haible  <bruno@clisp.org>
44403         uc-is-grapheme-break tests: Tweak.
44404         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
44405         message.
44407 2012-01-06  Bruno Haible  <bruno@clisp.org>
44409         test-init.sh: correct the test for diff -u
44410         * tests/test-init.sh: Also redirect stdout to /dev/null.
44412 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44414         Use ', not `, for quoting output.
44415         * build-aux/announce-gen (usage, sizes, print_news_deltas)
44416         (print_changelog_deltas, get_tool_versions, main program):
44417         * build-aux/git-version-gen:
44418         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
44419         * build-aux/move-if-change (help):
44420         * build-aux/useless-if-before-free (usage, main program):
44421         * check-module (parse_module_file, usage)
44422         (find_included_lib_files, check_module):
44423         * lib/argmatch.c (main) [TEST]:
44424         * lib/argp-help.c (_help):
44425         * lib/getopt1.c (main) [TEST]:
44426         * lib/git-merge-changelog.c (usage):
44427         * lib/xstrtol-error.c (xstrtol_error):
44428         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
44429         * m4/argz.m4 (gl_FUNC_ARGZ):
44430         * m4/bison.m4 (gl_BISON):
44431         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
44432         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
44433         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44434         * m4/fpending.m4 (gl_PREREQ_FPENDING):
44435         * m4/gc-random.m4 (gl_GC_RANDOM):
44436         * m4/intl.m4 (gt_CHECK_DECL):
44437         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
44438         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
44439         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
44440         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
44441         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
44442         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
44443         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
44444         * tests/test-dirname.c (main):
44445         * tests/test-getpass.c (main):
44446         * tests/test-iconvme.c (main):
44447         * tests/test-parse-datetime.c (LOG):
44448         * tests/test-xstrtoimax.sh:
44449         * tests/test-xstrtol.sh:
44450         * tests/test-xstrtoll.sh:
44451         * tests/test-xstrtoumax.sh:
44452         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
44453         * top/GNUmakefile (abort-due-to-no-makefile):
44454         Quote 'like this', not `like this', as per the recent change to
44455         the GNU coding standards.
44457 2012-01-05  Bruno Haible  <bruno@clisp.org>
44459         strtoimax: Don't force a replacement on systems where intmax_t is int.
44460         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
44461         'intmax_t' is not larger than 'int'.
44462         Reported by Pádraig Brady <P@draigBrady.com>.
44464 2012-01-05  Bruno Haible  <bruno@clisp.org>
44466         doc: Mention NetBSD bugs.
44467         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
44468         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
44470 2012-01-05  Bruno Haible  <bruno@clisp.org>
44472         strtoumax tests: Enhance tests.
44473         * tests/test-strtoumax.c (main): Add tests for large values.
44475 2012-01-05  Bruno Haible  <bruno@clisp.org>
44477         strtoimax: Work around AIX 5.1 bug.
44478         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
44479         definition.
44480         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
44481         Set HAVE_STRTOIMAX.
44482         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
44483         REPLACE_STRTOIMAX.
44484         * modules/inttypes-incomplete (Makefile.am): Substitute
44485         REPLACE_STRTOIMAX.
44486         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
44487         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
44488         (Depends-on): Update conditions.
44489         * tests/test-strtoimax.c (main): Add tests for large values.
44490         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
44492 2012-01-05  Bruno Haible  <bruno@clisp.org>
44494         inttypes: Modernize.
44495         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
44496         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
44497         (Makefile.am): Update inttypes.h rule.
44499 2012-01-05  Jim Meyering  <meyering@redhat.com>
44501         init.sh: don't waste a subshell just to redirect stderr
44502         * tests/init.sh: In testing for diff -u and diff -c, use a
44503         stderr-redirecting exec inside `...` rather than a subshell.
44505         test-init.sh: avoid failure on HP-UX 11.00
44506         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
44507         resolves to diff -c or cmp.  Reported by Bruno Haible.
44509 2012-01-05  Bruno Haible  <bruno@clisp.org>
44511         Tests for module 'strtoull'.
44512         * modules/strtoull-tests: New file.
44513         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
44515 2012-01-05  Bruno Haible  <bruno@clisp.org>
44517         Tests for module 'strtoll'.
44518         * modules/strtoll-tests: New file.
44519         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
44521 2012-01-05  Bruno Haible  <bruno@clisp.org>
44523         Tests for module 'strtoul'.
44524         * modules/strtoul-tests: New file.
44525         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
44527 2012-01-05  Bruno Haible  <bruno@clisp.org>
44529         Tests for module 'strtol'.
44530         * modules/strtol-tests: New file.
44531         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
44533 2012-01-04  Jim Meyering  <meyering@redhat.com>
44535         test-init.sh: accommodate Solaris 5.10's different diff -u output
44536         * tests/test-init.sh: Also exempt @@ lines from the comparison
44537         of diff output, since Solaris 5.10 and GNU diff formats differ.
44538         Reported by Stefano Lattarini.
44540 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44542         test-posixtm: don't assume signed integer wraparound
44543         * tests/test-posixtm.c (main): Don't assume wraparound semantics
44544         after signed integer overflow.  Inspired by (though it may not
44545         fix) Bruno Haible's bug report in
44546         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
44548         Spell out "Windows 9x" and "Windows XP".
44549         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
44550         "Windows 9x" and "WinXP" with "Windows XP".
44552 2012-01-04  Jim Meyering  <meyering@redhat.com>
44554         test-vc-list-files-cvs.sh: remove obsolete comment
44555         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
44556         double exit.  Now that's all encapsulated via skip_ and Exit.
44558 2012-01-04  Bruno Haible  <bruno@clisp.org>
44560         Talk about "native Windows API", not "Win32".
44561         * lib/classpath.c: Update comments to mention native Windows.
44562         * lib/csharpexec.c: Likewise.
44563         * lib/dup2.c: Likewise.
44564         * lib/error.c: Likewise.
44565         * lib/fcntl.c: Likewise.
44566         * lib/filename.h: Likewise.
44567         * lib/findprog.c: Likewise.
44568         * lib/get-rusage-as.c: Likewise.
44569         * lib/get-rusage-data.c: Likewise.
44570         * lib/getpagesize.c: Likewise.
44571         * lib/javaexec.c: Likewise.
44572         * lib/msvc-inval.c: Likewise.
44573         * lib/msvc-nothrow.c: Likewise.
44574         * lib/nanosleep.c: Likewise.
44575         * lib/nonblocking.c: Likewise.
44576         * lib/printf-parse.c: Likewise.
44577         * lib/setlocale.c: Likewise.
44578         * lib/sigaction.c: Likewise.
44579         * lib/strerror_r.c: Likewise.
44580         * lib/tmpdir.c: Likewise.
44581         * lib/vasnprintf.c: Likewise.
44582         * lib/w32spawn.h: Likewise.
44583         * lib/waitpid.c: Likewise.
44584         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
44585         * m4/locale-ar.m4: Likewise.
44586         * m4/locale-fr.m4: Likewise.
44587         * m4/locale-ja.m4: Likewise.
44588         * m4/locale-tr.m4: Likewise.
44589         * m4/locale-zh.m4: Likewise.
44590         * m4/printf.m4: Likewise.
44591         * tests/test-cloexec.c: Likewise.
44592         * tests/test-copy-acl.sh: Likewise.
44593         * tests/test-copy-file.sh: Likewise.
44594         * tests/test-file-has-acl.sh: Likewise.
44595         * tests/test-set-mode-acl.sh: Likewise.
44596         * tests/test-dup-safer.c: Likewise.
44597         * tests/test-dup2.c: Likewise.
44598         * tests/test-dup3.c: Likewise.
44599         * tests/test-fcntl.c: Likewise.
44600         * tests/test-nonblocking-pipe.h: Likewise.
44601         * tests/test-nonblocking-socket.h: Likewise.
44602         * tests/test-pipe.c: Likewise.
44603         * tests/test-pipe2.c: Likewise.
44604         * tests/test-spawn-pipe-child.c: Likewise.
44605         * doc/acl-resources.txt: Likewise.
44606         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44607         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
44608         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
44609         * lib/localcharset.c: Update comments to mention native Windows.
44610         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44611         * lib/localename.c: Likewise.
44612         * lib/progreloc.c: Likewise.
44613         * lib/relocatable.c: Likewise.
44614         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44615         (windows_compute_revents): Renamed from win32_compute_revents.
44616         (windows_compute_revents_socket): Renamed from
44617         win32_compute_revents_socket.
44618         * lib/select.c: Update comments to mention native Windows.
44619         (windows_poll_handle): Renamed from win32_poll_handle.
44620         * m4/threadlib.m4: Update comments to mention native Windows.
44621         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
44622         --enable-threads=windows instead of --enable-threads=win32. Set
44623         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
44624         * lib/glthread/lock.h: Update comments to mention native Windows.
44625         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
44626         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
44627         USE_WIN32_THREADS.
44628         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
44629         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
44630         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
44631         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
44632         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
44633         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
44634         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
44635         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
44636         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
44637         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
44638         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
44639         * tests/test-tls.c: Likewise.
44640         Rationale:
44641         Microsoft renamed the "Win32 API" to "Windows API", as it is available
44642         on both 32-bit and 64-bit Windows systems.
44643         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
44644         line of distinction is between "native Windows" on one side and Unix/
44645         POSIX systems on the other side. More details in
44646         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
44647         Suggested by Paul Eggert.
44649 2012-01-03  Bruno Haible  <bruno@clisp.org>
44651         isatty: Support for MSVC 9.
44652         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
44653         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
44654         (_isatty_nothrow): New function.
44655         (isatty): Use it instead of _isatty.
44656         (IsConsoleHandle): Add comment, from Paolo Bonzini.
44657         * lib/poll.c (IsConsoleHandle): Likewise.
44658         * lib/select.c (IsConsoleHandle): Likewise.
44659         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
44660         (gl_PREREQ_ISATTY): New macro.
44661         * modules/isatty (Depends-on): Add msvc-inval.
44662         (configure.ac): Invoke gl_PREREQ_ISATTY.
44664 2012-01-03  Jim Meyering  <meyering@redhat.com>
44666         maint.mk: remove temporary transition aid from over 1.5 years ago
44667         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
44668         purpose was to aid in the transition (avoiding silent malfunction)
44669         from that old name to the new _sc_search_regexp.  This shim was
44670         added by commit 219c504b.
44672         init.sh: do not try to accommodate compare arguments starting with "-"
44673         * tests/init.sh (compare_dev_null_): Do not try to accommodate
44674         compare arguments that start with "-".  Besides, we do not worry
44675         about this when invoking diff or cmp; why start now with sed?
44676         Using "--" to separate options from argument would trigger sed
44677         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
44678         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
44680 2012-01-02  Bruno Haible  <bruno@clisp.org>
44682         Enhance tests for module 'isatty'.
44683         * modules/isatty-tests (Depends-on): Add pipe-posix.
44684         * tests/test-isatty.c: Include <fcntl.h>.
44685         (DEV_NULL): New macro.
44686         (main): Test the resut of isatty() also on regular files, pipes, and
44687         /dev/null.
44689         New module 'isatty'.
44690         * lib/unistd.in.h (isatty): New declaration.
44691         * lib/isatty.c: New file, based on an idea of
44692         Bastien Roucariès <roucaries.bastien@gmail.com>.
44693         * m4/isatty.m4: New file.
44694         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
44695         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
44696         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
44697         REPLACE_ISATTY.
44698         * modules/isatty: New file.
44699         * doc/posix-functions/isatty.texi: Mention the new module.
44700         Suggested by Paolo Bonzini.
44702 2012-01-02  Bruno Haible  <bruno@clisp.org>
44704         canonicalize: Tweak 2011-12-29 commit.
44705         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
44706         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
44708 2012-01-02  Jim Meyering  <meyering@redhat.com>
44710         gitlog-to-changelog: describe input syntax in --help output
44711         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
44713         gitlog-to-changelog: fix typo in --help: show backslash before email @
44714         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
44715         in sources, but not in actual output.
44717 2011-12-30  Jim Meyering  <meyering@redhat.com>
44719         gitlog-to-changelog: don't malfunction when name contains %-directive
44720         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
44721         in a name string cause trouble.  E.g., with a user name of "%s",
44722         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
44724 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
44726         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
44727         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
44728         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
44729         the "  (tiny change)" notation that is appended to the standard
44730         ChangeLog "date  name  email" header line.
44732 2012-01-01  Jim Meyering  <meyering@redhat.com>
44734         test-framework-sh: init.sh: fix "make dist" failure
44735         When using gnulib-tool's --with-tests option and any module that
44736         depends on test-framework-sh, "make dist" would fail due to the
44737         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
44738         in the gltests directory, and not in the gllib/ directory.
44739         One way to work around that is to move the EXTRA_DIST += init.sh
44740         from the primary module to the -tests one:
44741         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
44742         * modules/test-framework-sh (Makefile.am): ...not here.
44743         Reported by Tom G. Christensen in
44744         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
44746         version-etc: update copyright year reported by --version
44747         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
44749 2011-12-31  Pádraig Brady  <P@draigBrady.com>
44751         canonicalize: only stat() if required
44752         * lib/canonicalize.c (canonicalize_filename_mode):
44753         Avoid calling l?stat() when both CAN_MISSING,
44754         and CAN_NOLINKS are set, as we neither need
44755         to resolve symlinks or test component existence.
44757 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
44759         doc: cover st_ino issues once; add OpenVMS etc.
44760         * doc/posix-functions/stat.texi (stat):
44761         * doc/posix-functions/lstat.texi (lstat):
44762         * doc/posix-functions/fstatat.texi (fstatat):
44763         * doc/posix-functions/fstat.texi (fstat):
44764         Move general 'struct stat' stuff to sys_stat.texi,
44765         leaving behind a pointer.
44766         * doc/posix-headers/sys_stat.texi (sys/stat.h):
44767         Merge duplicate info about 'struct stat' problems into here.
44768         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
44769         and suggest partial workarounds.
44771         same-inode: port to OpenVMS
44772         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
44773         three st_ino values.
44775 2011-12-30  Pádraig Brady  <P@draigBrady.com>
44777         canonicalize: fix references to stat() and lstat()
44778         * lib/canonicalize.c (canonicalize_filename_mode):
44779         Ensure references always resolve to a replacement
44780         function if required (even via a macro).
44782 2011-12-30  Jim Meyering  <meyering@redhat.com>
44784         gitlog-to-changelog: remove a little duplication
44785         * build-aux/gitlog-to-changelog (main): Grep @lines once,
44786         rather than twice.
44788 2011-12-29  Pádraig Brady  <P@draigBrady.com>
44790         canonicalize: add support for not resolving symlinks
44791         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
44792         indicate we don't want to follow symlinks.  Also
44793         provide CAN_MODE_MASK to aid setting these existing
44794         mutually exclusive values.
44795         * lib/canonicalize.c (canonicalize_filename_mode):
44796         Extract the flags from can_mode parameter, which
44797         are currently just used to select between stat()
44798         and lstat().  Also ensure that mutually exclusive
44799         values are flagged immediately as invalid.
44800         * tests/test-canonicalize.c: Verify symlinks are
44801         not followed, and that invalid flag combinations
44802         are diagnosed.
44804 2011-12-25  Jim Meyering  <meyering@redhat.com>
44806         gitlog-to-changelog: do not clump multi-paragraph entries
44807         Identical header lines (date,name,email+coauthors) are suppressed,
44808         thus putting all entries with those same characteristics under
44809         a single header.  However, when a log entry consists of two or
44810         more paragraphs, it may not be clear where it starts and ends.
44811         This change makes it so that such an entry is always separated
44812         from others by a header line, even when that header would
44813         otherwise be suppressed.
44814         * build-aux/gitlog-to-changelog: Implement the above.
44815         Inspired by a related request from Stefano Lattarini in
44816         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
44818 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44820         announce-gen: fix `cmd' typo in diagnostic
44821         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
44822         diagnostic: a missing '$' meant that the command was not output.
44824 2011-12-23  Jim Meyering  <meyering@redhat.com>
44826         test-framework-sh: distribute init.sh
44827         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
44828         Otherwise, "make -C gnulib-tests check" (at least in grep) would
44829         fail due to the lack of init.sh.
44831         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
44832         * modules/atexit-tests: Rather than listing tests/init.sh,
44833         now that there's a module for it, simply depend on that new module.
44834         * modules/closein-tests: Likewise.
44835         * modules/exclude-tests: Likewise.
44836         * modules/getcwd-tests: Likewise.
44837         * modules/perror-tests: Likewise.
44838         * modules/pread-tests: Likewise.
44839         * modules/pwrite-tests: Likewise.
44840         * modules/vc-list-files-tests: Likewise.
44841         * modules/verify-tests: Likewise.
44842         * modules/xalloc-die-tests: Likewise.
44843         * modules/xstrtoimax-tests: Likewise.
44844         * modules/xstrtol-tests: Likewise.
44845         * modules/xstrtoll-tests: Likewise.
44846         * modules/xstrtoumax-tests: Likewise.
44847         * modules/yesno-tests: Likewise.
44849 2011-12-22  Jim Meyering  <meyering@redhat.com>
44851         test-framework-sh: add minimal tests of init.sh's compare function
44852         * modules/test-framework-sh-tests: New file.
44853         * tests/test-init.sh: New file.
44855         test-framework-sh: new module
44856         * modules/test-framework-sh: New file.
44857         * MODULES.html.sh (Support for maintaining and releasing projects):
44858         List it.
44860         init.sh: do not emit simulated diff output to stderr
44861         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
44863 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
44865         .gitignore: ignore gnulib.dvi and regex.info
44866         * doc/.gitignore:add gnulib.dvi and regex.info
44868 2011-12-22  Jim Meyering  <meyering@redhat.com>
44870         init.sh: correct previous change
44871         * tests/init.sh (compare): My previous change was wrong.
44872         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
44874         init.sh: avoid unwarranted test failure when using "set -e"
44875         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
44876         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
44877         a use like "compare exp out" would get evoke an unconditional failure.
44879 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
44881         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
44882         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
44883         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
44884         autoreconf that did not.
44885         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
44886         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44888 2011-12-17  Jim Meyering  <meyering@redhat.com>
44890         bootstrap: remove some now-unneeded code
44891         This script arose back when gnulib-tool was young.
44892         Since then, it has seen improvements that render much of this
44893         script unnecessary.  In particular, it can now make symlinks
44894         to the files it uses.  Also, I no longer see as much value in
44895         marking files as read-only via comments.
44896         If you relied on the symlink-creation feature of the preceding
44897         version of this script, you can get most of that functionality
44898         by adding the --symlink option to the definition of
44899         gnulib_tool_option_extras in your bootstrap.conf file.
44900         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
44901         Run autopoint and libtoolize *before* gnulib-tool.
44902         After it, run an abbreviated autoreconf, rather than a loop around
44903         all tools.
44904         (slirp, bt_mark_as_generated): Remove functions.
44906 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44908         ftoastr: fix typo
44909         * lib/ftoastr.h: Fix misspelling in comment.
44911 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
44913         * top/README-release: fix punctuation.
44915 2011-12-17  Jim Meyering  <meyering@redhat.com>
44917         bootstrap: correct the recent buildreq change
44918         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
44919         had no effect.
44920         * build-aux/bootstrap (buildreq): Bracket each search term with
44921         "*...*", so that the shell "case" statement works as intended.
44922         Add comments.
44924 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
44926         build: let bootstrap resort to wget when downloading .po files
44927         * build-aux/bootstrap (download_po_files): Fallback to wget when
44928         downloading the .po files via rsync fails.  This is necessary to
44929         bootstrap from behind a strict firewall.
44931 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44933         stdint: don't assume C++11 when compiling with g++
44934         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
44935         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
44936         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
44937         work also in C++ before C++11, as that improperly inhibits
44938         generating a substitute stdint.h for that case.
44940 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44942         alloca: protect comment from gnulib-tool
44943         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
44944         that gnulib-tool doesn't think it's a license, and munge it to
44945         say "GCC version 3".
44947 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
44949         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
44950         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
44951         $(abs_top_builddir) instead of $(top_builddir).
44953 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
44955         strftime-tests: also test nanoseconds
44956         * tests/test-strftime.c (T): Add a test of %N.
44958 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
44960         inttypes, stdint: add C++11 support
44961         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
44962         when including inttypes.h and stdint.h.  Support this change to
44963         the standard.
44964         * doc/posix-headers/inttypes.texi (inttypes.h):
44965         * doc/posix-headers/stdint.texi (stdint.h): Document this.
44966         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
44967         Define if not defined already, for the benefit of pre-C++11 hosts.
44968         Define the standard format macros (e.g., PRId8) always.
44969         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
44970         Likewise, if __cpluspus.  Define the standard constant and limit
44971         macros (e.g., INT8_C, INT8_MAX) always.
44972         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
44973         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
44974         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
44975         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
44976         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
44977         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
44978         Likewise.
44980 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
44982         nonblocking tests: Fix test failure on Linux/PPC.
44983         Suggested by Prerna Saxena in
44984         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
44985         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
44986         Set to 1100000.
44988 2011-12-12  Jim Meyering  <meyering@redhat.com>
44990         argmatch: don't hard-code `' when listing valid option arguments
44991         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
44992         use the quote function to add quotes.  Use fputs rather than
44993         fprintf for the format string with no format directive.
44995 2011-12-07  Eric Blake  <eblake@redhat.com>
44997         bootstrap: detect tools required by gnulib-tool
44998         * build-aux/bootstrap (buildreq): Provide minimum implicit
44999         dependencies.
45000         * DEPENDENCIES: Mention patch as a prereq.
45002 2011-12-04  Bruno Haible  <bruno@clisp.org>
45004         sethostname: Port to Windows platforms.
45005         * lib/sethostname.c: Provide an alternate implementation for Windows
45006         platforms.
45007         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
45008         (main): Skip the test if sethostname() fails with EPERM. On Windows
45009         platforms, don't check the result of gethostname().
45011 2011-12-04  Bruno Haible  <bruno@clisp.org>
45012             Jim Meyering  <meyering@redhat.com>
45014         tests: Avoid spurious error message on platforms without mktemp program.
45015         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
45017 2011-12-04  Bruno Haible  <bruno@clisp.org>
45019         sethostname: Fix documentation.
45020         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
45021         "not fixed" section.
45023 2011-12-03  Bruno Haible  <bruno@clisp.org>
45025         gnulib-tool: Verify that the License field is present and non-empty.
45026         * gnulib-tool (func_get_license_raw): New function, extracted from
45027         func_get_license.
45028         (func_get_license): Use it. Warn if the module is not a test module and
45029         has no license.
45030         Suggested by Jim Meyering.
45032 2011-12-03  Bruno Haible  <bruno@clisp.org>
45034         sethostname tests: Fix link error on mingw.
45035         * tests/test-sethostname1.c: New file, extracted from
45036         tests/test-sethostname.c.
45037         * tests/test-sethostname2.c: New file, extracted from
45038         tests/test-sethostname.c.
45039         * tests/test-sethostname.c: Remove file.
45040         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
45041         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
45042         (Depends-on): Add gethostname.
45043         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
45044         Link the latter with $(GETHOSTNAME_LIB).
45046         sethostname tests: Fix compilation error on mingw.
45047         * tests/test-sethostname.c: Don't include <sys/types.h>.
45048         (geteuid): Use a dummy value without uid_t.
45049         * modules/sethostname-tests (Depends-on): Remove sys_types.
45051         sethostname tests: Avoid a gcc warning.
45052         * tests/test-sethostname.c (main): Remove an unused variable.
45054         Tweak last commit.
45055         * modules/sethostname-tests (Files): Sort by decreasing importance.
45056         (configure.ac): Check for geteuid.
45057         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
45058         the test when there's nothing to test. Drop an unnecessary cast.
45059         Improve an error message. Verify that the final sethostname() call
45060         succeeds.
45062 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45064         Add a test suite for the sethostname module.
45065         * modules/sethostname-tests: New file.  A test program
45066         for the sethostname module.
45067         * tests/test-sethostname.c: Likewise.
45069 2011-12-03  Bruno Haible  <bruno@clisp.org>
45071         Tweak last commit.
45072         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
45073         Fix preprocessor directives indentation. Fix typos.
45074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
45075         * modules/unistd (Makefile): Likewise.
45077 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45079         Integrate the sethostname module into unistd.
45080         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
45081         into the unistd.h header.
45082         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
45083         preprocessor directives.
45084         * modules/unistd: Setup the Makefile substitutions of the
45085         SETHOSTNAME preprocessor directives.
45087 2011-12-03  Bruno Haible  <bruno@clisp.org>
45089         Tweak last commit.
45090         * lib/sethostname.c: Don't include <string.h>.
45091         (sethostname): No need to copy the argument string to the stack. Don't
45092         call clearerr. Preserve errno when fprintf failed.
45093         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
45094         Don't invoke AC_REPLACE_FUNCS.
45095         * modules/sethostname (Link): Remove empty section.
45096         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
45097         failure problem.
45099 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45101         New module 'sethostname'.
45102         * lib/sethostname.c (sethostname): New file.  Provide sethostname
45103         for systems that lack it.
45104         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
45105         sethostname declaration and function.
45106         * modules/sethostname: New file.  Define the sethostname module.
45108 2011-12-03  Bruno Haible  <bruno@clisp.org>
45110         Tweak last commit.
45111         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
45113 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
45115         Split the HOST_NAME_MAX detection into a separate m4 macro.
45116         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
45117         macro so it can be used by the pending sethostname module.
45119 2011-12-03  Bruno Haible  <bruno@clisp.org>
45121         Fix module descriptions syntax.
45122         * modules/argv-iter (License): Fix syntax.
45123         * modules/di-set (License): Likewise.
45124         * modules/ino-map (License): Likewise.
45125         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
45127 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45129         stdalign: port to Clang 3.0
45130         Problem reported by Simon Josefsson in
45131         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
45132         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
45133         which has <stdalign.h> but which does not define alignof.
45134         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
45136 2011-12-01  Eric Blake  <eblake@redhat.com>
45138         mktempd: silence dd usage
45139         * build-aux/mktempd (rand_bytes): Silence dd.
45141 2011-11-30  Simon Josefsson  <simon@josefsson.org>
45143         manywarnings: Don't mention gcc version in docstring.
45144         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
45145         Jim Meyering <meyering@redhat.com>.
45147 2011-11-30  Jim Meyering  <meyering@redhat.com>
45149         hash: mark a few floating point constants with "f" suffix
45150         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
45151         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
45152         floating point constants with "f", since they're destined to be
45153         saved/used as "float"s.
45155 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
45157         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
45158         * tests/test-float.c (test_long_double): Correct and re-enable the
45159         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
45161 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
45163         Avoid subtracting two pointers that don't point into the same block.
45164         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
45165         only pointers into the same memory block are subtracted. We cannot
45166         assume that sizeof (ptrdiff_t) == sizeof (void *).
45168 2011-11-29  Eric Blake  <eblake@redhat.com>
45170         maint.mk: add syntax check for use of compare from init.sh
45171         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
45172         moved here from coreutils.
45174         manywarnings: drop -Wunsuffixed-float-constants
45175         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
45176         '1.0D', which is the only way to silence this warning for 'double'.
45178 2011-11-29  Jim Meyering  <meyering@redhat.com>
45180         hash: mark compute_bucket_size with the pure attribute
45181         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
45183         quotearg, propername: correct pragma guard expression
45184         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
45185         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
45187 2011-11-28  Jim Meyering  <meyering@redhat.com>
45189         propername: do not mark proper_name with the const attribute
45190         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
45191         since it examines data pointed to by its parameter.
45192         * lib/propername.c (proper_name): Instead, add a pragma to suppress
45193         the suggestion from -Wsuggest-attribute=const.
45195         propername: mark one more function as const
45196         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
45198 2011-11-27  Jim Meyering  <meyering@redhat.com>
45200         mark functions with const and pure attributes
45202         Mark functions per suggestions from gcc-4.6 when using these options:
45203         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
45204         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
45205         Follow these guidelines: when possible, apply the attribute to
45206         an extern declaration, not to its definition.  Apply it to the
45207         definition only when the definition is static.
45208         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
45209         * lib/argv-iter.h (argv_iter_n_args): Likewise.
45210         * lib/base64.h (isbase64): Likewise.
45211         * lib/basename-lgpl.c (last_component, base_len): Likewise.
45212         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
45213         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
45214         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
45215         (c_tolower, c_toupper): Likewise.
45216         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
45217         * lib/chdir-long.c (find_non_slash): Likewise.
45218         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
45219         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
45220         * lib/file-type.h (file_type): Likewise.
45221         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
45222         * lib/filevercmp.c (verrevcmp): Likewise.
45223         * lib/freadahead.h (freadahead): Likewise.
45224         * lib/fts.c (fts_maxarglen): Likewise.
45225         * lib/hash-pjw.h (hash_pjw): Likewise.
45226         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
45227         * lib/hash.c (is_prime, next_prime): Likewise.
45228         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
45229         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
45230         (hash_table_ok, hash_get_first, hash_string): Likewise.
45231         (compute_bucket_size): Likewise.
45232         * lib/i-ring.h (i_ring_empty): Likewise.
45233         * lib/isnan.c (isnanl): Likewise.
45234         * lib/math.h (isnanl, rpl_isnanl): Likewise.
45235         * lib/memcasecmp.h (memcasecmp): Likewise.
45236         * lib/memchr2.h (memchr2): Likewise.
45237         * lib/memcmp2.h (memcmp2): Likewise.
45238         * lib/parse-datetime.y (lookup_zone): Likewise.
45239         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
45240         [!WINDOWS_SOCKETS]: Likewise.
45241         * lib/strnlen1.h (strnlen1): Likewise.
45242         * lib/uniwidth.in.h (uc_width): Likewise.
45243         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
45244         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
45245         (quoting_options_from_style): Add a comment.
45246         * lib/propername.h (proper_name): Add a comment.
45248 2011-11-27  Bruno Haible  <bruno@clisp.org>
45250         Remove unused macros from !_LIBC code in glibc-borrowed files.
45251         * lib/fnmatch.c (STRCOLL): Remove macro.
45252         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
45253         * lib/glob.c (__stat, __readdir64): Remove macros.
45254         * lib/tempname.c (__open64, __xstat64): Remove macros.
45255         Suggested by Paul Eggert.
45257 2011-11-27  Bruno Haible  <bruno@clisp.org>
45259         getcwd: Fix link error on MSVC 9.
45260         * modules/getcwd (Depends-on): Add readdir, rewinddir.
45262 2011-11-27  Bruno Haible  <bruno@clisp.org>
45264         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
45265         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
45266         HAVE_OPENDIR is 0.
45267         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
45268         HAVE_CLOSEDIR is 0.
45269         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
45270         is 0.
45271         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
45273 2011-11-27  Bruno Haible  <bruno@clisp.org>
45275         getcwd: Fix bug from 2011-08-17.
45276         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
45277         platforms that need it.
45278         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
45279         code of 4 to be a failure, not a success. This ensures that
45280         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
45282 2011-11-27  Bruno Haible  <bruno@clisp.org>
45284         binary-io tests: Avoid test failure on mingw when libtool is used.
45285         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
45286         Don't verify the size of t-bin-out1.tmp here.
45287         * tests/test-binary-io.sh: Verify it here.
45288         Reported by Simon Josefsson.
45290 2011-11-26  Bruno Haible  <bruno@clisp.org>
45292         Fix conflict between two instantiations of module 'unistd'.
45293         * gnulib-tool (func_emit_autoconf_snippet): Substitute
45294         ${include_guard_prefix} also in the autoconf snippet.
45295         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
45296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
45297         GNULIB_UNISTD_H_GETOPT.
45298         * modules/getopt-posix (configure.ac): Set the
45299         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
45300         * modules/getopt-gnu (configure.ac): Likewise.
45301         * modules/unistd (Makefile.am): Change the substitution value of
45302         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
45303         Reported by Simon Josefsson.
45305 2011-11-25  Bruno Haible  <bruno@clisp.org>
45307         pagealign_alloc: Doc and comments.
45308         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
45309         module.
45310         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
45312 2011-11-25  Jim Meyering  <meyering@redhat.com>
45314         test-update-copyright.sh: avoid false-positive failure
45315         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
45316         around false positive failure on Cygwin/Windows.  The latter was
45317         matching erroneously-created files with names like
45318         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
45320 2011-11-25  Simon Josefsson  <simon@josefsson.org>
45322         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
45323         * m4/valgrind-tests.m4: Check that the parameters that will be
45324         used works, not just a subset of them.  Reported by Bruno Haible
45325         <bruno@clisp.org>.
45327 2011-11-24  Jim Meyering  <meyering@redhat.com>
45329         test-stdalign.c: comment out long double tests
45330         * tests/test-stdalign.c: Don't try to reduce alignment of long double
45331         variables.  That provokes errors like this from gcc-4.7.0 20111124:
45332         error: '_Alignas' specifiers cannot reduce alignment of \
45333         'static_longdouble_alignas'.
45335 2011-11-22  Jim Meyering  <meyering@redhat.com>
45337         init.sh: make "compare /dev/null FILE" output more readable
45338         * tests/init.sh (compare_): Document the preferred order of arguments.
45339         (emit_diff_u_header_): New function.
45340         (compare_dev_null_): Emit a simulated diff, rather than just the
45341         contents of the unexpected file.  Suggestion from Bruno Haible.
45343 2011-11-21  Jim Meyering  <meyering@redhat.com>
45344             Eric Blake  <eblake@redhat.com>
45346         init.sh: work around OSF/1 5.1's mishandling of /dev/null
45347         * tests/init.sh: Make our compare function slightly more portable.
45348         Reported by Bruno Haible in
45349         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
45351 2011-11-21  Simon Josefsson  <simon@josefsson.org>
45353         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
45354         before using it, in code that ends up in config.h.
45356 2011-11-20  Bruno Haible  <bruno@clisp.org>
45358         getcwd: Work around getcwd bug on AIX 5..7.
45359         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
45360         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
45361         Use a different value for gl_cv_func_getcwd_path_max. Move the
45362         definition of HAVE_PARTLY_WORKING_GETCWD from here...
45363         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
45364         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
45365         Define HAVE_MINIMALLY_WORKING_GETCWD.
45366         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
45367         where it is not even minimally working, that is, on AIX.
45368         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
45369         m4/getcwd-path-max.m4.
45370         (main): Update exit code computation.
45371         * doc/posix-functions/getcwd.texi: Mention list of platforms where
45372         getcwd does not handle long file names.
45374 2011-11-20  Bruno Haible  <bruno@clisp.org>
45376         getcwd: Fix bug from 2009-09-10.
45377         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
45378         like "no".
45380 2011-11-20  Simon Josefsson  <simon@josefsson.org>
45382         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
45384 2011-11-20  Bruno Haible  <bruno@clisp.org>
45386         fma tests: Avoid shadowing local variables.
45387         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
45388         expected.
45390 2011-11-20  Bruno Haible  <bruno@clisp.org>
45392         copysignf tests: Fix.
45393         * tests/test-copysignf.c: Fix signature check.
45395 2011-11-20  Bruno Haible  <bruno@clisp.org>
45397         fma: Remove unused code.
45398         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
45399         unused macros.
45401 2011-11-20  Bruno Haible  <bruno@clisp.org>
45403         sethostname: Fix doc about AIX.
45404         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
45405         sethostname; it has it.
45407         sethostname: Mention more portability problems.
45408         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
45409         problem.
45410         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
45412 2011-11-19  Bruno Haible  <bruno@clisp.org>
45414         Depend on module fcntl-h when AT_FDCWD is used.
45415         * modules/utimens (Depends-on): Add fcntl-h.
45416         * modules/areadlinkat (Depends-on): Likewise.
45417         * modules/areadlinkat-with-size (Depends-on): Likewise.
45418         * modules/faccessat (Depends-on): Likewise.
45419         * modules/fchmodat (Depends-on): Likewise.
45420         * modules/fchownat (Depends-on): Likewise.
45421         * modules/getcwd (Depends-on): Likewise.
45422         * modules/mkdirat (Depends-on): Likewise.
45423         * modules/mkfifoat (Depends-on): Likewise.
45424         * modules/readlinkat (Depends-on): Likewise.
45425         * modules/symlinkat (Depends-on): Likewise.
45426         * modules/dup2-tests (Depends-on): Likewise.
45427         * modules/fdutimensat-tests (Depends-on): Likewise.
45428         * modules/futimens-tests (Depends-on): Likewise.
45430 2011-11-19  Bruno Haible  <bruno@clisp.org>
45432         euidaccess: Update a comment.
45433         * lib/euidaccess.c: Update comment about platforms with faccessat.
45435 2011-11-19  Bruno Haible  <bruno@clisp.org>
45437         openat: Fix file list.
45438         * modules/openat (Files): Remove lib/at-func.c.
45440 2011-11-19  Bruno Haible  <bruno@clisp.org>
45442         fstatat: Simplify.
45443         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
45444         gnulib should define rpl_fstatat, there is a
45445         "#define fstatat rpl_fstatat" in <sys/stat.h>.
45447 2011-11-19  Bruno Haible  <bruno@clisp.org>
45449         Ensure 'inline' can be used in tests/test-utimens-common.h.
45450         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
45451         * modules/futimens-tests (configure.ac): Likewise.
45452         * modules/utimens-tests (configure.ac): Likewise.
45453         * modules/utimensat-tests (configure.ac): Likewise.
45455 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45457         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
45458         not hash_insert0.
45459         (hash_insert_if_absent): Doc fix.
45461 2011-11-19  Simon Josefsson  <simon@josefsson.org>
45463         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
45465 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45467         test-getcwd: disambiguate exit status
45468         * tests/test-getcwd.c (test_long_name): Return 0..7.
45469         (main): Exit with an unambiguous exit status.  The old
45470         code yielded a mysterious mixture of two failure codes.
45472         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
45473         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
45474         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
45475         rpl_fstatat or fstatat.  This should fix the other problem
45476         reported by Kai Habel in
45477         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45478         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
45479         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
45480         and I reproduced it on a Solaris 8 host we still have in production.
45482 2011-11-18  Jim Meyering  <meyering@redhat.com>
45484         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
45485         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
45486         Add a sentence to the comment.
45487         (hash_insert0): New function that simply calls hash_insert_if_absent.
45488         * lib/hash.h (hash_insert_if_absent): Declare it.
45489         (hash_insert0): Add deprecation attribute.
45490         (_GL_ATTRIBUTE_DEPRECATED): Define.
45491         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
45492         not hash_insert0.
45493         * NEWS: Mention it, even though it's not really an incompatible change.
45495 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
45497         openat: avoid compilation failure due to lack of <errno.h> inclusion
45498         * lib/openat.c: Include <errno.h>.
45500 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45502         * modules/getcwd (Depends-on): Add fdopendir.
45503         This fixes one of the two problems reported by Kai Habel in
45504         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
45506         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
45507         stdalign problem reported by Ian Beckwith in
45508         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
45509         * modules/crypto/gc-arcfour (Depends-on):
45510         Depend conditionally on crypto/arcfour.
45511         * modules/crypto/gc-arctwo (Depends-on):
45512         Depend conditionally on crypto/arctwo.
45513         * modules/crypto/gc-des (Depends-on):
45514         Depend conditionally on crypto/des.
45515         * modules/crypto/gc-hmac-md5 (Depends-on):
45516         Depend conditionally on crypto/hmac-md5.
45517         * modules/crypto/gc-hmac-sha1 (Depends-on):
45518         Depend conditionally on crypto/hmac-sha1.
45519         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
45520         * modules/crypto/gc-md4 (Depends-on):
45521         Depend conditionally on crypto/md4.
45522         * modules/crypto/gc-md5 (Depends-on):
45523         Depend conditionally on crypto/md5.
45524         * modules/crypto/gc-rijndael (Depends-on):
45525         Depend conditionally on crypto/rijndael.
45526         * modules/crypto/gc-sha1 (Depends-on):
45527         Depend conditionally on crypto/sha1.
45528         * modules/crypto/gc-arcfour:
45529         * modules/crypto/gc-arctwo:
45530         * modules/crypto/gc-des:
45531         * modules/crypto/gc-hmac-md5:
45532         * modules/crypto/gc-hmac-sha1:
45533         * modules/crypto/gc-md2:
45534         * modules/crypto/gc-md4:
45535         * modules/crypto/gc-md5:
45536         * modules/crypto/gc-rijndael:
45537         * modules/crypto/gc-sha1:
45538         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
45539         now that the conditional dependencies do the work for us.
45541 2011-11-17  Jim Meyering  <meyering@redhat.com>
45543         tests: factor st_ctime-comparison out of two headers
45544         * tests/test-utimens-common.h (ctime_compare): Define.
45545         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
45546         * tests/test-lutimens.h (test_lutimens): Likewise.
45547         * tests/test-utimens.h (test_utimens): Likewise.
45549         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
45550         Invoke the test program via an init.sh-using wrapper.
45551         * tests/test-getcwd.sh: New file.
45552         * modules/getcwd-tests (Files): Add it.
45553         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
45555 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
45557         gitlog-to-changelog: support multi-author commits.
45558         The FSF cares about keeping track of all authors of patches to its
45559         projects, but Git doesn't provide obvious support for multi-author
45560         changesets. Consensus seems to be forming around the use of extra
45561         Signed-off-by inspired lines in the log message formatted as
45562         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
45563         multi-author commits between version control systems.
45564         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
45565         log message and output in standard ChangeLog multi-author format.
45566         Reported by Peter Rosin <peda@lysator.liu.se>
45568 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
45569             Bruno Haible  <bruno@clisp.org>
45571         Fix some modules' file list.
45572         * modules/fstatat (Files): Add m4/lstat.m4.
45573         * modules/openat (Files): Likewise.
45574         * modules/unlinkat (Files): Likewise.
45576 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
45578         maint.mk: fix tight-scope.mk generation in VPATH builds.
45579         * top/maint.mk (tight-scope.mk): Make sure to prefix file
45580         reference with $(srcdir) so that the file is found correctly even
45581         when running `make syntax-check' in a VPATH build.
45583 2011-11-13  Bruno Haible  <bruno@clisp.org>
45584             Jim Meyering  <meyering@redhat.com>
45586         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
45587         * tests/init.sh (compare): Remove "No differences encountered" or
45588         synonymous output from the 'diff' program.
45590 2011-11-13  Bruno Haible  <bruno@clisp.org>
45592         Makefile: Tweak indentation.
45593         * Makefile: Use tab as first character in every line that contains rule
45594         commands.
45596 2011-11-13  Bruno Haible  <bruno@clisp.org>
45598         Syntax check for copyright statements.
45599         * check-copyright: New file.
45600         * Makefile (sc_check_copyright): New rule.
45602 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45604         * build-aux/git-version-gen: Add --prefix to configure the tag
45605         match string.
45607 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45609         * build-aux/git-version-gen: Add --help and --version.
45611 2011-11-12  Jim Meyering  <meyering@redhat.com>
45613         revamp the other test-exclude?.sh scripts to use init.sh, too
45614         * tests/test-exclude1.sh: Use init.sh.
45615         * tests/test-exclude2.sh: Likewise.
45616         * tests/test-exclude3.sh: Likewise.
45617         * tests/test-exclude4.sh: Likewise.
45618         * tests/test-exclude5.sh: Likewise.
45619         * tests/test-exclude6.sh: Likewise.
45620         * tests/test-exclude7.sh: Likewise.
45621         * tests/test-exclude8.sh: Likewise.
45622         * modules/exclude-tests (Files): List init.sh.
45624         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
45625         These shell scripts ignored failure of the binary test-exclude,
45626         so making the latter return 77 didn't cause them to be skipped.
45627         * tests/test-exclude5.sh: Exit with test-exclude's error status
45628         when that program fails.  Revamp to use init.sh.
45629         * tests/test-exclude2.sh: Likewise.
45631         test-exclude: fix a typo
45632         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
45634 2011-11-11  Bruno Haible  <bruno@clisp.org>
45636         obstack: Fix compilation error on MSVC 9.
45637         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
45639 2011-11-11  Jim Meyering  <meyering@redhat.com>
45641         test-exclude: skip tests rather than failing on deficient systems
45642         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
45643         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
45644         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
45645         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
45647 2011-11-10  Bruno Haible  <bruno@clisp.org>
45649         ptsname_r test: Avoid gcc warning on glibc systems.
45650         * tests/test-ptsname_r.c (null_ptr): New function.
45651         (test_errors): Use it.
45653 2011-11-10  Bruno Haible  <bruno@clisp.org>
45655         ptsname_r: Avoid compilation error on OSF/1 5.1.
45656         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
45657         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
45658         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
45659         function is not declared or incompatibly declared.
45660         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
45661         * modules/ptsname_r (Depends-on, configure.ac): Update.
45662         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
45664 2011-11-10  Bruno Haible  <bruno@clisp.org>
45666         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
45667         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
45668         When cross-compiling, guess yes on all platforms except AIX.
45669         Reported by Ludovic Courtès <ludo@gnu.org>.
45671 2011-11-09  Bruno Haible  <bruno@clisp.org>
45673         ptsname_r tests: Fix bugs.
45674         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
45675         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
45677 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45679         fstatat: work with cross-compilation
45680         Problem reported by Ludovic Courtès in
45681         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
45682         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
45683         "cross-compiling" and assume the bug is present.  Replace
45684         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
45685         an inverted sense, to be more conservative about our assumptions.
45686         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
45688 2011-11-09  Bruno Haible  <bruno@clisp.org>
45690         Improve MODULES.html output.
45691         * modules/mkfifoat (Description): Use the word "function".
45692         * modules/readlinkat (Description): Likewise.
45693         * modules/symlinkat (Description): Likewise.
45695 2011-11-09  Eric Blake  <eblake@redhat.com>
45697         ptsname_r-tests: new test module
45698         * modules/ptsname_r-tests: New module.
45699         * tests/test-ptsname_r.c: New file.
45701         ptsname_r: new module
45702         * modules/ptsname_r: New module.
45703         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
45704         * lib/ptsname.c (__ptsname_r): Split...
45705         * lib/ptsname_r.c: ...into new file.
45706         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45707         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
45708         * modules/stdlib (Makefile.am): Substitute witnesses.
45709         * lib/stdlib.in.h (ptsname_r): Declare it.
45710         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
45711         * MODULES.html.sh (Misc): Likewise.
45712         * modules/ptsname (Depends-on): Alter dependency.
45713         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
45715 2011-11-09  Jim Meyering  <meyering@redhat.com>
45717         announce-gen: be more concise when there's only one URL+tarball
45718         * build-aux/announce-gen (get_tool_versions): When you distribute
45719         only one type of tarball, combine the first two "Here are..."
45720         sections and make the key-checking grammar independent of
45721         how many tarballs there are.
45723 2011-11-09  Eric Blake  <eblake@redhat.com>
45725         openpty: provide a stub on mingw
45726         * lib/pty.in.h (includes): Provide forward declarations.
45727         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
45729         raise: fix mingw handling of SIGPIPE
45730         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
45732 2011-11-08  Bruno Haible  <bruno@clisp.org>
45734         More conditional dependencies.
45735         * modules/faccessat (Depends-on): Add conditions.
45736         * modules/fchmodat (Depends-on): Likewise.
45737         * modules/fchownat (Depends-on): Likewise.
45738         * modules/fstatat (Depends-on): Likewise.
45739         * modules/mkfifoat (Depends-on): Likewise.
45740         * modules/readlinkat (Depends-on): Likewise.
45741         * modules/symlinkat (Depends-on): Likewise.
45742         * modules/unlinkat (Depends-on): Likewise.
45743         * modules/utimensat (Depends-on): Likewise.
45744         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
45745         * modules/linkat (Depends-on): Refine the conditions.
45746         * modules/renameat (Depends-on): Likewise.
45748 2011-11-08  Bruno Haible  <bruno@clisp.org>
45750         faccessat: Move AC_LIBOBJ invocation to module description.
45751         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
45752         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
45753         invocation from here...
45754         * modules/faccessat (configure.ac): ... to here. Invoke
45755         gl_PREREQ_FACCESSAT.
45757 2011-11-08  Bruno Haible  <bruno@clisp.org>
45759         faccessat: Simplify autoconf macro.
45760         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
45761         gl_FUNC_EUIDACCESS.
45763 2011-11-08  Bruno Haible  <bruno@clisp.org>
45765         renameat: Fix dependencies.
45766         * modules/renameat (Depends-on): Add stdbool.
45768 2011-11-08  Bruno Haible  <bruno@clisp.org>
45770         mkfifoat: Fix module description.
45771         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
45772         not gl_UNISTD_MODULE_INDICATOR.
45774 2011-11-08  Bruno Haible  <bruno@clisp.org>
45776         fstatat: Remove unused dependency.
45777         * modules/fstatat (Depends-on): Remove fstat.
45779 2011-11-08  Simon Josefsson  <simon@josefsson.org>
45781         GNUmakefile: behave when Makefile is missing.
45782         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
45784 2011-11-08  Bruno Haible  <bruno@clisp.org>
45786         openat: Conditionalize dependencies.
45787         * lib/openat.c: Reduce the scope of some #includes.
45788         * modules/openat (Depends-on): Add conditions.
45790 2011-11-07  Jim Meyering  <meyering@redhat.com>
45792         maint.mk: extract GPG key ID without using a temporary file
45793         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
45794         without using a temporary file.  Based on a suggestion from Werner Koch
45795         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
45797 2011-11-07  Eric Blake  <eblake@redhat.com>
45799         grantpt: fix typo
45800         * lib/stdlib.in.h (grantpt): Check correct function.
45802         maint.mk: silence new syntax check
45803         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
45805 2011-11-06  Bruno Haible  <bruno@clisp.org>
45807         Doc about floating-point and math API.
45808         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
45809         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
45811 2011-11-06  Bruno Haible  <bruno@clisp.org>
45813         stdalign tests: Skip the test when compiled by Sun C.
45814         * tests/test-stdalign.c (main): Skip the test on Sun C.
45816 2011-11-06  Bruno Haible  <bruno@clisp.org>
45818         ansi-c++-opt: Complete the 2011-06-05 change.
45819         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
45820         does not support namespaces, set the variable to "no", not to ":".
45822 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45824         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
45826 2011-11-06  Bruno Haible  <bruno@clisp.org>
45828         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
45829         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
45830         (minus_zerol) [HP-UX]: New macro.
45831         (unary_minus) [HP-UX]: New function.
45832         (copysignl) [HP-UX]: Use unary_minus function.
45834 2011-11-06  Bruno Haible  <bruno@clisp.org>
45836         ldexp, ldexpf, ldexpl: Enhance tests.
45837         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
45838         and tests/test-ldexpl.c.
45839         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
45840         LDEXP, MIN_EXP, MAX_EXP): New macros.
45841         Include test-ldexp.h.
45842         (main): Just call test_function.
45843         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
45844         infinity.h, nan.h.
45845         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45846         MAX_EXP): New macros.
45847         Include test-ldexp.h.
45848         (x, y): Remove variables.
45849         (main): Just call test_function.
45850         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
45851         infinity.h, nan.h.
45852         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45853         MAX_EXP): New macros.
45854         Include test-ldexp.h.
45855         (x, y): Remove variables.
45856         (main): Just call test_function.
45857         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
45858         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
45859         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45860         (Depends-on): Add isnand-nolibm, signbit, float.
45861         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
45862         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45863         (Depends-on): Add isnanf-nolibm, signbit, float.
45865 2011-11-06  Bruno Haible  <bruno@clisp.org>
45867         math tests: Cosmetics.
45868         * tests/test-math-c++.cc: Reorder declarations.
45870 2011-11-05  Bruno Haible  <bruno@clisp.org>
45872         fma*: Simplify test.
45873         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
45874         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
45876         Tests for module 'fmal'.
45877         * modules/fmal-tests: New file.
45878         * tests/test-fmal1.c: New file.
45879         * tests/test-fmal2.c: New file.
45881         New module 'fmal'.
45882         * lib/math.in.h (fmal): New declaration.
45883         * lib/fmal.c: New file.
45884         * m4/fmal.m4: New file.
45885         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
45886         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
45887         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
45888         REPLACE_FMAL.
45889         * modules/fmal: New file.
45890         * doc/posix-functions/fmal.texi: Mention the new module and the various
45891         bugs.
45893         Tests for module 'fmaf'.
45894         * modules/fmaf-tests: New file.
45895         * tests/test-fmaf1.c: New file.
45896         * tests/test-fmaf2.c: New file.
45898         New module 'fmaf'.
45899         * lib/math.in.h (fmaf): New declaration.
45900         * lib/fmaf.c: New file.
45901         * m4/fmaf.m4: New file.
45902         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
45903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
45904         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
45905         REPLACE_FMAF.
45906         * modules/fmaf: New file.
45907         * doc/posix-functions/fmaf.texi: Mention the new module and the various
45908         bugs.
45910         Tests for module 'fma'.
45911         * modules/fma-tests: New file.
45912         * tests/test-fma1.c: New file.
45913         * tests/test-fma1.h: New file.
45914         * tests/test-fma2.c: New file.
45915         * tests/test-fma2.h: New file.
45917         New module 'fma'.
45918         * lib/math.in.h (fma): New declaration.
45919         * lib/fma.c: New file.
45920         * m4/fma.m4: New file.
45921         * m4/fegetround.m4: New file.
45922         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
45923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
45924         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
45925         REPLACE_FMA.
45926         * modules/fma: New file.
45927         * doc/posix-functions/fma.texi: Mention the new module and the various
45928         bugs.
45930         Extend gl_MATHFUNC.
45931         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
45932         Support 'void' as argument type.
45933         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
45935 2011-11-05  Jim Meyering  <meyering@redhat.com>
45937         maint.mk: also prohibit inclusion of dirent.h without use
45938         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
45940 2011-11-05  Bruno Haible  <bruno@clisp.org>
45942         ldexpl tests: Avoid test failure on MSVC 9.
45943         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
45944         value. Needed in order to enforce the conversion from a value greater
45945         than LDBL_MAX to Infinity.
45947 2011-11-05  Bruno Haible  <bruno@clisp.org>
45949         New modules 'at-internal', 'openat-h', split off from module 'openat'.
45950         * modules/at-internal: New file, extracted from modules/openat.
45951         * modules/openat-h: New file.
45952         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
45953         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
45954         * modules/openat (Description): Add reference to POSIX function.
45955         (Files): Remove lib/openat.h, lib/openat-proc.c.
45956         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
45957         intprops, unistd.
45958         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
45959         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
45960         gl_FCNTL_MODULE_INDICATOR.
45961         (Include): Remove unistd.h, openat.h.
45962         * modules/areadlinkat (Files): Add lib/at-func.c.
45963         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45964         openat-die, openat-h, save-cwd.
45965         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
45966         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45967         openat-die, openat-h, save-cwd, unistd.
45968         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
45969         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45970         openat-h, save-cwd. Remove fcntl-h, openat.
45971         * modules/fchmodat (Files): Remove lib/openat.h.
45972         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45973         openat, stdbool, unistd.
45974         * modules/fchownat (Files): Remove lib/openat.h.
45975         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45976         openat, stdbool, sys_stat.
45977         * modules/fdopendir (Files): Remove lib/openat-priv.h,
45978         lib/openat-proc.c.
45979         (Depends-on): Add at-internal.
45980         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
45981         * modules/fstatat (Files): Remove lib/openat.h.
45982         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45983         stdbool, unistd.
45984         * modules/fts (Depends-on): Add openat-h.
45985         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
45986         openat.
45987         * modules/mkdirat (Files): Remove lib/openat.h.
45988         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45989         openat, stdbool, sys_stat.
45990         * modules/mkfifoat (Files): Add lib/at-func.c.
45991         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45992         openat-h, save-cwd. Remove fcntl-h, openat.
45993         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
45994         * modules/readlinkat (Files): Add lib/at-func.c.
45995         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45996         openat-h, save-cwd. Remove fcntl-h, openat.
45997         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
45998         openat.
45999         * modules/selinux-at (Files): Add lib/at-func.c.
46000         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
46001         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
46002         * modules/symlinkat (Files): Add lib/at-func.c.
46003         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
46004         openat-h, save-cwd. Remove fcntl-h, openat.
46005         * modules/unlinkat (Files): Remove lib/openat.h.
46006         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
46007         stdbool.
46008         * modules/utimensat (Files): Add lib/at-func.c.
46009         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
46010         openat-die, openat-h, save-cwd.
46011         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
46012         * modules/fdutimensat-tests (Depends-on): Add openat.
46013         * modules/fstatat-tests (Depends-on): Add openat-h.
46014         * modules/readlinkat-tests (Depends-on): Add openat.
46015         * modules/symlinkat-tests (Depends-on): Add openat.
46017 2011-11-05  Bruno Haible  <bruno@clisp.org>
46019         openat: Include <stdbool.h>.
46020         * lib/openat.c: Include <stdbool.h>.
46022 2011-11-04  Bruno Haible  <bruno@clisp.org>
46024         fchownat, renameat, unlinkat: Fix dependencies.
46025         * modules/fchownat (Depends-on): Add fstatat.
46026         * modules/renameat (Depends-on): Likewise.
46027         * modules/unlinkat (Depends-on): Likewise.
46029 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
46031         openat: remove direct dependency on dirent
46032         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
46033         and hasn't been needed ever since fdopendir was split into its own
46034         module on 2009-08-31.
46035         * modules/openat (Depends-on): Remove dirent.
46037 2011-11-04  Bruno Haible  <bruno@clisp.org>
46039         renameat: Optimize code size.
46040         * modules/renameat (configure.ac): Don't compile at-func2.c if
46041         REPLACE_RENAMEAT is 1.
46043 2011-11-04  Bruno Haible  <bruno@clisp.org>
46045         openat tests: Fix file list.
46046         * modules/openat-tests (Files): Add tests/test-open.h.
46048 2011-11-04  Bruno Haible  <bruno@clisp.org>
46050         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
46051         * modules/fchmodat (Depends-on): Add openat-die.
46052         * modules/fchownat (Depends-on): Likewise.
46053         * modules/linkat (Depends-on): Likewise.
46054         * modules/renameat (Depends-on): Likewise.
46055         * modules/openat (Depends-on): Add dirent.
46057 2011-11-04  Jim Meyering  <meyering@redhat.com>
46059         at-func*.c: fix comments
46060         * lib/at-func2.c: Correct/improve first-line comment.
46061         * lib/at-func.c: Correct grammar in first-line comment.
46063 2011-11-04  Bruno Haible  <bruno@clisp.org>
46065         New module 'mkdirat', split off from module 'openat'.
46066         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
46067         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
46068         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
46069         * modules/mkdirat: New file, extracted from modules/openat.
46070         * modules/openat (Files): Remove lib/mkdirat.c.
46071         (Depends-on): Remove mkdir.
46072         (configure.ac): Remove AC_LIBOBJ of mkdirat.
46073         (Include): Remove <sys/stat.h>.
46074         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
46075         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
46076         tests/test-mkdir.h.
46077         (Depends-on): Remove ignore-value.
46078         (Makefile.am): Remove rules for test-mkdirat.
46079         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
46080         of module 'openat'.
46081         * NEWS: Mention the change.
46083 2011-11-04  Bruno Haible  <bruno@clisp.org>
46085         closedir: Avoid warning on mingw.
46086         * lib/closedir.c: Include <unistd.h>.
46088 2011-11-04  Bruno Haible  <bruno@clisp.org>
46090         New module 'fstatat', split off from module 'openat'.
46091         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
46092         defined.
46093         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
46094         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
46095         gl_FUNC_FSTATAT.
46096         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
46097         * modules/fstatat: New file, extracted from modules/openat.
46098         * modules/openat (Files): Remove lib/fstatat.c.
46099         (Depends-on): Remove lstat.
46100         (configure.ac): Remove AC_LIBOBJ of fstatat.
46101         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
46102         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
46103         tests/test-lstat.h, tests/test-stat.h.
46104         (Depends-on): Remove getcwd-lgpl.
46105         (Makefile.am): Remove rules for test-fstatat.
46106         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
46107         of module 'openat'.
46108         * NEWS: Mention the change.
46109         * modules/getcwd (Depends-on): Add fstatat.
46110         * modules/linkat (Depends-on): Likewise.
46111         * modules/mkfifoat-tests (Depends-on): Likewise.
46112         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
46114 2011-11-03  Bruno Haible  <bruno@clisp.org>
46116         New module 'unlinkat', split off from module 'openat'.
46117         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
46118         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
46119         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
46120         * modules/unlinkat: New file, extracted from modules/openat. Correct
46121         the dependency conditions.
46122         * modules/openat (Files): Remove lib/unlinkat.c.
46123         (Depends-on): Remove rmdir, unlink.
46124         (configure.ac): Remove AC_LIBOBJ of unlinkat.
46125         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
46126         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
46127         tests/test-rmdir.h, tests/test-unlink.h.
46128         (Depends-on): Remove unlinkdir.
46129         (Makefile.am): Remove rules for test-unlinkat.
46130         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
46131         of module 'openat'.
46132         * NEWS: Mention the change.
46133         * modules/linkat-tests (Depends-on): Add unlinkat.
46134         * modules/mkfifoat-tests (Depends-on): Likewise.
46135         * modules/readlinkat-tests (Depends-on): Likewise.
46137 2011-11-02  Bruno Haible  <bruno@clisp.org>
46139         New module 'fchmodat', split off from module 'openat'.
46140         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
46141         defined.
46142         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
46143         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
46144         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
46145         * modules/fchmodat: New file, extracted from modules/openat.
46146         * modules/openat (Files): Remove lib/fchmodat.c.
46147         (configure.ac): Remove AC_LIBOBJ of fchmodat.
46148         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
46149         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
46150         (Makefile.am): Remove rules for test-fchmodat.
46151         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
46152         of module 'openat'.
46153         * NEWS: Mention the change.
46155 2011-11-02  Jim Meyering  <meyering@redhat.com>
46157         putenv: indent #definition of "environ" to placate cppi
46158         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
46160         gitlog-to-changelog: provide a ChangeLog-repair mechanism
46161         Git logs are often treated as immutable, because editing them
46162         changes the SHA1 checksums of all descendants.  Thus, errors in
46163         git logs tend to stay there forever.  However, when we generate
46164         a ChangeLog file -- typically for distribution -- from that git log,
46165         we can actually make corrections in the generated file.  The key
46166         lies in recording in machine-readable/applicable form the desired
46167         corrections.  See --help for description and an example.
46168         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
46169         (usage): Describe it; alphabetize option descriptions.
46170         (main): Honor the new option, carefully.
46172 2011-11-01  Jim Meyering  <meyering@redhat.com>
46174         gitlog-to-changelog: avoid an infloop
46175         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
46176         that ends up being empty.
46178 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46180         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
46181         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
46182         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
46183         contains (possibly-quoted) backslashes.  This should avoid
46184         all-too-common shell bugs if COMPLICATED contains backslashes in
46185         the "wrong" places.  Reported by David Evans in
46186         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
46187         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
46188         because we want ASCII ranges.  Is there some reason we don't use
46189         the C locale everywhere in this script?
46190         (func_module, top level): Avoid unwanted pathname expansion when
46191         $repo_url_prefix or $repo_url_suffix_repl contain shell
46192         metacharacters like '?' and '*'.
46194 2011-11-01  Bruno Haible  <bruno@clisp.org>
46196         fchownat: Improve description.
46197         * modules/fchownat (Description): Add link to function.
46199 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46201         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
46202         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
46203         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
46204         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
46206 2011-11-01  Bruno Haible  <bruno@clisp.org>
46208         alignof: Avoid collision with stdalign module.
46209         * lib/alignof.h (alignof): Remove macro.
46210         * NEWS: Mention the change.
46211         Reported by Paul Eggert.
46213 2011-11-01  Bruno Haible  <bruno@clisp.org>
46215         New module 'fchownat', split off from module 'openat'.
46216         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
46217         defined.
46218         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
46219         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
46220         invoke gl_FUNC_FCHOWNAT.
46221         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
46222         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
46223         * modules/fchownat: New file, extracted from modules/openat.
46224         * modules/openat (Files): Remove lib/fchownat.c.
46225         (Depends-on): Remove lchown.
46226         (configure.ac): Remove AC_LIBOBJ of fchownat.
46227         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
46228         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
46229         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
46230         (Depends-on): Remove mgetgroups, usleep, stat-time.
46231         (configure.ac): Remove test for getegid.
46232         (Makefile.am): Remove rules for test-fchownat.
46233         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
46234         of module 'openat'.
46235         * NEWS: Mention the change.
46237 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
46239         stdalign: port better to MSVC and to Sun C 5.11
46240         This fixes some of the problems reported by Bruno Haible in
46241         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
46242         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
46243         shortcomings of MSVC and of Sun C 5.11.
46244         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
46245         around __declspec arg.
46246         * modules/stdalign-tests (Files): Add tests/macros.h.
46247         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
46248         Include macros.h, for ASSERT.
46249         (DECLARE_ALIGNED): Remove.
46250         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
46251         to catch bug), and to 1 if not (simplifies the rest of the code).
46252         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
46253         (CHECK_AUTO): Remove.
46254         (CHECK_ALIGNED): Check only the alignment of the static vars,
46255         since auto var alignment isn't supported by Sun C 5.11.
46256         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
46257         ASSERT failures are easier to diagnose.
46259 2011-10-31  Bruno Haible  <bruno@clisp.org>
46261         doc about some IRIX 5.3 problems.
46262         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
46263         on IRIX 5.3.
46264         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
46265         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
46266         5.3.
46267         * doc/posix-functions/grantpt.texi: Likewise.
46268         * doc/posix-functions/unlockpt.texi: Likewise.
46269         * doc/posix-functions/lgamma.texi: Likewise.
46270         * doc/posix-functions/nextafter.texi: Likewise.
46271         * doc/posix-functions/remainder.texi: Likewise.
46272         * doc/posix-functions/select.texi: Mention misplaced declaration on
46273         IRIX 5.3.
46274         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46276 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
46278         gitlog-to-changelog: fix git-log invocation.
46279         git-log mishandles date strings before 1970-01-01 UTC, and there is
46280         no use to specify --since=1970-01-01 by default anyway.
46281         * build-aux/gitlog-to-changelog: By default, when no --since option
46282         was given, do not specify explicit --since option to git-log.
46284 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
46286         gitlog-to-changelog: new option --append-dot.
46287         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
46288         first non-blank line of each commit message terminated with a dot.
46290 2011-10-30  Bruno Haible  <bruno@clisp.org>
46292         ffsl, ffsll: Avoid compilation error due to 'restrict'.
46293         * lib/ffsl.h: Include <config.h>.
46294         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
46296 2011-10-30  Jim Meyering  <meyering@redhat.com>
46298         GNUmakefile: reenable "make syntax-check" for most projects
46299         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
46300         build-aux variable", "syntax-check" would do nothing but succeed with
46301         the "No version control files detected..." diagnostic (unless you
46302         happened to override _build-aux via cfg.mk).
46303         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
46304         to precede inclusion of maint.mk.  Otherwise, these variables would
46305         be used undefined in any project that does not override the default.
46307 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
46309         gitlog-to-changelog: treat a message with only blank lines as empty.
46310         * build-aux/gitlog-to-changelog: Move the code that removes leading and
46311         trailing blank lines before the code that issues a warning about an
46312         empty commit message.
46314 2011-10-30  Jim Meyering  <meyering@redhat.com>
46316         test-parse-datetime.c: avoid new DST-related false positive test failure
46317         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
46318         based on the time/date we'll convert, not the current time.
46319         Otherwise, the moment we cross a DST boundary like today's in
46320         Europe, (CEST to CET), that offset ends up being one hour off.
46322 2011-10-27  Bruno Haible  <bruno@clisp.org>
46324         fstat: Tweak documentation.
46325         * modules/fstat (Description): More precise description.
46327 2011-10-27  Bruno Haible  <bruno@clisp.org>
46329         Update documentation regarding 'largefile' module.
46330         * doc/posix-functions/fstat.texi: Tweak wording.
46331         * doc/posix-functions/opendir.texi: Mention that the module fixes the
46332         problems with huge directories and/or small ino_t types.
46333         * doc/posix-functions/readdir.texi: Likewise.
46334         * doc/posix-functions/rewinddir.texi: Likewise.
46336 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
46338         maint.mk: don't maintain a second build-aux variable.
46339         * maint.mk (build_aux): Removed.  The maintainer-makefile module
46340         depends on GNUmakefile, which already maintains a cfg.mk
46341         overridable $(_build-aux) for projects with a non-standard
46342         build-aux directory location, although without the $(srcdir)
46343         prefix.  Use that variable consistently instead of introducing a
46344         second one.  Adjust all call sites.
46346 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46348         Add stdalign module and use it in other modules.
46349         This is based on a previous proposal by Bruno Haible
46350         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
46352         stdalign: new module
46353         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
46354         * modules/stdalign: New files.
46355         * MODULES.html.sh (c1x_core_properties): Add stdalign.
46356         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
46358         stdalign-tests: new module
46359         * modules/stdalign-tests, tests/test-stdalign.c: New files.
46361         argp: use stdalign
46362         * lib/argp-parse.c: Include <stdalign.h>.
46363         (alignof): Remove.
46364         * modules/argp (Depends-on): Add stdalign.
46366         crypto libraries: use stdalign
46367         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
46368         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
46369         Do not include <stdlib.h> twice, in md4.c.
46370         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
46371         because we are accessing a pointer's bit-pattern, not a size.
46372         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
46373         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
46374         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
46375         * modules/crypto/sha512: Likewise.
46377         sys_socket: use stdalign, not alignof
46378         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
46379         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
46381 2011-10-27  Bruno Haible  <bruno@clisp.org>
46383         raise test: Avoid a test failure on Linux/MIPS.
46384         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
46385         because 99 is a valid signal on Linux/MIPS.
46387 2011-10-27  Bruno Haible  <bruno@clisp.org>
46389         nonblocking tests: Fix test failure on Linux/MIPS.
46390         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
46391         Set to 270000.
46393 2011-10-27  Bruno Haible  <bruno@clisp.org>
46395         utimensat: Work around problem on Linux/hppa.
46396         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
46397         values.
46398         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
46400 2011-10-25  Jim Meyering  <meyering@redhat.com>
46402         maint.mk: fix a bug in sc_prohibit_stddef_without_use
46403         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
46404         after symbols like NULL, size_t, etc.
46405         Reported by Alfred M. Szmidt.
46407         maint.mk: exempt ENODATA from a syntax-check rule
46408         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
46409         from the sc_prohibit_always-defined_macros syntax-check rule.
46410         Add a comment.  See this for more details:
46411         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
46413 2011-10-23  Jim Meyering  <meyering@redhat.com>
46415         fts: close parent dir FD before returning from post-traversal fts_read
46416         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
46417         unlink A, even though an FD open on A remained.  This is suboptimal
46418         (holding a file descriptor open longer than needed), but otherwise not
46419         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
46420         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
46421         that represents a real problem: it causes the removal of A to fail
46422         with e.g., "rm: cannot remove `A': Device or resource busy"
46424         fts visits each directory twice and keeps a cache (fts_fd_ring) of
46425         directory file descriptors.  After completing the final, FTS_DP,
46426         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
46427         cache, but then proceeded to add a new FD to it via the subsequent
46428         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
46429         final file descriptor would be closed only via fts_close's call to
46430         fd_ring_clear.  Now, it is usually closed earlier, via the final
46431         FTS_DP-returning fts_read call.
46432         * lib/fts.c (restore_initial_cwd): New function, converted from
46433         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
46434         Update callers.
46435         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
46436         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
46438 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
46439             Bruno Haible  <bruno@clisp.org>
46440             Jim Meyering  <jim@meyering.net>
46442         readme-release: improve safety of release prep instructions.
46443         * README-release: Don't git pull all branches when only master
46444         is needed for the release process.
46445         Run make maintainer-clean before changing trees and merging.
46446         Don't try to run ./configure right after git pull in case files
46447         that influence the bootstrap process have changed, move the
46448         ./configure step to after running ./bootstrap.
46449         Don't bootstrap "one last time"... it's the first time!
46451 2011-10-22  Bruno Haible  <bruno@clisp.org>
46453         errno, strerror-override: Support for MSVC 10.
46454         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
46455         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
46456         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
46457         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
46458         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
46459         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
46460         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
46461         Assign values compatible with MSVC 10.
46462         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
46463         New macros.
46464         (GNULIB_defined_EWINSOCK): New macro.
46465         * lib/strerror-override.c (strerror_override): Update accordingly.
46466         * lib/strerror-override.h: Likewise.
46467         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
46468         longer equal to the corresponding errno value.
46469         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46471 2011-10-22  Bruno Haible  <bruno@clisp.org>
46473         perror: Recognize when test program crashes.
46474         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
46475         strerror, set gl_cv_func_perror_works to no.
46476         Reported by Daniel Richard G. <skunk@iskunk.org>.
46478         perror: Fix indentation.
46479         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
46481 2011-10-22  Bruno Haible  <bruno@clisp.org>
46483         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
46484         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
46485         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
46486         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
46487         functions, not as a macro.
46488         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
46489         macros.
46490         (isfinite, isinf, isnan, signbit): Check overloaded functions and
46491         absence of macro.
46492         Suggested by Eric Blake.
46493         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
46495 2011-10-21  Bruno Haible  <bruno@clisp.org>
46497         relocatable-prog-wrapper: Don't leave object files behind.
46498         * build-aux/install-reloc: Re-synchronize list of .o files to be
46499         removed with list of compilation units.
46501 2011-10-20  Bruno Haible  <bruno@clisp.org>
46503         openpty, posix_openpt: Remove code duplication.
46504         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
46505         * lib/openpty.c: Include <stdlib.h>.
46506         (openpty): Use posix_openpt on all platforms except IRIX.
46507         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
46509 2011-10-20  Bruno Haible  <bruno@clisp.org>
46511         unlockpt: Detect invalid argument.
46512         * lib/unlockpt.c: Include <fcntl.h>.
46513         (unlockpt): Check whether fd is valid, using fcntl().
46514         * modules/unlockpt (Depends-on): Add fcntl-h.
46516 2011-10-20  Bruno Haible  <bruno@clisp.org>
46518         openpty: Avoid compilation error on AIX 6.1.
46519         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
46521 2011-10-20  Bruno Haible  <bruno@clisp.org>
46523         posix_openpt: Support for OpenBSD.
46524         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
46525         (posix_openpt) [OpenBSD]: New code.
46526         * lib/grantpt.c: Include <fcntl.h>.
46527         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
46528         * modules/grantpt (Depends-on): Add fcntl-h.
46530 2011-10-20  Bruno Haible  <bruno@clisp.org>
46532         posix_openpt test: Coding style.
46533         * tests/test-posix_openpt.c: Use GNU coding style.
46535 2011-10-20  Bruno Haible  <bruno@clisp.org>
46537         grantpt: Support --avoid=pt_chown.
46538         * modules/grantpt (Files): Add lib/pty-private.h.
46540 2011-10-20  Bruno Haible  <bruno@clisp.org>
46542         posix_openpt: Fix autoconf macro.
46543         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
46544         unneeded check for _getpty.
46546 2011-10-20  Bruno Haible  <bruno@clisp.org>
46548         openpty: Update comments.
46549         * lib/openpty.c: Add comments about Minix.
46551 2011-10-19  Eric Blake  <eblake@redhat.com>
46553         openpty: relax license
46554         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
46556         pt_chown: use configmake to simplify build
46557         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
46559         ptsname and others: relax license
46560         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
46561         * modules/unlockpt (License): Likewise.
46562         * modules/pt_chown (License): Likewise.
46563         * modules/ptsname (License): Likewise.
46564         * modules/ttyname_r (License): Likewise.
46566 2011-10-19  Jim Meyering  <meyering@redhat.com>
46568         posix_openpt: remove spurious #endif
46569         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
46571 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
46573         maint.mk: Respect $(build_aux) in web-manual rule.
46574         * top/maint.mk (web-manual): Find gen-announce script in user's
46575         $(build_aux) directory instead of hard-coding 'build-aux'.
46577 2011-10-19  Bruno Haible  <bruno@clisp.org>
46579         posix_openpt: Fix compilation error.
46580         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
46581         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
46582         Mention the openpty module as an alternative.
46584 2011-10-19  Bruno Haible  <bruno@clisp.org>
46586         Support for old NeXTstep 3.3 frexp().
46587         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
46588         execution time of the test to 5 seconds.
46589         Reported by Daniel Richard G. <skunk@iskunk.org>.
46591 2011-10-19  Bruno Haible  <bruno@clisp.org>
46593         Support for old NeXTstep 3.3 sed.
46594         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
46595         part, use /.../, not \|...|. Escape periods in the header file name.
46596         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
46597         Reported by Daniel Richard G. <skunk@iskunk.org>.
46599 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46601         Support for old NeXTstep 3.3 gcc.
46602         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
46603         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
46604         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
46605         * lib/spawn.in.h (_Restrict_arr_): Likewise.
46606         * lib/regex.h (_Restrict_arr_): Likewise.
46607         * lib/regex_internal.h (re_token_t): Likewise.
46608         * lib/regexec.c (check_node_accept_bytes): Likewise.
46609         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
46611 2011-10-18  Eric Blake  <eblake@redhat.com>
46613         posix_openpt: new module
46614         * modules/posix_openpt: New module.
46615         * m4/posix_openpt.m4: New file.
46616         * lib/posix_openpt.c: Likewise.
46617         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46618         (gl_STDLIB_H_DEFAULTS): Set defaults.
46619         * modules/stdlib (Makefile.am): Substitute macros.
46620         * lib/stdlib.in.h (posix_openpt): Declare.
46621         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
46622         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
46623         * modules/posix_openpt-tests: New test module.
46624         * tests/test-posix_openpt.c: New test.
46626 2011-10-15  Bruno Haible  <bruno@clisp.org>
46628         xstrtoll: Fix compilation failure.
46629         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
46630         from lib/strtol.c.
46631         * doc/posix-headers/limits.texi: Mention missing numerical limits on
46632         some platforms.
46633         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46635 2011-10-15  Bruno Haible  <bruno@clisp.org>
46637         vasnprintf: Optimize bit search operation.
46638         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
46639         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
46640         gl_DOUBLE_EXPONENT_LOCATION.
46641         * modules/vasnprintf (Files): Add m4/exponentd.m4.
46642         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46643         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46644         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46645         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46646         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46647         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46648         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46649         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
46651 2011-10-15  Bruno Haible  <bruno@clisp.org>
46653         vasnprintf: Fix comments.
46654         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
46656 2011-10-14  Bruno Haible  <bruno@clisp.org>
46658         Tests for module 'integer_length_ll'.
46659         * modules/integer_length_ll-tests: New file.
46660         * tests/test-integer_length_ll.c: New file.
46662         New module 'integer_length_ll'.
46663         * lib/integer_length_ll.c: New file.
46664         * modules/integer_length_ll: New file.
46666 2011-10-14  Bruno Haible  <bruno@clisp.org>
46668         Tests for module 'integer_length_l'.
46669         * modules/integer_length_l-tests: New file.
46670         * tests/test-integer_length_l.c: New file.
46672         New module 'integer_length_l'.
46673         * lib/integer_length_l.c: New file.
46674         * modules/integer_length_l: New file.
46676 2011-10-14  Bruno Haible  <bruno@clisp.org>
46678         Tests for module 'integer_length'.
46679         * modules/integer_length-tests: New file.
46680         * tests/test-integer_length.c: New file.
46682         New module 'integer_length'.
46683         * lib/integer_length.h: New file.
46684         * lib/integer_length.c: New file.
46685         * modules/integer_length: New file.
46687 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46689         popen: Fix dependency conditions.
46690         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
46692 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46694         perror: Fix autoconf test.
46695         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
46696         <stdlib.h> and <string.h>.
46698 2011-10-14  Bruno Haible  <bruno@clisp.org>
46700         ffsl: Optimize on 64-bit platforms.
46701         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
46702         unrolling.
46704 2011-10-13  Bruno Haible  <bruno@clisp.org>
46706         ffsl: Optimize on 32-bit platforms.
46707         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
46708         use ffs() without a loop.
46710         ffsl, ffsll: Optimize for GCC.
46711         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
46712         * lib/ffsl.c (GCC_BUILTIN): New macro.
46713         * lib/ffsll.c (GCC_BUILTIN): Likewise.
46715 2011-10-13  Bruno Haible  <bruno@clisp.org>
46717         ffs, bcopy, memset: Support symbol renaming via config.h.
46718         * lib/ffs.c: Include <config.h>.
46719         * lib/bcopy.c: Likewise.
46720         * lib/memset.c: Likewise.
46722 2011-10-10  Bruno Haible  <bruno@clisp.org>
46724         atanl: Simplify for platforms where 'long double' == 'double'.
46725         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46726         alternative implementation.
46727         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46728         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46729         * modules/atanl (Depends-on): Add atan. Update conditions.
46731 2011-10-10  Bruno Haible  <bruno@clisp.org>
46733         acosl: Simplify for platforms where 'long double' == 'double'.
46734         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46735         alternative implementation.
46736         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46737         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46738         * modules/acosl (Depends-on): Add acos. Update conditions.
46740 2011-10-10  Bruno Haible  <bruno@clisp.org>
46742         asinl: Simplify for platforms where 'long double' == 'double'.
46743         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46744         alternative implementation.
46745         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46746         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46747         * modules/asinl (Depends-on): Add asin. Update conditions.
46749 2011-10-10  Bruno Haible  <bruno@clisp.org>
46751         tanl: Simplify for platforms where 'long double' == 'double'.
46752         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46753         implementation.
46754         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46755         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46756         * modules/tanl (Depends-on): Add tan. Update conditions.
46757         (configure.ac): Don't compile trigl.c if
46758         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46760 2011-10-10  Bruno Haible  <bruno@clisp.org>
46762         cosl: Simplify for platforms where 'long double' == 'double'.
46763         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46764         implementation.
46765         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46766         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46767         * modules/cosl (Depends-on): Add cos. Update conditions.
46768         (configure.ac): Don't compile sincosl.c and trigl.c if
46769         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46771 2011-10-10  Bruno Haible  <bruno@clisp.org>
46773         sinl: Simplify for platforms where 'long double' == 'double'.
46774         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46775         implementation.
46776         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46777         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46778         * modules/sinl (Depends-on): Add sin. Update conditions.
46779         (configure.ac): Don't compile sincosl.c and trigl.c if
46780         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46782 2011-10-10  Bruno Haible  <bruno@clisp.org>
46784         logl: Simplify for platforms where 'long double' == 'double'.
46785         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46786         implementation.
46787         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46788         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46789         * modules/logl (Depends-on): Add log. Update conditions.
46791 2011-10-10  Bruno Haible  <bruno@clisp.org>
46793         expl: Simplify for platforms where 'long double' == 'double'.
46794         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46795         implementation.
46796         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46797         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46798         * modules/expl (Depends-on): Add exp. Update conditions.
46800 2011-10-10  Bruno Haible  <bruno@clisp.org>
46802         sqrtl: Simplify for platforms where 'long double' == 'double'.
46803         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46804         alternative implementation.
46805         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46806         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46807         * modules/sqrtl (Depends-on): Update conditions.
46809 2011-10-10  Bruno Haible  <bruno@clisp.org>
46811         ldexpl: Simplify for platforms where 'long double' == 'double'.
46812         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46813         alternative implementation.
46814         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46815         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46816         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
46818 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
46820         ffsll: set correct witness
46821         * modules/ffsll (configure.ac): Fix typo.
46823 2011-10-10  Bruno Haible  <bruno@clisp.org>
46825         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
46826         * lib/printf-frexpl.c: Include <config.h>.
46827         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46828         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
46829         second time.
46830         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
46831         gl_LONG_DOUBLE_VS_DOUBLE.
46832         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
46833         conditions.
46835 2011-10-10  Bruno Haible  <bruno@clisp.org>
46837         frexpl: Simplify for platforms where 'long double' == 'double'.
46838         * lib/frexpl.c: Include <config.h>.
46839         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46840         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46841         time.
46842         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46843         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46844         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
46845         * modules/frexpl (Depends-on): Add frexp. Update conditions.
46846         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
46847         conditions.
46849 2011-10-10  Jim Meyering  <meyering@redhat.com>
46851         test-renameat: don't leave behind a temporary file
46852         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
46853           ERROR: files left in build directory after distclean:
46854           ./gltests/test-renameat.too
46855           make[1]: *** [distcleancheck] Error 1
46856         Reported by Tom G. Christensen.
46858 2011-10-09  Bruno Haible  <bruno@clisp.org>
46860         rint: Determine RINT_LIBM correctly on AIX 7.
46861         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
46862         directly, not only through a function pointer. Also accept an optional
46863         4th argument with extra code.
46864         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
46865         rintf() call by gcc when optimizing.
46867         mathfunc.m4: Refactor.
46868         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
46869         m4 variable.
46871 2011-10-09  Bruno Haible  <bruno@clisp.org>
46873         rintl: Simplify for platforms where 'long double' == 'double'.
46874         * lib/rintl.c: Include <config.h>.
46875         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46876         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46877         time.
46878         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46879         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46880         * modules/rintl (Depends-on): Add rint. Update conditions.
46882 2011-10-09  Bruno Haible  <bruno@clisp.org>
46884         roundl: Simplify for platforms where 'long double' == 'double'.
46885         * lib/roundl.c: Include <config.h>.
46886         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46887         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46888         time.
46889         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46890         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46891         * modules/roundl (Depends-on): Add round. Update conditions.
46893 2011-10-09  Bruno Haible  <bruno@clisp.org>
46895         truncl: Simplify for platforms where 'long double' == 'double'.
46896         * lib/truncl.c: Include <config.h>.
46897         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46898         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46899         time.
46900         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46901         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46902         * modules/truncl (Depends-on): Add trunc. Update conditions.
46904 2011-10-09  Bruno Haible  <bruno@clisp.org>
46906         ceill: Simplify for platforms where 'long double' == 'double'.
46907         * lib/ceill.c: Include <config.h>.
46908         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46909         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46910         time.
46911         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46912         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46913         * modules/ceill (Depends-on): Add ceil. Update conditions.
46915 2011-10-09  Bruno Haible  <bruno@clisp.org>
46917         floorl: Simplify for platforms where 'long double' == 'double'.
46918         * lib/floorl.c: Include <config.h>.
46919         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46920         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46921         time.
46922         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46923         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46924         * modules/floorl (Depends-on): Add floor. Update conditions.
46926 2011-10-09  Bruno Haible  <bruno@clisp.org>
46928         rint: Fix ordering constraints.
46929         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
46930         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
46931         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
46933 2011-10-09  Bruno Haible  <bruno@clisp.org>
46935         copysignl: Simplify for platforms where 'long double' == 'double'.
46936         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46937         alternative.
46938         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46939         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46940         * modules/copysignl (Depends-on): Add copysign. Update conditions.
46942 2011-10-09  Bruno Haible  <bruno@clisp.org>
46944         Tests for module 'rintl'.
46945         * modules/rintl-tests: New file.
46946         * tests/test-rintl.c: New file.
46948         New module 'rintl'.
46949         * lib/math.in.h (rintl): New declaration.
46950         * lib/rintl.c: New file.
46951         * m4/rintl.m4: New file.
46952         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
46953         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
46954         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
46955         * modules/rintl: New file.
46956         * tests/test-math-c++.cc: Check the declaration of rintl.
46957         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46958         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
46959         * doc/posix-functions/rintl.texi: Mention the new module.
46961 2011-10-09  Bruno Haible  <bruno@clisp.org>
46963         Tests for module 'rintf'.
46964         * modules/rintf-tests: New file.
46965         * tests/test-rintf.c: New file.
46967         New module 'rintf'.
46968         * lib/math.in.h (rintf): New declaration.
46969         * lib/rintf.c: New file.
46970         * m4/rintf.m4: New file.
46971         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
46972         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
46973         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
46974         * modules/rintf: New file.
46975         * tests/test-math-c++.cc: Check the declaration of rintf.
46976         * doc/posix-functions/rintf.texi: Mention the new module.
46978 2011-10-09  Bruno Haible  <bruno@clisp.org>
46980         rint: Support for MSVC.
46981         * lib/math.in.h (rint): New declaration.
46982         * lib/rint.c: New file.
46983         * m4/rint.m4: New file.
46984         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
46985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
46986         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
46987         * modules/rint (Description): Fix.
46988         (Files): Add lib/rint.c, m4/rint.m4.
46989         (Depends-on): Add math.
46990         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
46991         gl_MATH_MODULE_INDICATOR.
46992         * tests/test-math-c++.cc: Check the declaration of rint.
46993         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46994         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
46995         * doc/posix-functions/rint.texi: Mention the replacement provided by
46996         the module.
46998         rint tests: More tests.
46999         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
47000         minus-zero.h, infinity.h, nan.h.
47001         (main): Skip the test if the current rounding mode is not standard. Add
47002         tests for negative numbers, minus zero, infinity, NaN.
47003         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
47004         tests/nan.h.
47005         (Depends-on): Add isnand-nolibm.
47007 2011-10-09  Bruno Haible  <bruno@clisp.org>
47009         Tests for module 'copysignl'.
47010         * modules/copysignl-tests: New file.
47011         * tests/test-copysignl.c: New file.
47013         New module 'copysignl'.
47014         * lib/math.in.h (copysignl): New declaration.
47015         * lib/copysignl.c: New file.
47016         * m4/copysignl.m4: New file.
47017         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
47018         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
47019         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
47020         HAVE_COPYSIGNL.
47021         * modules/copysignl: New file.
47022         * tests/test-math-c++.cc: Check the declaration of copysignl.
47023         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
47024         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
47025         * doc/posix-functions/copysignl.texi: Mention the new module.
47027 2011-10-09  Bruno Haible  <bruno@clisp.org>
47029         Tests for module 'copysignf'.
47030         * modules/copysignf-tests: New file.
47031         * tests/test-copysignf.c: New file.
47033         New module 'copysignf'.
47034         * lib/math.in.h (copysignf): New declaration.
47035         * lib/copysignf.c: New file.
47036         * m4/copysignf.m4: New file.
47037         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
47038         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
47039         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
47040         HAVE_COPYSIGNF.
47041         * modules/copysignf: New file.
47042         * tests/test-math-c++.cc: Check the declaration of copysignf.
47043         * doc/posix-functions/copysignf.texi: Mention the new module.
47045 2011-10-09  Bruno Haible  <bruno@clisp.org>
47047         Ensure that HAVE_* variables are set to 1 before they are set to 0.
47048         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
47049         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
47050         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
47051         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
47052         gl_SIGNAL_H_DEFAULTS.
47054 2011-10-09  Bruno Haible  <bruno@clisp.org>
47056         poll: Make macro safer.
47057         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
47058         ac_cv_header_poll_h is not set.
47060 2011-10-09  Bruno Haible  <bruno@clisp.org>
47062         copysign: Provide replacement.
47063         * lib/math.in.h (copysign): New declaration.
47064         * lib/copysign.c: New file.
47065         * m4/copysign.m4: New file.
47066         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
47067         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
47068         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
47069         HAVE_COPYSIGN.
47070         * modules/copysign (Description): Clarify.
47071         (Files): Add lib/copysign.c, m4/copysign.m4.
47072         (Depends-on): Add math, signbit.
47073         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
47074         gl_MATH_MODULE_INDICATOR.
47075         * tests/test-math-c++.cc: Check the declaration of copysign.
47076         * doc/posix-functions/copysign.texi: Mention the effects of the module
47077         on Minix and MSVC.
47079 2011-10-09  Bruno Haible  <bruno@clisp.org>
47081         isinf: Ensure macro on AIX 5.1.
47082         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
47083         macro.
47084         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
47086 2011-10-09  Bruno Haible  <bruno@clisp.org>
47088         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
47089         * modules/snprintf-posix-tests (configure.ac): Require
47090         gl_LONG_DOUBLE_VS_DOUBLE.
47091         * modules/sprintf-posix-tests (configure.ac): Likewise.
47092         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
47093         * modules/vasprintf-posix-tests (configure.ac): Likewise.
47094         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
47095         * modules/vsprintf-posix-tests (configure.ac): Likewise.
47096         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
47097         tests on platforms where 'long double' is the same as 'double'.
47098         * tests/test-sprintf-posix.h (test_function): Likewise.
47099         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47100         * tests/test-vasprintf-posix.c (test_function): Likewise.
47102         *printf: Fix for platforms where 'long double' == 'double'.
47103         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47104         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
47105         * modules/dprintf-posix (Files): Add m4/math_h.m4.
47106         * modules/fprintf-posix (Files): Likewise.
47107         * modules/obstack-printf-posix (Files): Likewise.
47108         * modules/snprintf-posix (Files): Likewise.
47109         * modules/sprintf-posix (Files): Likewise.
47110         * modules/vasnprintf (Files): Likewise.
47111         * modules/vasnprintf-posix (Files): Likewise.
47112         * modules/vasprintf-posix (Files): Likewise.
47113         * modules/vdprintf-posix (Files): Likewise.
47114         * modules/vfprintf-posix (Files): Likewise.
47115         * modules/vsnprintf-posix (Files): Likewise.
47116         * modules/vsprintf-posix (Files): Likewise.
47117         * modules/unistdio/u8-vasnprintf (Files): Likewise.
47118         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
47119         * modules/unistdio/u16-vasnprintf (Files): Likewise.
47120         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
47121         * modules/unistdio/u32-vasnprintf (Files): Likewise.
47122         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
47123         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
47125         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
47126         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
47127         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
47128         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
47129         'long double'.
47130         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
47132         isinf: Fix for platforms where 'long double' == 'double'.
47133         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47134         Don't blindly assume 80-bit 'long double'.
47136         isfinite: Fix for platforms where 'long double' == 'double'.
47137         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
47138         Don't blindly assume 80-bit 'long double'.
47140         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
47141         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
47142         * modules/isfinite-tests (configure.ac): Require
47143         gl_LONG_DOUBLE_VS_DOUBLE.
47144         * modules/isinf-tests (configure.ac): Likewise.
47145         * modules/isnan-tests (configure.ac): Likewise.
47146         * modules/isnanl-tests (configure.ac): Likewise.
47147         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
47148         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
47149         tests on platforms where 'long double' is the same as 'double'.
47150         * tests/test-isinf.c (test_isinfl): Likewise.
47151         * tests/test-isnan.c (test_long_double): Likewise.
47152         * tests/test-isnanl.h (main): Likewise.
47154 2011-10-08  Bruno Haible  <bruno@clisp.org>
47156         Tests for module 'tanhf'.
47157         * modules/tanhf-tests: New file.
47158         * tests/test-tanhf.c: New file.
47160         New module 'tanhf'.
47161         * lib/math.in.h (tanhf): New declaration.
47162         * lib/tanhf.c: New file.
47163         * m4/tanhf.m4: New file.
47164         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
47165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
47166         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
47167         * modules/tanhf: New file.
47168         * tests/test-math-c++.cc: Check the declaration of tanhf.
47169         * doc/posix-functions/tanhf.texi: Mention the new module.
47171         tanh: Use a .m4 file.
47172         * m4/tanh.m4: New file.
47173         * modules/tanh (Files): Add it.
47174         (configure.ac): Just invoke gl_FUNC_TANH.
47176 2011-10-08  Bruno Haible  <bruno@clisp.org>
47178         Tests for module 'coshf'.
47179         * modules/coshf-tests: New file.
47180         * tests/test-coshf.c: New file.
47182         New module 'coshf'.
47183         * lib/math.in.h (coshf): New declaration.
47184         * lib/coshf.c: New file.
47185         * m4/coshf.m4: New file.
47186         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
47187         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
47188         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
47189         * modules/coshf: New file.
47190         * tests/test-math-c++.cc: Check the declaration of coshf.
47191         * doc/posix-functions/coshf.texi: Mention the new module.
47193         cosh: Use a .m4 file.
47194         * m4/cosh.m4: New file.
47195         * modules/cosh (Files): Add it.
47196         (configure.ac): Just invoke gl_FUNC_COSH.
47198 2011-10-08  Bruno Haible  <bruno@clisp.org>
47200         Tests for module 'sinhf'.
47201         * modules/sinhf-tests: New file.
47202         * tests/test-sinhf.c: New file.
47204         New module 'sinhf'.
47205         * lib/math.in.h (sinhf): New declaration.
47206         * lib/sinhf.c: New file.
47207         * m4/sinhf.m4: New file.
47208         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
47209         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
47210         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
47211         * modules/sinhf: New file.
47212         * tests/test-math-c++.cc: Check the declaration of sinhf.
47213         * doc/posix-functions/sinhf.texi: Mention the new module.
47215         sinh: Use a .m4 file.
47216         * m4/sinh.m4: New file.
47217         * modules/sinh (Files): Add it.
47218         (configure.ac): Just invoke gl_FUNC_SINH.
47220 2011-10-08  Bruno Haible  <bruno@clisp.org>
47222         Tests for module 'atan2f'.
47223         * modules/atan2f-tests: New file.
47224         * tests/test-atan2f.c: New file.
47226         New module 'atan2f'.
47227         * lib/math.in.h (atan2f): New declaration.
47228         * lib/atan2f.c: New file.
47229         * m4/atan2f.m4: New file.
47230         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
47231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
47232         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
47233         * modules/atan2f: New file.
47234         * tests/test-math-c++.cc: Check the declaration of atan2f.
47235         * doc/posix-functions/atan2f.texi: Mention the new module.
47237         atan2: Use a .m4 file.
47238         * m4/atan2.m4: New file.
47239         * modules/atan2 (Files): Add it.
47240         (configure.ac): Just invoke gl_FUNC_ATAN2.
47242 2011-10-08  Bruno Haible  <bruno@clisp.org>
47244         Tests for module 'atanf'.
47245         * modules/atanf-tests: New file.
47246         * tests/test-atanf.c: New file.
47248         New module 'atanf'.
47249         * lib/math.in.h (atanf): New declaration.
47250         * lib/atanf.c: New file.
47251         * m4/atanf.m4: New file.
47252         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
47253         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
47254         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
47255         * modules/atanf: New file.
47256         * tests/test-math-c++.cc: Check the declaration of atanf.
47257         * doc/posix-functions/atanf.texi: Mention the new module.
47259         atan: Use a .m4 file.
47260         * m4/atan.m4: New file.
47261         * modules/atan (Files): Add it.
47262         (configure.ac): Just invoke gl_FUNC_ATAN.
47264 2011-10-08  Bruno Haible  <bruno@clisp.org>
47266         Tests for module 'acosf'.
47267         * modules/acosf-tests: New file.
47268         * tests/test-acosf.c: New file.
47270         New module 'acosf'.
47271         * lib/math.in.h (acosf): New declaration.
47272         * lib/acosf.c: New file.
47273         * m4/acosf.m4: New file.
47274         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
47275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
47276         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
47277         * modules/acosf: New file.
47278         * tests/test-math-c++.cc: Check the declaration of acosf.
47279         * doc/posix-functions/acosf.texi: Mention the new module.
47281         acos: Use a .m4 file.
47282         * m4/acos.m4: New file.
47283         * modules/acos (Files): Add it.
47284         (configure.ac): Just invoke gl_FUNC_ACOS.
47286 2011-10-08  Bruno Haible  <bruno@clisp.org>
47288         Tests for module 'asinf'.
47289         * modules/asinf-tests: New file.
47290         * tests/test-asinf.c: New file.
47292         New module 'asinf'.
47293         * lib/math.in.h (asinf): New declaration.
47294         * lib/asinf.c: New file.
47295         * m4/asinf.m4: New file.
47296         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
47297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
47298         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
47299         * modules/asinf: New file.
47300         * tests/test-math-c++.cc: Check the declaration of asinf.
47301         * doc/posix-functions/asinf.texi: Mention the new module.
47303         asin: Use a .m4 file.
47304         * m4/asin.m4: New file.
47305         * modules/asin (Files): Add it.
47306         (configure.ac): Just invoke gl_FUNC_ASIN.
47308 2011-10-08  Bruno Haible  <bruno@clisp.org>
47310         Tests for module 'tanf'.
47311         * modules/tanf-tests: New file.
47312         * tests/test-tanf.c: New file.
47314         New module 'tanf'.
47315         * lib/math.in.h (tanf): New declaration.
47316         * lib/tanf.c: New file.
47317         * m4/tanf.m4: New file.
47318         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
47319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
47320         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
47321         * modules/tanf: New file.
47322         * tests/test-math-c++.cc: Check the declaration of tanf.
47323         * doc/posix-functions/tanf.texi: Mention the new module.
47325         tan: Use a .m4 file.
47326         * m4/tan.m4: New file.
47327         * modules/tan (Files): Add it.
47328         (configure.ac): Just invoke gl_FUNC_TAN.
47330 2011-10-08  Bruno Haible  <bruno@clisp.org>
47332         Tests for module 'cosf'.
47333         * modules/cosf-tests: New file.
47334         * tests/test-cosf.c: New file.
47336         New module 'cosf'.
47337         * lib/math.in.h (cosf): New declaration.
47338         * lib/cosf.c: New file.
47339         * m4/cosf.m4: New file.
47340         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
47341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
47342         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
47343         * modules/cosf: New file.
47344         * tests/test-math-c++.cc: Check the declaration of cosf.
47345         * doc/posix-functions/cosf.texi: Mention the new module.
47347         cos: Use a .m4 file.
47348         * m4/cos.m4: New file.
47349         * modules/cos (Files): Add it.
47350         (configure.ac): Just invoke gl_FUNC_COS.
47352 2011-10-08  Bruno Haible  <bruno@clisp.org>
47354         Tests for module 'sinf'.
47355         * modules/sinf-tests: New file.
47356         * tests/test-sinf.c: New file.
47358         New module 'sinf'.
47359         * lib/math.in.h (sinf): New declaration.
47360         * lib/sinf.c: New file.
47361         * m4/sinf.m4: New file.
47362         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
47363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
47364         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
47365         * modules/sinf: New file.
47366         * tests/test-math-c++.cc: Check the declaration of sinf.
47367         * doc/posix-functions/sinf.texi: Mention the new module.
47369         sin: Use a .m4 file.
47370         * m4/sin.m4: New file.
47371         * modules/sin (Files): Add it.
47372         (configure.ac): Just invoke gl_FUNC_SIN.
47374 2011-10-08  Bruno Haible  <bruno@clisp.org>
47376         Tests for module 'powf'.
47377         * modules/powf-tests: New file.
47378         * tests/test-powf.c: New file.
47380         New module 'powf'.
47381         * lib/math.in.h (powf): New declaration.
47382         * lib/powf.c: New file.
47383         * m4/powf.m4: New file.
47384         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
47385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
47386         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
47387         * modules/powf: New file.
47388         * tests/test-math-c++.cc: Check the declaration of powf.
47389         * doc/posix-functions/powf.texi: Mention the new module.
47391         pow: Use a .m4 file.
47392         * m4/pow.m4: New file.
47393         * modules/pow (Files): Add it.
47394         (configure.ac): Just invoke gl_FUNC_POW.
47396 2011-10-08  Bruno Haible  <bruno@clisp.org>
47398         Tests for module 'log10f'.
47399         * modules/log10f-tests: New file.
47400         * tests/test-log10f.c: New file.
47402         New module 'log10f'.
47403         * lib/math.in.h (log10f): New declaration.
47404         * lib/log10f.c: New file.
47405         * m4/log10f.m4: New file.
47406         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
47407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
47408         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
47409         * modules/log10f: New file.
47410         * tests/test-math-c++.cc: Check the declaration of log10f.
47411         * doc/posix-functions/log10f.texi: Mention the new module.
47413         log10: Use a .m4 file.
47414         * m4/log10.m4: New file.
47415         * modules/log10 (Files): Add it.
47416         (configure.ac): Just invoke gl_FUNC_LOG10.
47418 2011-10-08  Bruno Haible  <bruno@clisp.org>
47420         Tests for module 'logf'.
47421         * modules/logf-tests: New file.
47422         * tests/test-logf.c: New file.
47424         New module 'logf'.
47425         * lib/math.in.h (logf): New declaration.
47426         * lib/logf.c: New file.
47427         * m4/logf.m4: New file.
47428         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
47429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
47430         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
47431         * modules/logf: New file.
47432         * tests/test-math-c++.cc: Check the declaration of logf.
47433         * doc/posix-functions/logf.texi: Mention the new module.
47435         log: Use a .m4 file.
47436         * m4/log.m4: New file.
47437         * modules/log (Files): Add it.
47438         (configure.ac): Just invoke gl_FUNC_LOG.
47440 2011-10-08  Bruno Haible  <bruno@clisp.org>
47442         Tests for module 'expf'.
47443         * modules/expf-tests: New file.
47444         * tests/test-expf.c: New file.
47446         New module 'expf'.
47447         * lib/math.in.h (expf): New declaration.
47448         * lib/expf.c: New file.
47449         * m4/expf.m4: New file.
47450         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
47451         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
47452         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
47453         * modules/expf: New file.
47454         * tests/test-math-c++.cc: Check the declaration of expf.
47455         * doc/posix-functions/expf.texi: Mention the new module.
47457         exp: Use a .m4 file.
47458         * m4/exp.m4: New file.
47459         * modules/exp (Files): Add it.
47460         (configure.ac): Just invoke gl_FUNC_EXP.
47462 2011-10-08  Bruno Haible  <bruno@clisp.org>
47464         Tests for module 'sqrtf'.
47465         * modules/sqrtf-tests: New file.
47466         * tests/test-sqrtf.c: New file.
47468         New module 'sqrtf'.
47469         * lib/math.in.h (sqrtf): New declaration.
47470         * lib/sqrtf.c: New file.
47471         * m4/sqrtf.m4: New file.
47472         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
47473         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
47474         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
47475         * modules/sqrtf: New file.
47476         * tests/test-math-c++.cc: Check the declaration of sqrtf.
47477         * doc/posix-functions/sqrtf.texi: Mention the new module.
47479 2011-10-08  Bruno Haible  <bruno@clisp.org>
47481         Tests: Avoid link failures w.r.t. libintl.
47482         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
47483         $(LIBINTL).
47484         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
47485         $(LIBINTL).
47486         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
47487         against $(LIBINTL).
47488         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
47489         $(LIBINTL).
47490         * modules/openat-tests (Makefile.am): Link test-fchmodat against
47491         $(LIBINTL).
47492         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
47494 2011-10-08  Bruno Haible  <bruno@clisp.org>
47496         pow tests: Defeat compiler optimizations.
47497         * tests/test-pow.c (main): Assign arguments to x and y before use.
47499 2011-10-08  Bruno Haible  <bruno@clisp.org>
47501         gnulib-tool: Improve last commit.
47502         * gnulib-tool (func_modules_transitive_closure): Simplify code.
47503         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
47504         ignore dependencies that are not among the modules list.
47506 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
47508         gnulib-tool: don't follow dependencies to avoided modules
47509         This fixes a bug that is related to the previous one.
47510         * gnulib-tool (func_modules_transitive_closure)
47511         (func_emit_autoconf_snippets):
47512         Check whether a dependency is acceptable before using it.
47513         (--extract-dependencies): Report an error if --avoid is also used,
47514         since this combination of options is not yet supported.
47516         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
47517         Problem reported by Peter Dyballa in
47518         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
47519         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
47520         when echoing "$condition".
47522 2011-10-07  Bruno Haible  <bruno@clisp.org>
47524         Fix documentation about math functions on MacOS X.
47525         * doc/posix-functions/exp2.texi: Don't say the function is missing on
47526         MacOS X 10.5.
47527         * doc/posix-functions/fdim.texi: Likewise.
47528         * doc/posix-functions/feclearexcept.texi: Likewise.
47529         * doc/posix-functions/fegetenv.texi: Likewise.
47530         * doc/posix-functions/fegetround.texi: Likewise.
47531         * doc/posix-functions/feholdexcept.texi: Likewise.
47532         * doc/posix-functions/feraiseexcept.texi: Likewise.
47533         * doc/posix-functions/fesetenv.texi: Likewise.
47534         * doc/posix-functions/fesetround.texi: Likewise.
47535         * doc/posix-functions/fetestexcept.texi: Likewise.
47536         * doc/posix-functions/feupdateenv.texi: Likewise.
47537         * doc/posix-functions/fmax.texi: Likewise.
47538         * doc/posix-functions/fmin.texi: Likewise.
47539         * doc/posix-functions/log2.texi: Likewise.
47540         * doc/posix-functions/modff.texi: Likewise.
47541         * doc/posix-functions/nan.texi: Likewise.
47542         * doc/posix-functions/nanf.texi: Likewise.
47543         * doc/posix-functions/nextafterf.texi: Likewise.
47544         * doc/posix-functions/remquo.texi: Likewise.
47546 2011-10-07  Bruno Haible  <bruno@clisp.org>
47548         modff: Drop assumption about library that defines modff.
47549         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
47550         AC_CHECK_FUNCS.
47551         * modules/modff (Files): Add m4/mathfunc.m4.
47553 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
47555         raise tests: Avoid a GCC warning.
47556         * tests/test-raise.c (handler): Use _Noreturn.
47558 2011-10-07  Bruno Haible  <bruno@clisp.org>
47560         Tests for module 'ldexpf'.
47561         * modules/ldexpf-tests: New file.
47562         * tests/test-ldexpf.c: New file.
47564         New module 'ldexpf'.
47565         * lib/math.in.h (ldexpf): New declaration.
47566         * lib/ldexpf.c: New file.
47567         * m4/ldexpf.m4: New file.
47568         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
47569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
47570         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
47571         * modules/ldexpf: New file.
47572         * tests/test-math-c++.cc: Check the declaration of ldexpf.
47573         * doc/posix-functions/ldexpf.texi: Mention the new module.
47575 2011-10-06  Bruno Haible  <bruno@clisp.org>
47577         frexpf: Work around problems on IRIX and mingw.
47578         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
47579         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
47580         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
47581         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
47582         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
47583         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
47584         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
47586 2011-10-06  Bruno Haible  <bruno@clisp.org>
47588         fabsf: Drop assumption about library that defines fabsf.
47589         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
47590         AC_CHECK_FUNCS.
47591         * modules/fabsf (Files): Add m4/mathfunc.m4.
47593 2011-10-06  Bruno Haible  <bruno@clisp.org>
47595         frexpf: Drop assumption about library that defines frexpf.
47596         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
47597         'int *', 'float *', 'long double *', 'float', 'long double'.
47598         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
47599         AC_CHECK_FUNCS.
47600         * modules/frexpf (Files): Add m4/mathfunc.m4.
47602         Tests for module 'frexpf'.
47603         * modules/frexpf-tests: New file.
47604         * tests/test-frexpf.c: New file.
47606         New module 'frexpf'.
47607         * lib/math.in.h (frexpf): New declaration.
47608         * lib/frexpf.c: New file.
47609         * m4/frexpf.m4: New file.
47610         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
47611         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
47612         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
47613         * modules/frexpf: New file.
47614         * tests/test-math-c++.cc: Check the declaration of frexpf.
47615         * doc/posix-functions/frexpf.texi: Mention the new module.
47617 2011-10-06  Bruno Haible  <bruno@clisp.org>
47619         math: Sort function declarations of math.in.h.
47620         * lib/math.in.h (frexp, logb): Move declarations.
47622 2011-10-05  Bruno Haible  <bruno@clisp.org>
47624         Tests for module 'modff'.
47625         * modules/modff-tests: New file.
47626         * tests/test-modff.c: New file.
47628         New module 'modff'.
47629         * lib/math.in.h (modff): New declaration.
47630         * lib/modff.c: New file.
47631         * m4/modff.m4: New file.
47632         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
47633         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
47634         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
47635         * modules/modff: New file.
47636         * tests/test-math-c++.cc: Check the declaration of modff.
47637         * doc/posix-functions/modff.texi: Mention the new module.
47639         modf tests: Make test sharper.
47640         * tests/test-modf.c (main): Strengthen upper bound.
47642         modf: Use a .m4 file.
47643         * m4/modf.m4: New file.
47644         * modules/modf (Files): Add it.
47645         (configure.ac): Just invoke gl_FUNC_MODF.
47647 2011-10-05  Bruno Haible  <bruno@clisp.org>
47649         Tests for module 'fmodf'.
47650         * modules/fmodf-tests: New file.
47651         * tests/test-fmodf.c: New file.
47653         New module 'fmodf'.
47654         * lib/math.in.h (fmodf): New declaration.
47655         * lib/fmodf.c: New file.
47656         * m4/fmodf.m4: New file.
47657         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
47658         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
47659         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
47660         * modules/fmodf: New file.
47661         * tests/test-math-c++.cc: Check the declaration of fmodf.
47662         * doc/posix-functions/fmodf.texi: Mention the new module.
47664         fmod: Use a .m4 file.
47665         * m4/fmod.m4: New file.
47666         * modules/fmod (Files): Add it.
47667         (configure.ac): Just invoke gl_FUNC_FMOD.
47669 2011-10-05  Bruno Haible  <bruno@clisp.org>
47671         Tests for module 'fabsf'.
47672         * modules/fabsf-tests: New file.
47673         * tests/test-fabsf.c: New file.
47675         New module 'fabsf'.
47676         * lib/math.in.h (fabsf): New declaration.
47677         * lib/fabsf.c: New file.
47678         * m4/fabsf.m4: New file.
47679         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
47680         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
47681         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
47682         * modules/fabsf: New file.
47683         * tests/test-math-c++.cc: Check the declaration of fabsf.
47684         * doc/posix-functions/fabsf.texi: Mention the new module.
47686         fabs: Use a .m4 file.
47687         * m4/fabs.m4: New file.
47688         * modules/fabs (Files): Add it.
47689         (configure.ac): Just invoke gl_FUNC_FABS.
47691 2011-10-05  Jim Meyering  <meyering@redhat.com>
47693         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
47694         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
47695         ls -lL regression introduced in coreutils-8.12, it does so at the
47696         cost of an additional stat call in the common case.  Besides, now
47697         that the kernel change that prompted commit 95f7c57f has been reverted
47698         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
47699         we have no use for commit 95f7c57f, "file-has-acl: use
47700         acl_extended_file_nofollow if available".
47702 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
47704         file-has-acl: revert unintended change in behavior of ls -L
47705         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
47706         derived from...
47707         (file_has_acl): ...code here.  Call it.
47708         This problem was introduced with 2011-07-22 commit 95f7c57f,
47709         "file-has-acl: use acl_extended_file_nofollow if available".
47710         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
47712 2011-10-03  Bruno Haible  <bruno@clisp.org>
47714         poll: Avoid link errors on MSVC.
47715         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
47716         * modules/poll (Depends-on): Add sockets.
47717         (Link): New section.
47718         * NEWS: Mention the change.
47719         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
47720         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
47721         $(LIB_POLL) instead of $(LIBSOCKET).
47723 2011-10-03  Bruno Haible  <bruno@clisp.org>
47725         sys_select tests: Fix link error on MSVC 9.
47726         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
47727         with $(LIB_SELECT) instead of $(LIBSOCKET).
47729 2011-10-03  Bruno Haible  <bruno@clisp.org>
47731         sys_select: Fix compilation error on mingw.
47732         * lib/sys_select.in.h: On native Windows, include <io.h>.
47734 2011-10-03  Bruno Haible  <bruno@clisp.org>
47736         wmemset: Support for MSVC.
47737         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
47738         whether wmemset() exists.
47740 2011-10-03  Bruno Haible  <bruno@clisp.org>
47742         wmemmove: Support for MSVC.
47743         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
47744         whether wmemmove() exists.
47746 2011-10-03  Bruno Haible  <bruno@clisp.org>
47748         wmemcpy: Support for MSVC.
47749         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
47750         whether wmemcpy() exists.
47752 2011-10-03  Bruno Haible  <bruno@clisp.org>
47754         wmemcmp: Support for MSVC.
47755         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
47756         whether wmemcmp() exists.
47758 2011-10-03  Bruno Haible  <bruno@clisp.org>
47760         wmemchr: Support for MSVC.
47761         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
47762         whether wmemchr() exists.
47764 2011-10-03  Bruno Haible  <bruno@clisp.org>
47766         glthread/*, strsignal: Support for MSVC.
47767         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
47768         including <winsock.h> on MSVC 9.
47769         * lib/glthread/lock.h: Likewise.
47770         * lib/glthread/thread.h: Likewise.
47771         * lib/glthread/tls.h: Likewise.
47772         * lib/glthread/yield.h: Likewise.
47773         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
47774         if HAVE_UNISTD_H is false.
47775         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
47777 2011-10-03  Bruno Haible  <bruno@clisp.org>
47779         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
47780         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
47781         Set to 100000.
47783 2011-10-03  Bruno Haible  <bruno@clisp.org>
47785         acl: Fix specification.
47786         * lib/file-has-acl.c (file_has_acl): Fix specification.
47788 2011-10-03  Bruno Haible  <bruno@clisp.org>
47790         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
47791         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
47792         (compute_curr_prefix, shared_library_fullname,
47793         find_shared_library_fullname, get_shared_library_fullname, relocate):
47794         Use it together with PIC && INSTALLDIR.
47795         Reported by <jojelino@gmail.com>
47796         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
47798 2011-10-01  Jim Meyering  <meyering@redhat.com>
47800         maint.mk: adjust a release-related rule not to require use of gzip
47801         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
47802         Instead, check each file in $(DIST_ARCHIVES).  This is better for
47803         projects that build only .tar.xz files.  Also fix an erroneous test.
47805         test-linkat: don't leave behind a temporary file
47806         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
47807         Otherwise, coreutils' "make distcheck" would fail with this:
47808           Only in /c/cu/tests/torture/coreutils/test/\
47809             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
47810           make[2]: *** [my-distcheck] Error 1
47812         float, math: add omitted file
47813         * lib/itold.c: Add file, required for yesterday's float change.
47815 2011-10-01  Bruno Haible  <bruno@clisp.org>
47817         isinf: Fix for OpenBSD/x86.
47818         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
47819         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
47820         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
47822 2011-10-01  Bruno Haible  <bruno@clisp.org>
47824         isfinite: Fix syntax error in configure test.
47825         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
47827         isfinite: Fix typo.
47828         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
47829         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
47831 2011-10-01  Bruno Haible  <bruno@clisp.org>
47833         nonblocking tests: Fix test failure on Linux/IA-64.
47834         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
47835         Set to 270000.
47837 2011-10-01  Bruno Haible  <bruno@clisp.org>
47839         mkfifoat tests: Fix a test failure on mingw.
47840         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
47841         with error ENOSYS.
47843 2011-09-30  Bruno Haible  <bruno@clisp.org>
47845         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
47846         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
47847         'long double'. Set REPLACE_ITOLD.
47848         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
47849         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
47850         * lib/itold.c: New file.
47851         * modules/float (Files): Add lib/itold.c.
47852         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
47853         (Makefile.am): Substitute REPLACE_ITOLD.
47854         * modules/math (Depends-on): Add float.
47855         (Makefile.am): Substitute REPLACE_ITOLD.
47856         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
47857         * doc/posix-headers/math.texi: Likewise.
47858         * doc/posix-functions/logl.texi: Likewise.
47860 2011-09-30  Bruno Haible  <bruno@clisp.org>
47862         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
47863         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
47864         Set to 140000.
47866 2011-09-30  Bruno Haible  <bruno@clisp.org>
47868         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
47869         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
47870         invocation, say "right after AC_PROG_CC_STDC", not "right after
47871         AC_PROG_CC".
47872         Reported by Gary V. Vaughan <gary@gnu.org>.
47874 2011-09-30  Bruno Haible  <bruno@clisp.org>
47876         Centralize C99 requirement.
47877         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
47878         * modules/stdarg (configure.ac-early): Invoke it instead of
47879         AC_PROG_CC_STDC.
47880         Reported by Gary V. Vaughan and Paul Eggert.
47882 2011-09-29  Bruno Haible  <bruno@clisp.org>
47884         float: Fix LDBL_MAX value on Linux/PowerPC.
47885         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
47886         on Linux/PowerPC.
47887         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
47888         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
47889         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
47890         platform.
47891         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
47893 2011-09-29  Bruno Haible  <bruno@clisp.org>
47895         doc: Improve doc about gl_EARLY.
47896         * doc/gnulib-tool.texi (Initial import): Mention where to place an
47897         AC_PROG_CC_STDC invocation.
47898         Reported by Gary V. Vaughan <gary@gnu.org>.
47900 2011-09-28  Bruno Haible  <bruno@clisp.org>
47902         fgetc, fputc, fread, fwrite tests: Fix link error.
47903         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
47904         on non-MSVC platforms.
47905         * tests/test-fputc.c (main): Likewise.
47906         * tests/test-fread.c (main): Likewise.
47907         * tests/test-fwrite.c (main): Likewise.
47908         Reported by Jim Meyering.
47910 2011-09-27  Bruno Haible  <bruno@clisp.org>
47912         fputc, fwrite tests: Avoid test failure on MSVC.
47913         * tests/test-fgetc.c: Include msvc-inval.h.
47914         (main): Invoke gl_msvc_inval_ensure_handler.
47915         * tests/test-fputc.c: Include msvc-inval.h.
47916         (main): Invoke gl_msvc_inval_ensure_handler.
47917         * tests/test-fread.c: Include msvc-inval.h.
47918         (main): Invoke gl_msvc_inval_ensure_handler.
47919         * tests/test-fwrite.c: Include msvc-inval.h.
47920         (main): Invoke gl_msvc_inval_ensure_handler.
47921         * modules/fgetc-tests (Depends-on): Add msvc-inval.
47922         * modules/fputc-tests (Depends-on): Likewise.
47923         * modules/fread-tests (Depends-on): Likewise.
47924         * modules/fwrite-tests (Depends-on): Likewise.
47926 2011-09-27  Bruno Haible  <bruno@clisp.org>
47928         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
47929         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
47930         (raise): Remove older, duplicated declaration.
47931         (_gl_raise_SIGPIPE): New declaration.
47932         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
47933         (rpl_raise): Remove function.
47934         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
47935         a gnulib-defined SIGPIPE here.
47936         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
47937         'sigprocmask' has detected missing signal-blocking and the module
47938         'sigpipe' is enabled.
47939         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47941 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
47943         base64-tests: avoid memory leak
47944         * tests/test-base64.c (main): Plug memory leak.
47946         base32: new module
47947         * modules/base32: New module.
47948         * lib/base32.c: New file.
47949         * lib/base32.h: Likewise.
47950         * m4/base32.m4: Likewise.
47951         * modules/base32-tests: New test.
47952         * tests/test-base32.c: Likewise.
47953         * MODULES.html.sh (Misc): Mention it.
47955 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47957         gnulib: use more-standard license notice wording
47958         * gnulib-tool (func_emit_copyright_notice): When emitting a
47959         license notice into a file, use the standard wording as suggested
47960         by the current information for GNU maintainers, except say "file"
47961         rather than "program".  The new wording gives a license version
47962         number, which addresses an issue raised by Glenn Morris in
47963         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
47964         * m4/onceonly.m4: Use that same wording here, too.
47966         dup2: minor simplification
47967         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
47968         as lib/dup2.c no longer uses 'inline'.
47970 2011-09-25  Bruno Haible  <bruno@clisp.org>
47972         strings: Fix compilation error on MSVC.
47973         * lib/strings.in.h: Include <stddef.h> for size_t.
47975 2011-09-25  Bruno Haible  <bruno@clisp.org>
47977         fflush et al.: Document limitation on MSVC.
47978         * doc/posix-functions/fflush.texi: Document possible crash in handling
47979         mode other than DEFAULT_HANDLING.
47980         * doc/posix-functions/fgetc.texi: Likewise.
47981         * doc/posix-functions/fputc.texi: Likewise.
47982         * doc/posix-functions/fread.texi: Likewise.
47983         * doc/posix-functions/fwrite.texi: Likewise.
47985 2011-09-25  Bruno Haible  <bruno@clisp.org>
47987         msvc-inval: Allow three invalid parameter handling modes.
47988         * lib/msvc-inval.h: Don't include <stdlib.h> here.
47989         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
47990         macros.
47991         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
47992         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
47993         SANE_LIBRARY_HANDLING as a no-op.
47994         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
47995         <stdlib.h>.
47996         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
47998 2011-09-25  Bruno Haible  <bruno@clisp.org>
48000         msvc-inval: Make handler multithread-safe.
48001         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
48002         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
48003         declarations.
48004         (gl_msvc_inval_current): New declaration.
48005         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48006         Operate on the structure returned by gl_msvc_inval_current().
48007         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
48008         Remove varaiables.
48009         (tls_index, tls_initialized): New variables.
48010         (not_per_thread): New variable.
48011         (gl_msvc_inval_current): New function.
48012         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
48013         returned by gl_msvc_inval_current().
48015 2011-09-25  Bruno Haible  <bruno@clisp.org>
48017         msvc-inval: Install handler globally.
48018         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
48019         !_MSC_VER.
48020         (gl_msvc_invalid_parameter_handler): Remove declaration.
48021         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
48022         declarations.
48023         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
48024         Install the handler globally, don't uninstall it.
48025         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
48026         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
48027         currently valid, call RaiseException instead.
48028         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
48029         for !_MSC_VER.
48031 2011-09-25  Bruno Haible  <bruno@clisp.org>
48033         strerror_r-posix: Fix for MSVC 9.
48034         * lib/strerror_r.c (local_snprintf): New function.
48035         (snprintf): Define to local_snprintf, not to _snprintf.
48037 2011-09-25  Bruno Haible  <bruno@clisp.org>
48039         ftruncate: Support for MSVC 9.
48040         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
48041         (chsize_nothrow): New function.
48042         (chsize): Redefine as a macro.
48043         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
48044         * modules/ftruncate (Depends-on): Add msvc-inval.
48046 2011-09-25  Bruno Haible  <bruno@clisp.org>
48048         New module 'fstat'.
48049         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
48050         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
48051         * lib/fchdir.c (rpl_fstat): Remove function.
48052         * m4/fstat.m4: New file.
48053         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
48054         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
48055         declared.
48056         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
48057         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
48058         * modules/fstat: New file.
48059         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
48060         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
48061         is set.
48062         * doc/posix-functions/fstat.texi: Mention the new module and the
48063         problem on MSVC.
48064         * NEWS: Mention the change.
48065         * modules/acl (Depends-on): Add fstat.
48066         * modules/chdir-safer (Depends-on): Likewise.
48067         * modules/chown (Depends-on): Likewise.
48068         * modules/copy-file (Depends-on): Likewise.
48069         * modules/fchdir (Depends-on): Likewise.
48070         * modules/fdopendir (Depends-on): Likewise.
48071         * modules/fopen (Depends-on): Likewise.
48072         * modules/fts (Depends-on): Likewise.
48073         * modules/getcwd (Depends-on): Likewise.
48074         * modules/isapipe (Depends-on): Likewise.
48075         * modules/linkat (Depends-on): Likewise.
48076         * modules/lseek (Depends-on): Likewise.
48077         * modules/mkdir-p (Depends-on): Likewise.
48078         * modules/open (Depends-on): Likewise.
48079         * modules/openat (Depends-on): Likewise.
48080         * modules/read-file (Depends-on): Likewise.
48081         * modules/renameat (Depends-on): Likewise.
48082         * modules/utimens (Depends-on): Likewise.
48084 2011-09-25  Bruno Haible  <bruno@clisp.org>
48086         linkat: Fix compilation on MSVC 9.
48087         * lib/linkat.c: Don't include <stdint.h>.
48089 2011-09-25  Bruno Haible  <bruno@clisp.org>
48091         fclose: Support for MSVC 9.
48092         * lib/fclose.c: Include msvc-inval.h.
48093         (fclose_nothrow): New function.
48094         (rpl_fclose): Use it.
48095         * modules/fclose (Depends-on): Add msvc-inval.
48096         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
48098 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
48100         dup2: minor simplifications
48101         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
48102         that it's a performance win.
48103         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
48104         ! defined __CYGWIN__)" to "ifdef F_GETFL".
48106 2011-09-24  Jim Meyering  <meyering@redhat.com>
48108         test-futimens: avoid a warning from gcc -Wshadow
48109         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
48110         to avoid a shadowing warning.
48112 2011-09-24  Bruno Haible  <bruno@clisp.org>
48114         fdopen: Support for MSVC 9.
48115         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
48116         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
48117         * lib/fdopen.c: Include msvc-inval.h.
48118         (fdopen_nothrow): New function.
48119         (rpl_fdopen): Use it.
48120         * modules/fdopen (Depends-on): Add msvc-inval.
48121         * modules/fclose-tests (Depends-on): Add fdopen.
48122         * modules/fflush-tests (Depends-on): Likewise.
48123         * modules/fgetc-tests (Depends-on): Likewise.
48124         * modules/fputc-tests (Depends-on): Likewise.
48125         * modules/fread-tests (Depends-on): Likewise.
48126         * modules/freopen-tests (Depends-on): Likewise.
48127         * modules/fseeko-tests (Depends-on): Likewise.
48128         * modules/ftello-tests (Depends-on): Likewise.
48129         * modules/fwrite-tests  (Depends-on): Likewise.
48130         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
48132 2011-09-24  Bruno Haible  <bruno@clisp.org>
48134         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
48135         * modules/fgetc-tests (Depends-on): Add unistd.
48136         * modules/fputc-tests (Depends-on): Likewise.
48137         * modules/fread-tests (Depends-on): Likewise.
48138         * modules/fwrite-tests (Depends-on): Likewise.
48140 2011-09-24  Bruno Haible  <bruno@clisp.org>
48142         dup: Simplify autoconf test.
48143         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
48144         on gl_MSVC_INVAL's result.
48146 2011-09-24  Bruno Haible  <bruno@clisp.org>
48148         Tests for function fwrite().
48149         * modules/fwrite-tests: New file.
48150         * tests/test-fwrite.c: New file.
48151         * modules/stdio-tests (Depends-on): Add fwrite-tests.
48153         Tests for function fread().
48154         * modules/fread-tests: New file.
48155         * tests/test-fread.c: New file.
48156         * modules/stdio-tests (Depends-on): Add fread-tests.
48158         Activate fputc tests.
48159         * modules/stdio-tests (Depends-on): Add fputc-tests.
48161         Enhance fgetc, fputc tests.
48162         * tests/test-fgetc.c (main): Also test the stream's error indicator.
48163         * tests/test-fputc.c (main): Likewise.
48165 2011-09-24  Bruno Haible  <bruno@clisp.org>
48167         write: Support for MSVC 9.
48168         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48169         is not 1.
48170         * lib/write.c (write_nothrow): New function.
48171         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
48172         not 1. Use write_nothrow.
48173         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
48174         invalid parameter handler.
48175         (gl_PREREQ_WRITE): New macro.
48176         * modules/write (Depends-on): Add msvc-inval.
48177         (configure.ac): Invoke gl_PREREQ_WRITE.
48178         * doc/posix-functions/write.texi: Mention the problem on MSVC.
48180 2011-09-24  Bruno Haible  <bruno@clisp.org>
48182         read: Fix last commit.
48183         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
48185 2011-09-24  Bruno Haible  <bruno@clisp.org>
48187         dup2: Fix last commit.
48188         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
48189         (rpl_dup2): Disable fcntl workaround on native Windows.
48191         sigprocmask: Make code safer.
48192         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
48193         section that changes macro definitions for this compilation unit.
48195 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
48197         dup2: clarify by coalescing Windows-specific material
48198         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
48199         "msvc-nothrow.h"' to the Windows-specific section, so that the
48200         Emacs source need not contain these include files.
48201         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
48202         Windows-specific fixes into this function rather than just the
48203         nothrow fix, as this shortens and clarifies the code.  Always
48204         define as a function, as that's a bit cleaner than having it be
48205         sometimes a function and sometimes a macro.
48206         (rpl_dup2): Move the Windows-specific stuff out of here and into
48207         ms_windows_dup2.  Don't protect the Haiku-related fix with
48208         "#if !defined __linux__", as the same code also works around
48209         a Linux kernel bug, and it doesn't add any system calls on any
48210         platform.  Add comment about FreeBSD 6.1.
48212         sigprocmask: move #include directive
48213         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
48214         Windows-specific section, so that the Emacs source need not
48215         contain msvc-inval.h.
48217 2011-09-23  Bruno Haible  <bruno@clisp.org>
48219         read: Support for MSVC 9.
48220         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
48221         is not 1.
48222         * lib/read.c (read_nothrow): New function.
48223         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
48224         read_nothrow.
48225         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
48226         invalid parameter handler.
48227         (gl_PREREQ_READ): New macro.
48228         * modules/read (Depends-on): Add msvc-inval.
48229         (configure.ac): Invoke gl_PREREQ_READ.
48230         * doc/posix-functions/read.texi: Mention the problem on MSVC.
48232 2011-09-23  Bruno Haible  <bruno@clisp.org>
48234         close: Support for MSVC 9.
48235         * lib/close.c: Include <errno.h>, msvc-inval.h.
48236         (close_nothrow): New function.
48237         (rpl_close): Use it.
48238         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
48239         invalid parameter handler.
48240         * modules/close (Depends-on): Add msvc-inval.
48241         * modules/dup2-tests (Depends-on): Add close.
48242         * modules/dup3-tests (Depends-on): Likewise.
48243         * modules/fcntl-tests (Depends-on): Likewise.
48244         * modules/spawn-pipe-tests (Depends-on): Likewise.
48245         * modules/unistd-safer-tests (Depends-on): Likewise.
48246         * doc/posix-functions/close.texi: Mention the problem on MSVC.
48248 2011-09-23  Bruno Haible  <bruno@clisp.org>
48250         New module 'dup'.
48251         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
48252         Allow replacement.
48253         * lib/dup.c: New file.
48254         * lib/fchdir.c (rpl_dup): Remove function.
48255         * m4/dup.m4: New file.
48256         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
48257         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
48258         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
48259         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
48260         * modules/dup: New file.
48261         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
48262         'dup' module is in use.
48263         * modules/fdopendir (Depends-on): Add dup.
48264         * modules/fdutimensat-tests (Depends-on): Likewise.
48265         * modules/fts (Depends-on): Likewise.
48266         * modules/futimens-tests (Depends-on): Likewise.
48267         * modules/posix_spawnp-tests (Depends-on): Likewise.
48268         * modules/unistd-safer-tests (Depends-on): Likewise.
48269         * modules/utimens-tests (Depends-on): Likewise.
48270         * doc/posix-functions/dup.texi: Mention the new module and the problem
48271         on MSVC.
48273 2011-09-23  Bruno Haible  <bruno@clisp.org>
48275         getdtablesize: Support for MSVC 9.
48276         * lib/getdtablesize.c: Include msvc-inval.h.
48277         (_setmaxstdio_nothrow): New function.
48278         (_setmaxstdio): Redefine it.
48279         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
48280         * modules/getdtablesize (Depends-on): Add msvc-inval.
48281         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
48283 2011-09-23  Bruno Haible  <bruno@clisp.org>
48285         signal-h: Rename from signal.
48286         * modules/signal-h: Renamed from modules/signal.
48287         * modules/pthread_sigmask (Depends-on): Update.
48288         * modules/raise (Depends-on): Likewise.
48289         * modules/sigaction (Depends-on): Likewise.
48290         * modules/sigpipe (Depends-on): Likewise.
48291         * modules/sigprocmask (Depends-on): Likewise.
48292         * modules/sys_select (Depends-on): Likewise.
48293         * modules/signal-h-tests: Renamed from modules/signal-tests.
48294         (Files, Depends-on, Makefile.am): Update.
48295         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
48296         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
48297         (Files, Makefile.am): Update.
48298         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
48299         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
48300         * modules/signal: New placeholder file.
48301         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
48302         * doc/posix-headers/signal.texi: Update.
48303         * NEWS: Mention the change.
48305 2011-09-23  Bruno Haible  <bruno@clisp.org>
48307         sigprocmask: Avoid crashes through signal() on MSVC 9.
48308         * lib/sigprocmask.c: Include msvc-inval.h.
48309         (signal_nothrow): New function.
48310         (signal): Redefine it.
48311         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
48312         * modules/sigprocmask (Depends-on): Add msvc-inval.
48313         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
48315 2011-09-23  Bruno Haible  <bruno@clisp.org>
48317         Tests for module 'raise'.
48318         * modules/raise-tests: New file.
48319         * tests/test-raise.c: New file.
48321         raise: Support for MSVC.
48322         * lib/signal.in.h (raise): New declaration.
48323         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
48324         for native Windows platforms.
48325         * m4/raise.m4: New file.
48326         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
48327         HAVE_RAISE, REPLACE_RAISE.
48328         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
48329         REPLACE_RAISE.
48330         * modules/raise (Status, Notice): Remove fields.
48331         (Files): Add m4/raise.m4.
48332         (Depends-on): Add signal, msvc-inval.
48333         (configure.ac): Use the common idioms.
48334         (Maintainer): Add me.
48335         * tests/test-signal-c++.cc: Check the signature of raise.
48336         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
48338 2011-09-23  Bruno Haible  <bruno@clisp.org>
48340         pipe2: Fix compilation on pre-C99 compilers.
48341         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
48343 2011-09-23  Bruno Haible  <bruno@clisp.org>
48345         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
48346         * lib/msvc-nothrow.h: New file.
48347         * lib/msvc-nothrow.c: New file.
48348         * m4/msvc-nothrow.m4: New file.
48349         * modules/msvc-nothrow: New file.
48350         * lib/dup2.c: Include msvc-nothrow.h.
48351         (rpl_dup2): No need to protect _get_osfhandle call here.
48352         * lib/accept4.c: Include msvc-nothrow.h.
48353         * lib/error.c: Likewise.
48354         * lib/fcntl.c: Likewise.
48355         * lib/lseek.c: Likewise.
48356         * lib/nonblocking.c: Likewise.
48357         * lib/poll.c: Likewise.
48358         * lib/read.c: Likewise.
48359         * lib/select.c: Likewise.
48360         * lib/sockets.h: Likewise.
48361         * lib/sockets.c: Likewise.
48362         * lib/stdio-read.c: Likewise.
48363         * lib/stdio-write.c: Likewise.
48364         * lib/write.c: Likewise.
48365         * lib/w32sock.h: Likewise.
48366         * lib/w32spawn.h: Likewise.
48367         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
48368         * lib/fsync.c: Likewise.
48369         * lib/isapipe.c: Likewise.
48370         * modules/dup2 (Depends-on): Add msvc-nothrow.
48371         * modules/accept4 (Depends-on): Likewise.
48372         * modules/error (Depends-on): Likewise.
48373         * modules/fcntl (Depends-on): Likewise.
48374         * modules/lseek (Depends-on): Likewise.
48375         * modules/nonblocking (Depends-on): Likewise.
48376         * modules/poll (Depends-on): Likewise.
48377         * modules/read (Depends-on): Likewise.
48378         * modules/select (Depends-on): Likewise.
48379         * modules/sockets (Depends-on): Likewise.
48380         * modules/sigpipe (Depends-on): Likewise.
48381         * modules/write (Depends-on): Likewise.
48382         * modules/accept (Depends-on): Likewise.
48383         * modules/bind (Depends-on): Likewise.
48384         * modules/connect (Depends-on): Likewise.
48385         * modules/gethostname (Depends-on): Likewise.
48386         * modules/getpeername (Depends-on): Likewise.
48387         * modules/getsockname (Depends-on): Likewise.
48388         * modules/getsockopt (Depends-on): Likewise.
48389         * modules/ioctl (Depends-on): Likewise.
48390         * modules/listen (Depends-on): Likewise.
48391         * modules/recv (Depends-on): Likewise.
48392         * modules/recvfrom (Depends-on): Likewise.
48393         * modules/send (Depends-on): Likewise.
48394         * modules/sendto (Depends-on): Likewise.
48395         * modules/setsockopt (Depends-on): Likewise.
48396         * modules/shutdown (Depends-on): Likewise.
48397         * modules/socket (Depends-on): Likewise.
48398         * modules/execute (Depends-on): Likewise.
48399         * modules/spawn-pipe (Depends-on): Likewise.
48400         * modules/flock (Depends-on): Likewise.
48401         * modules/fsync (Depends-on): Likewise.
48402         * modules/isapipe (Depends-on): Likewise.
48403         * tests/test-cloexec.c: Include msvc-nothrow.h.
48404         * tests/test-dup-safer.c: Likewise.
48405         * tests/test-dup2.c: Likewise.
48406         * tests/test-dup3.c: Likewise.
48407         * tests/test-fcntl.c: Likewise.
48408         * tests/test-pipe.c: Likewise.
48409         * tests/test-pipe2.c: Likewise.
48410         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
48411         * modules/unistd-safer-tests (Depends-on): Likewise.
48412         * modules/dup2-tests (Depends-on): Likewise.
48413         * modules/dup3-tests (Depends-on): Likewise.
48414         * modules/fcntl-tests (Depends-on): Likewise.
48415         * modules/pipe-posix-tests (Depends-on): Likewise.
48416         * modules/pipe2-tests (Depends-on): Likewise.
48418 2011-09-23  Bruno Haible  <bruno@clisp.org>
48420         dup2: Make code more maintainable.
48421         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
48422         (rpl_dup2): Use it.
48423         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
48424         * modules/dup2 (configure.ac): Invoke it.
48425         Reported by Paul Eggert.
48427 2011-09-23  Bruno Haible  <bruno@clisp.org>
48429         msvc-inval: Fix compilation error.
48430         * lib/msvc-inval.h: Include <excpt.h>.
48432 2011-09-23  Bruno Haible  <bruno@clisp.org>
48434         mkdir: Tweak for MSVC 9.
48435         * lib/sys_stat.in.h: Update comments.
48436         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
48438         Tests for module 'chdir'.
48439         * modules/chdir-tests: New file.
48440         * tests/test-chdir.c: New file.
48442         New module 'chdir'.
48443         * modules/chdir: New file.
48444         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
48445         (chdir): New declaration.
48446         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
48447         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
48448         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
48449         * tests/test-unistd-c++.cc: Check signature of chdir.
48450         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
48451         * modules/chdir-long (Depends-on): Add chdir.
48452         * modules/fchdir (Depends-on): Likewise.
48453         * modules/rename (Depends-on): Likewise.
48454         * modules/savewd (Depends-on): Likewise.
48456         rmdir: Support for mingw, MSVC 9.
48457         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
48458         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
48460         getcwd: Tweak for MSVC 9.
48461         * lib/unistd.in.h: Update comments.
48462         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
48464 2011-09-22  Bruno Haible  <bruno@clisp.org>
48466         strerror_r-posix: Avoid a link error on MSVC.
48467         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
48468         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
48470 2011-09-22  Bruno Haible  <bruno@clisp.org>
48472         select: Avoid link errors on MSVC.
48473         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
48474         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
48475         * modules/pselect (Link): Likewise.
48476         * NEWS: Mention the change.
48477         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
48478         test-select-stdin against $(LIB_SELECT).
48479         * modules/pselect-tests (Makefile.am): Link test-pselect against
48480         $(LIB_SELECT).
48482 2011-09-22  Bruno Haible  <bruno@clisp.org>
48484         select: Avoid compilation error on MSVC.
48485         * lib/select.c: Don't include <stdbool.h>.
48487 2011-09-21  Bruno Haible  <bruno@clisp.org>
48489         Consolidate all uses of PATH_MAX in *.m4 files.
48490         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
48491         macros.
48492         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
48493         and gl_PATHMAX_SNIPPET.
48494         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48495         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48496         * modules/chdir-long (Files): Add m4/pathmax.m4.
48497         * modules/getcwd (Files): Likewise.
48499 2011-09-21  Bruno Haible  <bruno@clisp.org>
48501         ftruncate: Un-deprecate, concentrate on Win32 support.
48502         * modules/ftruncate (Status, Notice): Remove sections.
48503         (Depends-on): Add largefile.
48504         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
48505         non-mingw platforms.
48506         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
48507         include <io.h>.
48508         * modules/perror-tests (Depends-on): Add ftruncate.
48509         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
48510         'ftruncate' module.
48512 2011-09-21  Bruno Haible  <bruno@clisp.org>
48514         Add dependencies to new dirent related modules.
48515         * modules/opendir (Depends-on): Add closedir.
48516         * modules/getcwd (Depends-on): Add opendir, closedir.
48517         * modules/dirent-safer-tests (Depends-on): Likewise.
48518         * modules/fdopendir-tests (Depends-on): Likewise.
48519         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
48520         * modules/renameat-tests (Depends-on): Likewise.
48522 2011-09-21  Bruno Haible  <bruno@clisp.org>
48524         opendir: Avoid compilation error on mingw.
48525         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
48526         * modules/opendir (Depends-on): Add unistd.
48528 2011-09-21  Bruno Haible  <bruno@clisp.org>
48530         ftruncate tests: Avoid a test failure on mingw.
48531         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
48533 2011-09-21  Bruno Haible  <bruno@clisp.org>
48535         select tests: Avoid test failures on OSF/1 5.1 and mingw.
48536         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
48537         native Windows.
48539 2011-09-21  Bruno Haible  <bruno@clisp.org>
48541         New module 'fdopen'.
48542         * lib/stdio.in.h (fdopen): New declaration.
48543         * lib/fdopen.c: New file.
48544         * m4/fdopen.m4: New file.
48545         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
48546         REPLACE_FDOPEN.
48547         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
48548         REPLACE_FDOPEN.
48549         * modules/fdopen: New file.
48550         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
48551         * tests/test-stdio-c++.cc: Check signature of fdopen.
48552         * doc/posix-functions/fdopen.texi: Mention the new module.
48554 2011-09-21  Bruno Haible  <bruno@clisp.org>
48556         unlockpt tests: Avoid test failure on NetBSD 5.1.
48557         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
48558         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
48560 2011-09-21  Bruno Haible  <bruno@clisp.org>
48562         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
48563         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
48564         * tests/test-getlogin_r.c (main): Likewise.
48566 2011-09-20  Bruno Haible  <bruno@clisp.org>
48568         time tests: Don't require pid_t.
48569         * doc/posix-headers/time.texi: Revert last change.
48570         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
48571         * tests/test-time.c: Comment out the check for pid_t.
48573 2011-09-20  Bruno Haible  <bruno@clisp.org>
48575         fsync tests: Avoid a test failure on mingw.
48576         * tests/test-fsync.c (main): Allow a failure with EIO.
48578 2011-09-20  Bruno Haible  <bruno@clisp.org>
48580         euidaccess: Update comments.
48581         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
48583 2011-09-20  Bruno Haible  <bruno@clisp.org>
48585         Ensure EBADF returns for socket functions on mingw.
48586         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
48587         descriptor is invalid.
48588         * lib/bind.c (rpl_bind): Likewise.
48589         * lib/connect.c (rpl_connect): Likewise.
48590         * lib/getpeername.c (rpl_getpeername): Likewise.
48591         * lib/getsockname.c (rpl_getsockname): Likewise.
48592         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48593         * lib/listen.c (rpl_listen): Likewise.
48594         * lib/recv.c (rpl_recv): Likewise.
48595         * lib/recvfrom.c (rpl_recvfrom): Likewise.
48596         * lib/send.c (rpl_send): Likewise.
48597         * lib/sendto.c (rpl_sendto): Likewise.
48598         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48599         * lib/shutdown.c (rpl_shutdown): Likewise.
48601 2011-09-20  Bruno Haible  <bruno@clisp.org>
48603         select tests: EBADF tests.
48604         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
48605         test_bad_fd): New functions.
48606         (test_function): Invoke also test_bad_fd.
48608 2011-09-20  Bruno Haible  <bruno@clisp.org>
48610         Tests for module 'posix_spawn_file_actions_addopen.
48611         * modules/posix_spawn_file_actions_addopen-tests: New file.
48612         * tests/test-posix_spawn_file_actions_addopen.c: New file.
48614         Tests for module 'posix_spawn_file_actions_adddup2'.
48615         * modules/posix_spawn_file_actions_adddup2-tests: New file.
48616         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
48618         Tests for module 'posix_spawn_file_actions_addclose'.
48619         * modules/posix_spawn_file_actions_addclose-tests: New file.
48620         * tests/test-posix_spawn_file_actions_addclose.c: New file.
48622 2011-09-20  Bruno Haible  <bruno@clisp.org>
48624         Tests for module 'unlockpt'.
48625         * modules/unlockpt-tests: New file.
48626         * tests/test-unlockpt.c: New file.
48627         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
48629         Tests for module 'grantpt'.
48630         * modules/grantpt-tests: New file.
48631         * tests/test-grantpt.c: New file.
48632         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
48634 2011-09-20  Bruno Haible  <bruno@clisp.org>
48636         freopen tests: EBADF tests.
48637         * tests/test-freopen.c: Include errno.h, unistd.h.
48638         (main): Add tests for EBADF, commented out for the moment.
48640         fclose tests: EBADF tests.
48641         * tests/test-fclose.c (main): Add tests for EBADF.
48643         fflush tests: EBADF tests.
48644         * tests/test-fflush.c: Include errno.h, macros.h.
48645         (main): Add tests for EBADF.
48647         ftello tests: EBADF tests.
48648         * tests/test-ftello4.sh: New file.
48649         * tests/test-ftello4.c: New file.
48650         * modules/ftello-tests (Files): Add them.
48651         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
48653         fseeko tests: EBADF tests.
48654         * tests/test-fseeko4.sh: New file.
48655         * tests/test-fseeko4.c: New file.
48656         * modules/fseeko-tests (Files): Add them.
48657         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
48659         Tests for function fputc().
48660         * modules/fputc-tests: New file.
48661         * tests/test-fputc.c: New file.
48662         * modules/stdio-tests (Depends-on): Add fputc-tests.
48664         Tests for function fgetc().
48665         * modules/fgetc-tests: New file.
48666         * tests/test-fgetc.c: New file.
48667         * modules/stdio-tests (Depends-on): Add fgetc-tests.
48669         Tests for function fdopen().
48670         * modules/fdopen-tests: New file.
48671         * tests/test-fdopen.c: New file.
48672         * modules/stdio-tests (Depends-on): Add fdopen-tests.
48674         Tests for module 'vdprintf'.
48675         * modules/vdprintf-tests: New file.
48676         * tests/test-vdprintf.c: New file.
48678         Tests for module 'dprintf'.
48679         * modules/dprintf-tests: New file.
48680         * tests/test-dprintf.c: New file.
48682 2011-09-20  Bruno Haible  <bruno@clisp.org>
48684         Tests for module 'ioctl'.
48685         * modules/ioctl-tests: New file.
48686         * tests/test-ioctl.c: New file.
48688 2011-09-20  Bruno Haible  <bruno@clisp.org>
48690         fcntl tests: EBADF tests.
48691         * tests/test-fcntl.c (main): Add more tests for EBADF.
48693 2011-09-20  Bruno Haible  <bruno@clisp.org>
48695         utimensat tests: EBADF tests.
48696         * tests/test-utimensat.c (main): Add tests for EBADF.
48698         renameat tests: EBADF tests.
48699         * tests/test-renameat.c (main): Add tests for EBADF.
48701         mkfifoat tests: EBADF tests.
48702         * tests/test-mkfifoat.c (main): Add tests for EBADF.
48704         readlinkat tests: EBADF tests.
48705         * tests/test-readlinkat.c (main): Add tests for EBADF.
48707         symlinkat tests: EBADF tests.
48708         * tests/test-symlinkat.c (main): Add tests for EBADF.
48710         linkat tests: EBADF tests.
48711         * tests/test-linkat.c (main): Add tests for EBADF.
48713         Tests for module 'faccessat'.
48714         * modules/faccessat-tests: New file.
48715         * tests/test-faccessat.c: New file.
48717         fdopendir tests: EBADF tests.
48718         * tests/test-fdopendir.c (main): Add more tests for EBADF.
48720         openat tests: EBADF tests.
48721         * tests/test-fchownat.c (main): Add tests for EBADF.
48722         * tests/test-fstatat.c (main): Likewise.
48723         * tests/test-mkdirat.c (main): Likewise.
48724         * tests/test-openat.c (main): Likewise.
48725         * tests/test-unlinkat.c (main): Likewise.
48726         * tests/test-fchmodat.c: New file.
48727         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
48728         (Makefile.am): Also run 'test-fchmodat'.
48730 2011-09-20  Bruno Haible  <bruno@clisp.org>
48732         utimens, futimens, fdutimensat tests: EBADF tests.
48733         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
48735         Tests for function fstat().
48736         * modules/fstat-tests: New file.
48737         * tests/test-fstat.c: New file.
48738         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
48740 2011-09-20  Bruno Haible  <bruno@clisp.org>
48742         test-ttyname_r tests: EBADF tests.
48743         * tests/test-ttyname_r.c (main): Add tests for EBADF.
48745         Tests for module 'isatty'.
48746         * modules/isatty-tests: New file.
48747         * tests/test-isatty.c: New file.
48749         Tests for module 'write'.
48750         * modules/write-tests: New file.
48751         * tests/test-write.c: New file.
48753         Tests for module 'read'.
48754         * modules/read-tests: New file.
48755         * tests/test-read.c: New file.
48757         pwrite tests: EBADF tests.
48758         * tests/test-pwrite.c (main): Add tests for EBADF.
48760         pread tests: EBADF tests.
48761         * tests/test-pread.c (main): Add tests for EBADF.
48763         lseek tests: EBADF tests.
48764         * tests/test-lseek.c (main): Add more tests for EBADF.
48766         Tests for module 'ftruncate'.
48767         * modules/ftruncate-tests: New file.
48768         * tests/test-ftruncate.sh: New file.
48769         * tests/test-ftruncate.c: New file.
48771         fsync tests: EBADF tests.
48772         * tests/test-fsync.c (main): Add more tests for EBADF.
48774         fdatasync tests: EBADF tests.
48775         * tests/test-fdatasync.c (main): Add more tests for EBADF.
48777         Tests for module 'fchown'.
48778         * modules/fchown-tests: New file.
48779         * tests/test-fchown.c: New file.
48781         Tests for module 'fchmod'.
48782         * modules/fchmod-tests: New file.
48783         * tests/test-fchmod.c: New file.
48785         fchdir tests: EBADF tests.
48786         * tests/test-fchdir.c (main): Add more tests for EBADF.
48788         dup2 tests: EBADF tests.
48789         * tests/test-dup2.c (main): Add more tests for EBADF.
48791         Tests for module 'dup'.
48792         * modules/dup-tests: New file.
48793         * tests/test-dup.c: New file.
48795         Tests for module 'close'.
48796         * modules/close-tests: New file.
48797         * tests/test-close.c: New file.
48799 2011-09-20  Bruno Haible  <bruno@clisp.org>
48801         Tests for module 'shutdown'.
48802         * modules/shutdown-tests: New file.
48803         * tests/test-shutdown.c: New file.
48805         Tests for module 'setsockopt'.
48806         * modules/setsockopt-tests: New file.
48807         * tests/test-setsockopt.c: New file.
48809         Tests for module 'sendto'.
48810         * modules/sendto-tests: New file.
48811         * tests/test-sendto.c: New file.
48813         Tests for module 'send'.
48814         * modules/send-tests: New file.
48815         * tests/test-send.c: New file.
48817         Tests for module 'recvfrom'.
48818         * modules/recvfrom-tests: New file.
48819         * tests/test-recvfrom.c: New file.
48821         Tests for module 'recv'.
48822         * modules/recv-tests: New file.
48823         * tests/test-recv.c: New file.
48825         Tests for module 'listen'.
48826         * modules/listen-tests: New file.
48827         * tests/test-listen.c: New file.
48829         Tests for module 'getsockopt'.
48830         * modules/getsockopt-tests: New file.
48831         * tests/test-getsockopt.c: New file.
48833         Tests for module 'getsockname'.
48834         * modules/getsockname-tests: New file.
48835         * tests/test-getsockname.c: New file.
48837         Tests for module 'getpeername'.
48838         * modules/getpeername-tests: New file.
48839         * tests/test-getpeername.c: New file.
48841         Tests for module 'connect'.
48842         * modules/connect-tests: New file.
48843         * tests/test-connect.c: New file.
48845         Tests for module 'bind'.
48846         * modules/bind-tests: New file.
48847         * tests/test-bind.c: New file.
48849         accept4 tests: Fix for native Windows.
48850         * tests/test-accept4.c: Include sockets.h.
48851         (main): Invoke gl_sockets_startup.
48852         * modules/accept4-tests (Depends-on): Add sockets.
48854         accept tests: Fix for native Windows.
48855         * tests/test-accept.c: Include sockets.h.
48856         (main): Invoke gl_sockets_startup.
48857         * modules/accept-tests (Depends-on): Add sockets.
48859 2011-09-19  Bruno Haible  <bruno@clisp.org>
48861         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
48862         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
48863         do...while(0).
48864         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
48865         Suggested by Paul Eggert.
48867 2011-09-19  Bruno Haible  <bruno@clisp.org>
48869         sched: Ensure pid_t is defined.
48870         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
48871         not define pid_t.
48872         * lib/sched.in.h: Include <sys/types.h>.
48873         * doc/posix-headers/sched.texi: Mention the pid_t problem.
48874         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48876 2011-09-19  Bruno Haible  <bruno@clisp.org>
48878         msvc-inval: Ensure the entire expansion is a single statement.
48879         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
48880         of braces.
48882 2011-09-19  Jim Meyering  <meyering@redhat.com>
48884         tests: use printf, not echo in init.sh's warn_ function
48885         * tests/init.sh (warn_): Use printf, not echo.  The latter would
48886         misbehave when given strings containing a backslash or starting
48887         with e.g., -n.  James Youngman suggested setting IFS.
48889 2011-09-19  Eric Blake  <eblake@redhat.com>
48891         futimens: enhance test
48892         * tests/test-futimens.h (test_futimens): Also check for EBADF on
48893         closed non-negative fd.
48895         date: accept 'hence' as opposite of 'ago'
48896         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
48897         * tests/test-parse-datetime.c (main): Enhance test.
48898         Suggested by Jesse Wilson.
48900 2011-09-19  Jim Meyering  <meyering@redhat.com>
48902         getcwd: don't fail in a deep directory on a system without openat
48903         Before this change, getcwd would fail when called from a directory
48904         of depth PATH_MAX / 3 or greater.  That was due to the fact that
48905         the non-openat implementation used "..", "../..", "../../..", etc.
48906         to access ancestor directories.  With too many, that string would
48907         be longer than PATH_MAX.
48908         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
48909         using gnulib's openat replacement.
48910         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
48911         we're using the replacement function.
48913 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
48915         maint.mk: avoid warnings from perl about missing files
48916         * top/maint.mk (def_sym_regex): Ignore files listed in
48917         $(gl_other_headers_) that do not exist, say because a project
48918         does not use a corresponding module.
48920 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
48922         stat: use pathmax.h only if needed
48923         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
48924         This is better for Emacs, which does not have a mingw port and
48925         therefore can avoid the pathmax module.
48927         utimens: remove dependency on dup2
48928         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
48929         to work around the Linux kernel bug.
48930         * modules/utimens (Depends-on): Remove dup2.
48932 2011-09-18  Bruno Haible  <bruno@clisp.org>
48934         inet_ntop, inet_pton: Look for it also in libresolv.
48935         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
48936         libnsl, search for it in libresolv.
48937         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48938         Needed on Solaris 7.
48940 2011-09-18  Bruno Haible  <bruno@clisp.org>
48942         accept, accept4 tests: Avoid link error on Solaris.
48943         * modules/accept-tests (Makefile.am): Link test-accept against
48944         $(LIBSOCKET).
48945         * modules/accept4-tests (Makefile.am): Link test-accept4 against
48946         $(LIBSOCKET).
48948         accept4: Avoid link error on Solaris.
48949         * modules/accept4 (Link): New section.
48951         socket functions: Avoid link errors on Solaris.
48952         * modules/accept (Depends-on): Add socketlib.
48953         (Link): New section.
48954         * modules/bind (Depends-on): Add socketlib.
48955         (Link): New section.
48956         * modules/connect (Depends-on): Add socketlib.
48957         (Link): New section.
48958         * modules/getpeername (Depends-on): Add socketlib.
48959         (Link): New section.
48960         * modules/getsockname (Depends-on): Add socketlib.
48961         (Link): New section.
48962         * modules/getsockopt (Depends-on): Add socketlib.
48963         (Link): New section.
48964         * modules/listen (Depends-on): Add socketlib.
48965         (Link): New section.
48966         * modules/recv (Depends-on): Add socketlib.
48967         (Link): New section.
48968         * modules/recvfrom (Depends-on): Add socketlib.
48969         (Link): New section.
48970         * modules/send (Depends-on): Add socketlib.
48971         (Link): New section.
48972         * modules/sendto (Depends-on): Add socketlib.
48973         (Link): New section.
48974         * modules/setsockopt (Depends-on): Add socketlib.
48975         (Link): New section.
48976         * modules/shutdown (Depends-on): Add socketlib.
48977         (Link): New section.
48978         * modules/socket (Depends-on): Add socketlib.
48979         (Link): New section.
48981 2011-09-18  Bruno Haible  <bruno@clisp.org>
48983         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
48984         * tests/test-ptsname.c (main): Terminate the test if it takes longer
48985         than 5 seconds.
48986         * modules/ptsname-tests (configure.ac): Test for alarm.
48988 2011-09-18  Bruno Haible  <bruno@clisp.org>
48990         posix_spawn_file_actions_add*: Fix module dependencies.
48991         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
48992         posix_spawn_file_actions_init.
48993         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
48994         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
48996 2011-09-18  Bruno Haible  <bruno@clisp.org>
48998         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
48999         * tests/test-rename.h (test_rename): Allow error code EEXIST.
49000         * tests/test-renameat.c (main): Likewise.
49002 2011-09-18  Bruno Haible  <bruno@clisp.org>
49004         Tests for module 'accept4'.
49005         * modules/accept4-tests: New file.
49006         * tests/test-accept4.c: New file.
49008 2011-09-18  Bruno Haible  <bruno@clisp.org>
49010         Tests for module 'accept'.
49011         * modules/accept-tests: New file.
49012         * tests/test-accept.c: New file.
49014 2011-09-18  Bruno Haible  <bruno@clisp.org>
49016         dup2: Support for MSVC.
49017         * lib/dup2.c: Include msvc-inval.h.
49018         (rpl_dup2): Handle invalid parameter notifications during dup2 and
49019         _get_osfhandle calls.
49020         * modules/dup2 (Depends-on): Add msvc-inval.
49021         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
49023         New module 'msvc-inval'.
49024         * lib/msvc-inval.h: New file.
49025         * lib/msvc-inval.c: New file.
49026         * m4/msvc-inval.m4: New file.
49027         * modules/msvc-inval: New file.
49029 2011-09-17  Bruno Haible  <bruno@clisp.org>
49031         Tests for module 'pclose'.
49032         * modules/pclose-tests: New file.
49034         New module 'pclose'.
49035         * lib/stdio.in.h (pclose): New declaration.
49036         * lib/pclose.c: New file.
49037         * m4/pclose.m4: New file.
49038         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
49039         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
49040         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
49041         * modules/pclose: New file.
49042         * modules/popen-tests (Depends-on): Add pclose.
49043         * modules/popen-safer-tests (Depends-on): Likewise.
49044         * doc/posix-functions/pclose.texi: Mention the new module.
49046 2011-09-17  Bruno Haible  <bruno@clisp.org>
49048         popen: Support for MSVC.
49049         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
49050         * lib/popen.c (popen): Provide alternate definition for native Windows.
49051         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
49052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
49053         * modules/popen (Depends-on, configure.ac): Update condition.
49054         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
49055         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
49056         fixed.
49058 2011-09-17  Bruno Haible  <bruno@clisp.org>
49060         isnanl, isnand, isnanf: Work around MSVC bug.
49061         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
49063 2011-09-17  Bruno Haible  <bruno@clisp.org>
49065         sys_socket tests: Fix recent mistake.
49066         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
49068 2011-09-17  Bruno Haible  <bruno@clisp.org>
49070         putenv: Support for MSVC.
49071         * modules/putenv (Depends-on): Add environ.
49072         * lib/putenv.c (environ): Disable declaration.
49073         * lib/unistd.in.h: Update comment.
49075 2011-09-17  Bruno Haible  <bruno@clisp.org>
49077         math: Avoid macro redefinition warnings on MSVC.
49078         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
49079         Undefine before redefining.
49081 2011-09-17  Bruno Haible  <bruno@clisp.org>
49083         doc: Mention functions which are declared as macros.
49084         * doc/posix-functions/*[fl].texi: Mention that some functions are
49085         defined as macros with arguments only.
49087 2011-09-17  Bruno Haible  <bruno@clisp.org>
49089         Add dependencies to new dirent related modules.
49090         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
49091         * modules/fts (Depends-on): Likewise.
49092         * modules/glob (Depends-on): Likewise.
49093         * modules/savedir (Depends-on): Likewise.
49094         * modules/scandir (Depends-on): Likewise.
49095         * modules/dirent-safer (Depends-on): Add opendir, closedir.
49096         * modules/fdopendir (Depends-on): Add opendir.
49098 2011-09-17  Bruno Haible  <bruno@clisp.org>
49100         inet_pton: Support for MSVC on Windows Vista or newer.
49101         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
49102         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
49103         HAVE_DECL_INET_PTON is defined.
49104         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49105         On platforms with <winsock2.h>, test whether inet_pton is declared in
49106         <ws2tcpip.h>. If so, arrange to replace it.
49107         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49108         REPLACE_INET_PTON.
49109         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
49110         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
49111         (Depends-on, configure.ac): Update condition.
49112         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
49114 2011-09-17  Bruno Haible  <bruno@clisp.org>
49116         inet_ntop: Support for MSVC on Windows Vista or newer.
49117         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
49118         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
49119         HAVE_DECL_INET_NTOP is defined.
49120         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
49121         On platforms with <winsock2.h>, test whether inet_ntop is declared in
49122         <ws2tcpip.h>. If so, arrange to replace it.
49123         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
49124         REPLACE_INET_NTOP.
49125         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
49126         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
49127         (Depends-on, configure.ac): Update condition.
49128         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
49130 2011-09-16  Eric Blake  <eblake@redhat.com>
49132         test-fsync: yet another enhancement
49133         * tests/test-fsync.c (main): Also test behavior on read-only text
49134         file.
49136 2011-09-16  Bruno Haible  <bruno@clisp.org>
49138         Enhance fsync, fdatasync tests.
49139         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
49140         * tests/test-fdatasync.c (main): Likewise.
49142 2011-09-16  Bruno Haible  <bruno@clisp.org>
49144         Support for MSVC compiler: Ensure mode_t gets defined.
49145         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
49146         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49147         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
49148         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
49149         * tests/test-fcntl-h.c: Check that mode_t is defined.
49150         * tests/test-sys_stat.c: Likewise.
49151         * tests/test-sys_types.c: Likewise.
49152         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
49153         * doc/posix-headers/sys_stat.texi: Likewise.
49154         * doc/posix-headers/sys_types.texi: Likewise.
49156 2011-09-16  Bruno Haible  <bruno@clisp.org>
49158         sys_stat: Support for MSVC.
49159         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
49160         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
49161         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
49162         MSVC.
49164 2011-09-16  Bruno Haible  <bruno@clisp.org>
49166         Support for MSVC compiler: Ensure off_t gets defined.
49167         * lib/unistd.in.h: Include <sys/types.h>.
49168         * tests/test-fcntl-h.c: Check that off_t is defined.
49169         * tests/test-sys_stat.c: Likewise.
49170         * tests/test-sys_types.c: Likewise.
49172 2011-09-16  Eric Blake  <eblake@redhat.com>
49174         fdatasync: port to Solaris
49175         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
49176         * modules/fdatasync (Link): Document it.
49177         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
49179         fdatasync: port to MacOS X 10.7
49180         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
49181         declared.
49182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
49183         * modules/unistd (Makefile.am): Substitute it.
49184         * lib/unistd.in.h (fdatasync): Declare on MacOS.
49185         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
49187         fdatasync: minor improvements
49188         * modules/fdatasync (Depends-on): Add condition for fsync.
49189         * lib/fdatasync.c (fdatasync): Add comment.
49190         * tests/test-unistd-c++.cc: Test fdatasync.
49192         unistd: update refs to newer POSIX
49193         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
49194         Suggested by Bruno Haible.
49196         fdatasync: new module
49197         * modules/fsync (Description): Document difference to fdatasync.
49198         * modules/fdatasync: New module.
49199         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
49200         * lib/fdatasync.c (fdatasync): Likewise.
49201         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
49202         defaults.
49203         * modules/unistd (Makefile.am): Set witnesses.
49204         * lib/unistd.in.h (fdatasync): Declare.
49205         * MODULES.html.sh: Document it.
49206         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
49207         * modules/fdatasync-tests: New test.
49208         * tests/test-fdatasync.c: Likewise.
49210 2011-09-16  Eric Blake  <eblake@redhat.com>
49212         test-fsync: enhance tests
49213         * modules/fsync-tests (Depends-on): Add errno, for mingw.
49214         * tests/test-fsync.c (main): Enhance test.
49216 2011-09-15  Bruno Haible  <bruno@clisp.org>
49218         Support for MSVC compiler: Ensure ssize_t gets defined.
49219         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
49220         * doc/posix-headers/stdio.texi: Likewise.
49221         * modules/stdio (Depends-on): Add ssize_t.
49222         * modules/sys_socket (Depends-on): Likewise.
49223         * modules/sys_types (Depends-on): Likewise.
49224         * modules/sys_uio (Depends-on): Likewise.
49225         * modules/unistd (Depends-on): Likewise.
49226         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
49227         * tests/test-sys_types.c: Check that ssize_t is defined.
49229 2011-09-14  Bruno Haible  <bruno@clisp.org>
49231         Avoid using #, the m4 comment starter character, near brackets.
49232         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
49233         delimiter character in sed expressions.
49234         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
49235         Suggested by Eric Blake.
49237         Properly quote AC_CHECK_DECLS' 4th argument.
49238         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
49239         argument.
49240         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49241         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
49242         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49243         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
49244         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49245         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
49246         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
49247         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
49248         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
49249         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49250         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
49251         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
49252         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49253         * m4/isinf.m4 (gl_ISINF): Likewise.
49254         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49255         * m4/readutmp.m4 (gl_READUTMP): Likewise.
49256         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49257         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
49258         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
49259         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
49260         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49261         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
49262         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
49263         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49264         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49265         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49266         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
49267         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49268         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49269         Reported by Eric Blake.
49271         Properly quote AC_CHECK_DECL's 4th argument.
49272         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
49273         argument.
49274         * m4/argp.m4 (gl_ARGP): Likewise.
49275         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49276         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49277         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49278         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49279         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
49280         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
49281         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
49282         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49283         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49284         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49285         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49286         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49287         Reported by Eric Blake.
49289 2011-09-14  Eric Blake  <eblake@redhat.com>
49291         opendir: avoid compile warning
49292         * lib/opendir.c (includes): Always include errno.h.
49293         Reported by Tatsuro MATSUOKA.
49295 2011-09-14  Jim Meyering  <meyering@redhat.com>
49297         maint.mk: sc_tight_scope: propagate failure from sub-make
49298         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
49299         Reported by Martin von Gagern.
49301 2011-09-13  Bruno Haible  <bruno@clisp.org>
49303         tempname: Support for MSVC.
49304         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
49305         MSVC.
49306         * modules/tempname (Depends-on): Add fcntl-h.
49308 2011-09-13  Bruno Haible  <bruno@clisp.org>
49310         sys_time: Support for MSVC.
49311         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
49312         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
49313         include <winsock2.h>.
49314         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
49315         function declarations that collide with POSIX.
49316         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
49317         (Makefile.am): Substitute HAVE_WINSOCK2_H.
49319 2011-09-13  Bruno Haible  <bruno@clisp.org>
49321         stat: Support for MSVC.
49322         * lib/stat.c: Include pathmax.h.
49323         * modules/stat (Depends-on): Add pathmax.
49325         pathmax: Support for native Windows.
49326         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
49328 2011-09-12  Bruno Haible  <bruno@clisp.org>
49330         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
49331         * lib/dirent.in.h (struct dirent): New type.
49332         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
49333         DT_WHT): New macros.
49334         (DIR): New type.
49335         (opendir, closedir): Declare only if the module 'opendir' is enabled.
49336         (readdir, rewinddir): New declarations.
49337         * lib/dirent-private.h: New file.
49338         * lib/opendir.c: New file.
49339         * lib/readdir.c: New file.
49340         * lib/rewinddir.c: New file.
49341         * lib/closedir.c: New file.
49342         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
49343         * m4/opendir.m4: New file.
49344         * m4/readdir.m4: New file.
49345         * m4/rewinddir.m4: New file.
49346         * m4/closedir.m4: New file.
49347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
49348         REPLACE_CLOSEDIR here.
49349         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
49350         readdir, rewinddir are declared.
49351         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
49352         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
49353         HAVE_REWINDDIR, HAVE_CLOSEDIR.
49354         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
49355         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
49356         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
49357         * modules/opendir: New file.
49358         * modules/readdir: New file.
49359         * modules/rewinddir: New file.
49360         * modules/closedir: New file.
49361         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
49362         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
49363         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
49364         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
49365         * NEWS: Mention the 'fchdir' change.
49367 2011-09-11  Bruno Haible  <bruno@clisp.org>
49369         asm-underscore.m4: Support for MSVC.
49370         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
49371         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
49373 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
49375         Doc about crypt functions.
49376         * doc/posix-functions/crypt.texi: Expand range of glibc versions
49377         needing for _GNU_SOURCE to get crypt.
49378         * doc/posix-functions/encrypt.texi: Likewise.
49379         * doc/posix-functions/setkey.texi: Likewise.
49381 2011-09-11  Bruno Haible  <bruno@clisp.org>
49383         doc: Update regarding MSVC 9.
49384         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
49385         tested".
49386         * doc/posix-functions/*.texi: Update with info about MSVC 9.
49387         * doc/posix-headers/*.texi: Likewise.
49388         * doc/pastposix-functions/*.texi: Likewise.
49389         * doc/glibc-functions/*.texi: Likewise.
49390         * doc/glibc-headers/*.texi: Likewise.
49392 2011-09-11  Bruno Haible  <bruno@clisp.org>
49394         unistd et al.: Don't assume <unistd.h> exists.
49395         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
49396         does not exist.
49397         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
49398         exist. But include <stdlib.h>.
49399         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
49400         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
49401         symlink() does not exist.
49402         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
49403         include <io.h> instead.
49404         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
49405         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
49406         include <direct.h> instead.
49407         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
49408         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
49409         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
49410         <io.h> instead.
49411         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
49412         correctly if the system does not have hard links.
49413         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
49414         <direct.h> instead.
49415         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
49416         it when looking for function declarations.
49417         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
49418         <direct.h> and <io.h> instead.
49419         * doc/posix-headers/unistd.texi: More details about MSVC problem.
49421 2011-09-11  Bruno Haible  <bruno@clisp.org>
49423         strcase: Support for MSVC.
49424         * modules/strcase (Status, Notice): Remove obsoletion mark.
49425         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
49426         * doc/posix-functions/strncasecmp.texi: Likewise.
49428         strings: Don't assume <strings.h> exists.
49429         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
49430         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
49431         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
49432         * doc/posix-headers/strings.texi: Mention the MSVC problem.
49434 2011-09-11  Bruno Haible  <bruno@clisp.org>
49436         dirent: Don't assume <dirent.h> exists.
49437         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
49438         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
49439         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
49440         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
49442 2011-09-11  Bruno Haible  <bruno@clisp.org>
49444         Fix wint_t on MSVC.
49445         * lib/wchar.in.h (wint_t): On MSVC, override it.
49446         * lib/wctype.in.h (wint_t): Likewise.
49447         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
49448         MSVC.
49449         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
49450         * doc/posix-headers/wctype.texi: Likewise.
49452 2011-09-11  Bruno Haible  <bruno@clisp.org>
49454         sys_types: Fix typo.
49455         * lib/sys_types.in.h: Fix typo in comment.
49456         Reported by Paul Eggert.
49458         Support for MSVC compiler: Ensure size_t gets defined.
49459         * modules/strings (Depends-on): Add 'sys_types'.
49460         * modules/sys_uio (Depends-on): Likewise.
49461         * lib/sys_uio.in.h: Update comment.
49463         C++ tests for module 'sys_types'.
49464         * modules/sys_types-c++-tests: New file.
49465         * tests/test-sys_types-c++.cc: New file.
49467         Tests for module 'sys_types'.
49468         * modules/sys_types-tests: New file.
49469         * tests/test-sys_types.c: New file.
49471         New module 'sys_types'.
49472         * lib/sys_types.in.h: New file.
49473         * m4/sys_types_h.m4: New file.
49474         * modules/sys_types: New file.
49475         * doc/posix-headers/sys_types.texi: Mention the new module and the
49476         size_t problem on MSVC 9.
49478 2011-09-11  Bruno Haible  <bruno@clisp.org>
49480         Support for MSVC compiler: Avoid division by a literal 0.
49481         * lib/math.in.h (NAN): Define through a function call also on MSVC.
49482         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
49483         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
49484         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
49485         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
49486         * tests/infinity.h: New file.
49487         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
49488         on MSVC.
49489         * tests/test-ceilf1.c: Include infinity.h.
49490         (main): Use Infinityf.
49491         * tests/test-ceil1.c: Include infinity.h.
49492         (main): Use Infinityd.
49493         * tests/test-ceill.c: Include infinity.h.
49494         (main): Use Infinityl.
49495         * tests/test-dprintf-posix.c: Include infinity.h.
49496         (test_function): Use Infinityd.
49497         * tests/test-floorf1.c: Include infinity.h.
49498         (main): Use Infinityf.
49499         * tests/test-floor1.c: Include infinity.h.
49500         (main): Use Infinityd.
49501         * tests/test-floorl.c: Include infinity.h.
49502         (main): Use Infinityl.
49503         * tests/test-fprintf-posix.c: Include infinity.h.
49504         (test_function): Use Infinityd.
49505         * tests/test-frexp.c: Include infinity.h.
49506         (main): Use Infinityd.
49507         * tests/test-frexpl.c: Include infinity.h.
49508         (main): Use Infinityl.
49509         * tests/test-isfinite.c: Include infinity.h.
49510         (test_isfinitef): Use Infinityf.
49511         (test_isfinited): Use Infinityd.
49512         (test_isfinitel): Use Infinityl.
49513         * tests/test-isinf.c: Include infinity.h.
49514         (test_isinff): Use Infinityf.
49515         (test_isinfd): Use Infinityd.
49516         (test_isinfl): Use Infinityl.
49517         * tests/test-isnan.c: Include infinity.h.
49518         (test_float): Use Infinityf.
49519         (test_double): Use Infinityd.
49520         (test_long_double): Use Infinityl.
49521         * tests/test-isnanf.h: Include infinity.h.
49522         (main): Use Infinityf.
49523         * tests/test-isnand.h: Include infinity.h.
49524         (main): Use Infinityd.
49525         * tests/test-isnanl.h: Include infinity.h.
49526         (main): Use Infinityl.
49527         * tests/test-ldexpl.c: Include infinity.h.
49528         (main): Use Infinityl.
49529         * tests/test-printf-posix.h: Include infinity.h.
49530         (test_function): Use Infinityd.
49531         * tests/test-roundf1.c: Include infinity.h.
49532         (main): Use Infinityf.
49533         * tests/test-round1.c: Include infinity.h.
49534         (main): Use Infinityd.
49535         * tests/test-roundl.c: Include infinity.h.
49536         (main): Use Infinityl.
49537         * tests/test-signbit.c: Include infinity.h.
49538         (test_signbitf): Use Infinityf.
49539         (test_signbitd): Use Infinityd.
49540         (test_signbitl): Use Infinityl.
49541         * tests/test-snprintf-posix.h: Include infinity.h.
49542         (test_function): Use Infinityd, Infinityl.
49543         * tests/test-sprintf-posix.h: Include infinity.h.
49544         (test_function): Use Infinityd, Infinityl.
49545         * tests/test-truncf1.c: Include infinity.h.
49546         (main): Use Infinityf.
49547         * tests/test-trunc1.c: Include infinity.h.
49548         (main): Use Infinityd.
49549         * tests/test-truncl.c: Include infinity.h.
49550         (main): Use Infinityl.
49551         * tests/test-vasnprintf-posix.c: Include infinity.h.
49552         (test_function): Use Infinityd, Infinityl.
49553         * tests/test-vasprintf-posix.c: Include infinity.h.
49554         (test_function): Use Infinityd, Infinityl.
49555         * modules/ceilf-tests (Files): Add tests/infinity.h.
49556         * modules/ceil-tests (Files): Likewise.
49557         * modules/ceill-tests (Files): Likewise.
49558         * modules/dprintf-posix-tests (Files): Likewise.
49559         * modules/floorf-tests (Files): Likewise.
49560         * modules/floor-tests (Files): Likewise.
49561         * modules/floorl-tests (Files): Likewise.
49562         * modules/fprintf-posix-tests (Files): Likewise.
49563         * modules/frexp-tests (Files): Likewise.
49564         * modules/frexp-nolibm-tests (Files): Likewise.
49565         * modules/frexpl-tests (Files): Likewise.
49566         * modules/frexpl-nolibm-tests (Files): Likewise.
49567         * modules/isfinite-tests (Files): Likewise.
49568         * modules/isinf-tests (Files): Likewise.
49569         * modules/isnan-tests (Files): Likewise.
49570         * modules/isnanf-tests (Files): Likewise.
49571         * modules/isnanf-nolibm-tests (Files): Likewise.
49572         * modules/isnand-tests (Files): Likewise.
49573         * modules/isnand-nolibm-tests (Files): Likewise.
49574         * modules/isnanl-tests (Files): Likewise.
49575         * modules/isnanl-nolibm-tests (Files): Likewise.
49576         * modules/ldexpl-tests (Files): Likewise.
49577         * modules/printf-posix-tests (Files): Likewise.
49578         * modules/roundf-tests (Files): Likewise.
49579         * modules/round-tests (Files): Likewise.
49580         * modules/roundl-tests (Files): Likewise.
49581         * modules/signbit-tests (Files): Likewise.
49582         * modules/snprintf-posix-tests (Files): Likewise.
49583         * modules/sprintf-posix-tests (Files): Likewise.
49584         * modules/truncf-tests (Files): Likewise.
49585         * modules/trunc-tests (Files): Likewise.
49586         * modules/truncl-tests (Files): Likewise.
49587         * modules/vasnprintf-posix-tests (Files): Likewise.
49588         * modules/vasprintf-posix-tests (Files): Likewise.
49589         * modules/vdprintf-posix-tests (Files): Likewise.
49590         * modules/vfprintf-posix-tests (Files): Likewise.
49591         * modules/vprintf-posix-tests (Files): Likewise.
49592         * modules/vsnprintf-posix-tests (Files): Likewise.
49593         * modules/vsprintf-posix-tests (Files): Likewise.
49594         * modules/xprintf-posix-tests (Files): Likewise.
49596 2011-09-11  Bruno Haible  <bruno@clisp.org>
49598         Ensure pid_t gets defined.
49599         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
49600         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
49601         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49602         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49603         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
49604         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
49605         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49606         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49607         * tests/test-fcntl-h.c: Check that pid_t is defined.
49608         * tests/test-sched.c: Likewise.
49609         * tests/test-termios.c: Likewise.
49610         * tests/test-time.c: Likewise.
49611         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
49612         * doc/posix-headers/signal.texi: Likewise.
49613         * doc/posix-headers/sys_types.texi: Likewise.
49614         * doc/posix-headers/time.texi: Likewise.
49616 2011-09-11  Bruno Haible  <bruno@clisp.org>
49618         acl: Fix compilation on Solaris 10 (older version).
49619         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
49620         of ACE_EVERYONE.
49621         * lib/set-mode-acl.c (qset_acl): Likewise.
49622         Reported by Christian Jullien <eligis@orange.fr>.
49624 2011-09-10  Bruno Haible  <bruno@clisp.org>
49626         iconv, unsetenv: Add support for MSVC compiler.
49627         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
49628         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
49630 2011-09-10  Bruno Haible  <bruno@clisp.org>
49632         *printf: Add support for MSVC compiler.
49633         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
49634         handles the exception caused by the %n directive. When cross-compiling,
49635         guess no on native Windows.
49636         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49637         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
49638         emulate it through vsnprintf.
49639         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
49640         * doc/posix-functions/dprintf.texi: Update documentation regarding
49641         MSVC 9.
49642         * doc/posix-functions/fprintf.texi: Likewise.
49643         * doc/posix-functions/printf.texi: Likewise.
49644         * doc/posix-functions/snprintf.texi: Likewise.
49645         * doc/posix-functions/sprintf.texi: Likewise.
49646         * doc/posix-functions/swprintf.texi: Likewise.
49647         * doc/posix-functions/vdprintf.texi: Likewise.
49648         * doc/posix-functions/vfprintf.texi: Likewise.
49649         * doc/posix-functions/vprintf.texi: Likewise.
49650         * doc/posix-functions/vsnprintf.texi: Likewise.
49651         * doc/posix-functions/vsprintf.texi: Likewise.
49652         * doc/glibc-functions/asprintf.texi: Likewise.
49653         * doc/glibc-functions/obstack_printf.texi: Likewise.
49654         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49655         * doc/glibc-functions/vasprintf.texi: Likewise.
49657 2011-09-10  Bruno Haible  <bruno@clisp.org>
49659         nocrash: Add support for native Windows.
49660         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
49662 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
49663             Bruno Haible  <bruno@clisp.org>
49665         absolute-header, include-next: Add support for MSVC compiler.
49666         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
49667         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
49668         directory separator in #line directives.
49669         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
49670         recognize also backslash as directory separator in #line directives.
49672 2011-09-08  Jim Meyering  <meyering@redhat.com>
49674         maint.mk: mark the post-release commit log with "maint: " prefix
49675         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
49676         one-line commit-log summary.
49678 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
49679             Bruno Haible  <bruno@clisp.org>
49681         Doc about crypt functions.
49682         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
49683         systems.
49684         * doc/posix-functions/encrypt.texi: Likewise.
49685         * doc/posix-functions/setkey.texi: Likewise.
49687 2011-09-08  Simon Josefsson  <simon@josefsson.org>
49689         * lib/gc.h: Fix copyright header.
49691 2011-09-07  Bruno Haible  <bruno@clisp.org>
49693         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
49694         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
49695         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
49697 2011-09-07  Bruno Haible  <bruno@clisp.org>
49699         openat: Work around compilation error with OSF/1 5.1 DTK cc.
49700         * lib/fopen.c: Use different syntax for include of <stdio.h>.
49701         * lib/freopen.c: Likewise.
49702         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
49703         * lib/lstat.c: Likewise.
49704         * lib/stat.c: Likewise.
49705         * lib/open.c: Use different syntax for include of <fcntl.h>.
49706         * lib/openat.c: Include fcntl.h again, explicitly.
49708 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
49710         parse-datetime: document the newly accepted format
49711         * doc/parse-datetime.texi (Combined date and time of day items):
49712         New section.
49714 2011-09-06  Bruno Haible  <bruno@clisp.org>
49716         acl: Fix a test failure on newer Solaris 10 with ZFS.
49717         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
49718         ENOSYS as no ACL.
49719         Reported by Jim Meyering.
49721 2011-09-06  Bruno Haible  <bruno@clisp.org>
49723         acl: Update for AIX >= 5.3 with NFS.
49724         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
49725         ENOSYS as no ACL.
49727         acl: Fix a test failure on AIX >= 5.3 with NFS.
49728         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
49729         as no ACL.
49731 2011-09-06  Bruno Haible  <bruno@clisp.org>
49733         acl: Fix a test failure on IRIX 6.5 with NFS.
49734         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
49735         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
49736         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
49737         * lib/copy-acl.c (qcopy_acl): Likewise.
49739 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
49741         openat: port to AIX 7.1 with large files
49742         AIX 7.1 does a "#define openat open64at" if large files are in use,
49743         so we can't simply #undef openat.  Use the orig_openat trick (similar
49744         to orig_open in lib/open.c) to work around the problem.  Problem
49745         reported by Kevin Brott for GNU tar, in the thread containing
49746         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
49747         * lib/openat.c (__need_system_fcntl_h): Define first.
49748         Include <fcntl.h> and <sys/types.h> before undefining.
49749         (orig_openat) [HAVE_OPENAT]: New inline function.
49750         (openat) [HAVE_OPENAT]: Do not undef.
49751         (rpl_openat): Use orig_openat, not openat.
49753 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
49754             Bruno Haible  <bruno@clisp.org>
49756         acl: Avoid errors on NonStop Kernel.
49757         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
49758         ENOTSUP errors.
49760 2011-09-05  Bruno Haible  <bruno@clisp.org>
49762         acl: Clean up Solaris code.
49763         * lib/acl-internal.h: Remove no-op #if.
49764         * lib/file-has-acl.c: Likewise.
49765         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
49766         * lib/copy-acl.c (qcopy_acl): Likewise.
49768 2011-09-05  Bruno Haible  <bruno@clisp.org>
49770         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
49771         binaries built on the original Solaris 10.
49772         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
49773         trivial.
49775 2011-09-05  Bruno Haible  <bruno@clisp.org>
49777         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49778         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
49779         10.
49780         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
49781         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
49782         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
49783         instead of acl_get, facl_get, acl_set, facl_set.
49785 2011-09-05  Bruno Haible  <bruno@clisp.org>
49787         copy-file: Try unit tests on more file systems.
49788         * tests/test-copy-file-1.sh: New file.
49789         * tests/test-copy-file-2.sh: New file.
49790         * modules/copy-file-tests (Files): Add them.
49791         (Makefile.am): Add them to TESTS.
49793         acl: Try unit tests on more file systems.
49794         * tests/test-file-has-acl-1.sh: New file.
49795         * tests/test-file-has-acl-2.sh: New file.
49796         * tests/test-set-mode-acl-1.sh: New file.
49797         * tests/test-set-mode-acl-2.sh: New file.
49798         * tests/test-copy-acl-1.sh: New file.
49799         * tests/test-copy-acl-2.sh: New file.
49800         * modules/acl-tests (Files): Add them.
49801         (Makefile.am): Add them to TESTS.
49803 2011-09-04  Bruno Haible  <bruno@clisp.org>
49805         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49806         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
49807         10.
49808         (OLD_ALLOW, OLD_DENY): New macros.
49809         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
49810         ACE_ACCESS_ALLOWED_ACE_TYPE.
49811         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
49812         ACE_ACCESS_DENIED_ACE_TYPE.
49813         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
49814         (NEW_ACE_EXECUTE): Fix value.
49815         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
49816         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
49817         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
49818         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
49819         NEW_ACE_SYNCHRONIZE): New macros.
49820         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
49821         instead of acl_fromtext, acl_set, facl_set.
49822         Fixes a coreutils/tests/cp/perm failure.
49824 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
49826         openat: test for fstatat (..., 0) bug
49827         Further testing with tar suggests that fstatat (..., 0)
49828         does not work in general, on AIX 7.1; see
49829         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
49830         So, give up entirely on AIX 7.1's fstatat, and fall back on our
49831         replacement fstatat (which is what older AIX releases were using
49832         anyway).
49833         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
49834         use is now changed to orig_fstatat.  This was probably the right
49835         thing to do anyway.
49836         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
49837         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
49838         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
49839         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
49840         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
49841         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
49842         if the bug is found.
49844         openat: test for fstatat (AT_FDCWD, ..., 0) bug
49845         This tests for another fstatat bug on AIX 7.1:
49846         fstatat (AT_FDCWD, ..., 0) does not work.  See
49847         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
49848         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
49849         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
49850         (rpl_fstatat): Adjust so that it works around either (or both)
49851         bugs if present.
49852         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
49854 2011-09-03  Karl Berry  <karl@gnu.org>
49856         * doc/regex.texi (Character Class Operators): Avoid literal ":"
49857         in index entries.
49859 2011-09-02  Bruno Haible  <bruno@clisp.org>
49861         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
49862         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
49863         values of AR, ARFLAGS, RANLIB.
49864         Reported by John W. Eaton <jwe@gnu.org> for Octave.
49866 2011-09-02  Bruno Haible  <bruno@clisp.org>
49868         Find 'ar' program that fits with --host argument.
49869         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
49871 2011-09-02  Bruno Haible  <bruno@clisp.org>
49873         tests: init.sh: Support any non-GNU diff.
49874         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
49875         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
49876         Solaris 8.
49878 2011-09-02  Bruno Haible  <bruno@clisp.org>
49880         tests: init.sh: work also with any non-GNU diff that supports -u
49881         * tests/init.sh: Relax check for diff -u support.
49882         Rather than checking for GNU diff via --version, simply check
49883         for support for -u itself.  Useful at least on OpenBSD 4.9,
49884         AIX 7.1, IRIX 6.5, and Solaris 10.
49886 2011-09-01  Bruno Haible  <bruno@clisp.org>
49888         strtoimax, strtoumax: Document problem on HP-UX 11.
49889         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
49890         * doc/posix-functions/strtoumax.texi: Likewise.
49892 2011-09-01  Bruno Haible  <bruno@clisp.org>
49894         strtoumax: Avoid link error on OSF/1 with DTK cc.
49895         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
49896         defined as a function.
49897         * modules/strtoumax (Depends-on, configure.ac): Test only whether
49898         strtoumax is defined, not whether it is declared.
49900 2011-09-01  Bruno Haible  <bruno@clisp.org>
49902         strtoimax: Avoid link error on OSF/1 with DTK cc.
49903         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
49904         defined as a function.
49905         * modules/strtoimax (Depends-on, configure.ac): Test only whether
49906         strtoimax is defined, not whether it is declared.
49908 2011-09-01  Bruno Haible  <bruno@clisp.org>
49910         imaxdiv: Avoid link error on OSF/1 with DTK cc.
49911         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
49912         as a function.
49913         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
49914         whether it is declared.
49916 2011-09-01  Bruno Haible  <bruno@clisp.org>
49918         imaxabs: Avoid link error on OSF/1 with DTK cc.
49919         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
49920         as a function.
49921         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
49922         whether it is declared.
49924 2011-09-01  Bruno Haible  <bruno@clisp.org>
49926         Tests for module 'strtoumax'.
49927         * modules/strtoumax-tests: New file.
49928         * tests/test-strtoumax.c: New file.
49930         Tests for module 'strtoimax'.
49931         * modules/strtoimax-tests: New file.
49932         * tests/test-strtoimax.c: New file.
49934         Tests for module 'imaxdiv'.
49935         * modules/imaxdiv-tests: New file.
49936         * tests/test-imaxdiv.c: New file.
49938         Tests for module 'imaxabs'.
49939         * modules/imaxabs-tests: New file.
49940         * tests/test-imaxabs.c: New file.
49942 2011-09-01  Bruno Haible  <bruno@clisp.org>
49944         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
49945         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
49946         pthread_create.
49948 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49950         openat: work around AIX 7.1 fstatat issue
49951         This should fix the problem that was not properly fixed
49952         in the previous change, dated 2011-08-30.
49953         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
49954         __need_system_stat_h defined.
49955         (orig_fstatat) [HAVE_FSTATAT]: New function.
49956         (rpl_fstatat): Go back to the old way of doing things,
49957         except call orig_fstatat instead of fstatat.
49958         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
49959         Remove unnecessary check whether fstatat fills in st_size etc.
49961 2011-09-01  Bruno Haible  <bruno@clisp.org>
49963         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
49964         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
49965         just include the system's header.
49967 2011-08-31  Jim Meyering  <meyering@redhat.com>
49969         tests: avoid spurious assertion failure in test-float.c on ppc64
49970         * tests/test-float.c (test_long_double): Comment out an assertion,
49971         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
49972         with gcc-4.4.4.
49974         maint: indent with spaces, not TABs
49975         I need to get in the habit of running gnulib's "make check".
49976         Both of these would have been caught.
49977         * m4/largefile.m4: Indent with spaces, not TABs.
49978         * lib/parse-datetime.y (iso_8601_time): Likewise.
49979         Spotted by Pádraig Brady.
49981         test-parse-datetime.c: accommodate a relatively strict gcc warning
49982         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
49983         to avoid a warning from gcc's -Werror=missing-declarations.
49984         Insert a few spaces-before-funcall-parenthesis.
49986 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
49988         parse-datetime: accept ISO 8601 date and time rep with "T" separator
49989         The parser now accepts ISO 8601 date-time strings with "T" as the
49990         separator.  It has long parsed dates like "2004-02-29 16:21:42"
49991         with a space between the date and time strings.  Now it also parses
49992         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
49993         variants like "2004-02-29T16:21:42.333-07:00"
49994         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
49995         of day representation using the 'T' separator character.
49996         * doc/parse-datetime.texi (General date syntax): replace use of
49997         deprecated --iso-8601 option with --rfc-3339 in example of date
49998         command output formats that can be parsed.
49999         * tests/test-parse-datetime.c (tm_diff): New function, taken from
50000         lib/parse-datetime.y.
50001         (gmt_offset): New function.
50002         (main): Add additional test cases to validate ISO8601 extended
50003         date and time of day parsing.
50005 2011-08-31  Bruno Haible  <bruno@clisp.org>
50007         freopen: Documentation.
50008         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
50009         name.
50010         Reported by Claudio Bley <claudio.bley@gmail.com>.
50012 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
50014         freopen: Don't crash if the filename argument is NULL.
50015         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
50016         NULL.
50018 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
50020         openat: work around AIX 7.1 fstatat bug
50021         Problem reported by Kevin Brott for GNU tar, in the thread containing
50022         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
50023         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
50024         FSTATAT_ST_SIZE_ETC_BROKEN.
50025         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
50026         rpl_fstatat.
50027         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
50028         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
50029         AC_CHECK_FUNCS_ONCE for fstatat.
50030         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
50031         fchmodat, mkdirat, openat and unlinkat.
50033 2011-08-30  Bruno Haible  <bruno@clisp.org>
50035         Avoid endless recursions if config.h includes some header files.
50036         * lib/fopen.c (__need_FILE): Define already before including config.h.
50037         * lib/freopen.c (__need_FILE): Likewise.
50038         * lib/open.c (__need_system_fcntl_h): Likewise.
50039         * lib/stat.c (__need_system_sys_stat_h): Likewise.
50040         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
50041         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
50043 2011-08-25  Karl Berry  <karl@gnu.org>
50045         * config/srclist.txt (ylwrap): new try.
50046         * build-aux/ylwrap: new file.
50048 2011-08-23  Bruno Haible  <bruno@clisp.org>
50050         tmpdir: Use a good default directory on native Windows.
50051         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
50052         (P_tmpdir): Default to _P_tmpdir on native Windows.
50053         (path_search): On native Windows, try the value returned by GetTempPath
50054         before trying P_tmpdir.
50055         * modules/tmpdir (Depends-on): Add pathmax.
50056         Suggested by John Darrington <john@darrington.wattle.id.au>.
50058 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
50060         doc: fix typo in README-release
50061         * top/README-release: Capitalize first word of a sentence.
50063 2011-08-19  Jim Meyering  <meyering@redhat.com>
50065         fts: do not exhaust memory when processing million-entry directories
50066         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
50067         directory would require about 256*N bytes of memory.  Thus, it was
50068         easy to construct a directory too large to be processed by any of
50069         those tools.  With this change, fts' maximum memory utilization is
50070         now limited to around 30MB.
50071         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
50072         (fts_read): When we've processed the final entry (i.e., when
50073         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
50074         using the parent entry to read any remaining entries.  Dispatch
50075         depending on what fts_build returns:
50076         - NULL+stop, aka failure: stop
50077         - NULL otherwise: move up in the dir hierarchy
50078         - non-NULL: handle this new entry
50079         (fts_build): Declare and use new local, continue_readdir.
50080         Prepare to be called from fts_read, when the entries
50081         from a partially-read directory have just been exhausted.
50082         In that case, we'll skip the opendir and instead use the parent's
50083         fts_dirp and derive dir_fd from that.
50084         Finally, in the readdir loop, if we read max_entries entries,
50085         exit the loop ensuring *not* to call closedir.  This is required
50086         so that fts_dirp can be reused on a subsequent call.
50087         Prompted by Ben England's report of memory exhaustion in find
50088         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
50090         maint: fts: move decl of `dp' down into while loop; split a long line
50091         * lib/fts.c (fts_build): No semantic change.
50093         fts: add/use new struct member, fts_dirp
50094         We are about to use this to manage any directory with
50095         too many entries to read all of them into memory at once.
50096         To do that, we'll need to save the DIR* pointer in each
50097         affected FTSENT struct.
50098         * lib/fts_.h: Include <dirent.h>.
50099         (struct FTSENT) [fts_dirp]: New member.
50100         * lib/fts.c (closedir_and_clear): Define.
50101         Use it in place of closedir so that we are sure to
50102         clear the new fts_dirp member when done with it.
50103         (fts_alloc): Initialize the new member.
50104         (fts_lfree): Free, if needed.
50106         maint: fts: give __opendir2 a new parameter and rename
50107         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
50108         than surreptitiously using sole caller's "dir_fd".
50109         (fts_opendir): Rename from __opendir2.
50111         maint: fts.c: remove __opendir2's now-unused parameter, oflag
50112         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
50114         maint: fts.c: correct off-by-one indentation
50115         * lib/fts.c (fts_build): Correct indentation, change style
50116         of a couple of block comments, and bracing style.
50118         maint: fts.c: move __opendir2 #define "up" out of function body
50119         * lib/fts.c (__opendir2): Move "up".  No semantic change.
50121         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
50122         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
50123         out for a long time and besides was useful only on BSD systems.
50125 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50127         regex: port to Stratus OpenVOS
50128         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
50129         define to empty, rather than attempting nonportable optimizations.
50130         Problem reported by Paul Green in:
50131         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
50132         and fix suggested by Eric Blake in:
50133         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
50135 2011-08-17  Eric Blake  <eblake@redhat.com>
50137         getcwd: fix test failures on mingw
50138         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
50139         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
50140         test if long directory cannot be created, and allow mingw errno.
50142         getcwd-lgpl: fix m4 to match relaxed test for BSD
50143         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
50144         (gl_FUNC_GETCWD_SIGNATURE): New macro.
50145         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
50146         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
50147         signature problem.
50149         getcwd: fix compilation on mingw64
50150         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
50151         getcwd.
50152         Reported by Marc-André Lureau.
50154         pipe2: silence compiler warning
50155         * lib/pipe2.c (pipe2): Hide label if it is not used.
50157 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
50159         relocatable-prog: fix link error
50160         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
50161         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
50162         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
50163         into modules/relocatable-lib without noticing that
50164         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
50165         also needs to build relocatable.c.
50167 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
50169         getaddrinfo: fix sh typo in gai_strerrorA decl checking
50170         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
50171         shell code: it contained a 'break' that was not in a loop.
50172         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
50173         via a shell-language loop; this may have been true in old Autoconf
50174         versions, but it's not true in Autoconf 2.68.  I found this bug
50175         when testing coreutils git on Solaris 8, whose shell complains
50176         about the syntax error.
50178 2011-08-12  Simon Josefsson  <simon@josefsson.org>
50180         * lib/base64.c: Fix comment to reference RFC 4648.
50181         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
50182         <gvtulder@gmail.com>.
50184 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50186         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
50188         po/Makefile.in.in: fix make -q problem
50189         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
50190         rule, since there's no file named 'check-macro-version' and its
50191         use as a file breaks make -q.
50192         (all): Don't depend on check-macro-version.
50193         (CHECK_MACRO_VERSION): New macro.
50194         (stamp-po): Use it.
50196         configmake: fix make -q problem
50197         * modules/configmake (configmake.h): Update configmake.h's time stamp
50198         even if the file does not change.  Otherwise, 'make -q' fails.
50199         Problem reported by Simon Josefsson in
50200         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
50202 2011-08-11  Jim Meyering  <meyering@redhat.com>
50204         git-version-gen: correct the advice in a comment
50205         * build-aux/git-version-gen: Correct comment.
50206         Don't recommend to list .tarball-version in .gitignore.
50208 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50210         base64: fix off-by-one buffer size bug
50211         Problem and (trivial) fix reported by Gijs van Tulder in
50212         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
50213         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
50214         * tests/test-base64.c (main): Catch the bug.
50216 2011-08-10  Eric Blake  <eblake@redhat.com>
50218         closein: correct comments
50219         * lib/closein.c (close_stdin): Improve comments.
50221 2011-08-09  Bruno Haible  <bruno@clisp.org>
50223         More tests for 'fseeko'.
50224         * tests/test-fseeko3.c: New file, from Eric Blake.
50225         * tests/test-fseeko3.sh: New file.
50226         * modules/fseeko-tests (Files): Add them.
50227         (TESTS): Add test-fseeko3.sh.
50228         (check_PROGRAMS): Add test-fseeko3.
50230 2011-08-09  Eric Blake  <eblake@redhat.com>
50232         fseeko: remove unneeded hack
50233         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
50235         fseeko: fix bug on glibc
50236         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
50237         Reported by John W. Eaton.
50239 2011-08-08  Bruno Haible  <bruno@clisp.org>
50241         unictype/base: Fix interoperability with preinstalled libunistring.
50242         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
50243         Reported by Simon Josefsson.
50245 2011-08-08  Bruno Haible  <bruno@clisp.org>
50247         iswblank: Detect declaration correctly.
50248         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
50249         AC_CHECK_DECLS invocation.
50251 2011-08-08  Bruno Haible  <bruno@clisp.org>
50253         tcgetsid: Detect declaration correctly.
50254         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
50255         AC_CHECK_DECLS invocation.
50256         Reported by Simon Josefsson.
50258 2011-08-08  Eric Blake  <eblake@redhat.com>
50260         largefile: fix typo that regressed large file support
50261         * modules/largefile (configure.ac-early): Fix section name.
50263 2011-08-06  Karl Berry  <karl@gnu.org>
50265         * MODULES.html.sh (func_all_files): _Noreturn is no longer
50266         a separate module.
50268 2011-08-05  Simon Josefsson  <simon@josefsson.org>
50270         openat: Fix warnings and commens when building unlinkat.c on Hurd.
50271         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
50272         get prototype for free.
50274 2011-08-04  Bruno Haible  <bruno@clisp.org>
50276         Tests for module 'pathmax'.
50277         * modules/pathmax-tests: New file.
50278         * tests/test-pathmax.c: New file.
50280         canonicalize-lgpl: Support larger filenames on the Hurd.
50281         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
50282         Reported by Paul Eggert.
50284         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
50285         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
50286         * lib/chdir-long.h: Include pathmax.h.
50287         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
50288         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
50289         (PATH_MAX): Remove code that is done by pathmax.h.
50290         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
50291         * lib/tmpfile.c: Add a comment.
50292         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
50293         * modules/chdir-long (Depends-on): Add pathmax.
50294         * modules/getcwd (Depends-on): Add pathmax.
50295         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
50296         is not defined.
50297         * doc/posix-headers/limits.texi: Mention the pathmax module.
50298         * NEWS: Mention the change.
50300 2011-08-02  Bruno Haible  <bruno@clisp.org>
50302         pthread_sigmask: Actually use results of gl_THREADLIB.
50303         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
50304         gl_THREADLIB, not gl_[]THREADLIB.
50305         Reported by Eric Blake.
50307 2011-08-02  Jim Meyering  <meyering@redhat.com>
50309         maint.mk: relax the default _gl_TS_function_match regexp
50310         * top/maint.mk (_gl_TS_function_match): Don't require at least one
50311         space between function name and "(" in an "extern" declaration.
50312         That would fail to match a decl with no space there: extern void foo();
50314 2011-07-31  Iain Nicol  <iain@thenicols.net>
50316         git-version-gen: document that EXTRA_DIST must include .version
50317         * build-aux/git-version-gen: In the how-to-use comment, document
50318         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
50319         will fail when run from an unpacked distribution tarball.
50321 2011-08-01  Bruno Haible  <bruno@clisp.org>
50323         wctype-h: Fix last change.
50324         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
50325         REPLACE_TOWLOWER to 0.
50326         Reported by Sam Steingold <sds@gnu.org>.
50328 2011-07-31  Bruno Haible  <bruno@clisp.org>
50330         frexpl: Update autoconf test.
50331         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
50332         according to changes of 2011-06-20.
50334 2011-07-31  Bruno Haible  <bruno@clisp.org>
50336         sys_utsname: Add support for Minix.
50337         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
50338         <sys/utsname.h>.
50339         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
50340         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
50342 2011-07-31  Bruno Haible  <bruno@clisp.org>
50344         strings: Add support for Minix.
50345         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
50346         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
50347         * doc/posix-headers/strings.texi: Document the Minix problem.
50349 2011-07-31  Bruno Haible  <bruno@clisp.org>
50351         wctype-h: Add support for Minix.
50352         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
50353         REPLACE_TOWLOWER.
50354         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
50355         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
50356         REPLACE_ISWCNTRL.
50358 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
50360         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
50361         This is a performance improvement for 64-bit hosts: it causes the
50362         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
50364 2011-07-31  Bruno Haible  <bruno@clisp.org>
50366         stdioext: Add support for Minix.
50367         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
50368         * lib/fpurge.c (fpurge): Likewise.
50369         * lib/freadahead.c (freadahead): Likewise.
50370         * lib/freadable.c (freadable): Likewise.
50371         * lib/freading.c (freading): Likewise.
50372         * lib/freadptr.c (freadptr): Likewise.
50373         * lib/freadseek.c (freadptrinc): Likewise.
50374         * lib/fseeko.c (rpl_fseeko): Likewise.
50375         * lib/fseterr.c (fseterr): Likewise.
50376         * lib/fwritable.c (fwritable): Likewise.
50377         * lib/fwriting.c (fwriting): Likewise.
50378         * lib/fflush.c (clear_ungetc_buffer): Update comment.
50379         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
50381 2011-07-31  Bruno Haible  <bruno@clisp.org>
50383         errno: Port to Minix.
50384         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
50385         ECONNABORTED are defined.
50386         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
50387         GNULIB_defined_ECONNABORTED): New macros.
50388         * lib/strerror-override.h (strerror_override): Test also
50389         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
50390         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
50391         ECONNABORTED.
50392         * doc/posix-headers/errno.texi: Mention the Minix problem.
50394 2011-07-31  Bruno Haible  <bruno@clisp.org>
50396         Work around declaration collisions on Minix.
50397         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
50398         defined, set REPLACE_MBSINIT.
50399         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
50400         defined, set REPLACE_MBRTOWC.
50401         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
50402         set REPLACE_MBRLEN.
50403         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
50404         defined, set REPLACE_MBSRTOWCS.
50405         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
50406         defined, set REPLACE_WCRTOMB.
50407         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
50408         defined, set REPLACE_WCSRTOMBS.
50410 2011-07-31  Bruno Haible  <bruno@clisp.org>
50412         Add support for Minix with ACK compiler.
50413         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
50414         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
50415         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
50417 2011-07-31  Bruno Haible  <bruno@clisp.org>
50419         Documentation about Minix.
50420         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
50421         * doc/glibc-headers/*.texi: Likewise.
50422         * doc/posix-functions/*.texi: Likewise.
50423         * doc/glibc-functions/*.texi: Likewise.
50425 2011-07-31  Bruno Haible  <bruno@clisp.org>
50427         snippet/warn-on-use: Fix indentation.
50428         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
50430 2011-07-25  Jim Meyering  <meyering@redhat.com>
50432         tests: test-update-copyright.sh: remove unnecessary "rm" commands
50433         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
50434         commands.
50436 2011-07-27  Jim Meyering  <meyering@redhat.com>
50438         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
50439         * top/maint.mk (gl_extract_significant_defines_): Now that
50440         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
50441         gnulib/lib/signal.in.h, and now that we recommend to
50442         define-if-undefined those two symbols in application code,
50443         we must filter them out of the "significant" list.
50444         This avoids a "make syntax-check" failure in coreutils.
50446 2011-07-26  Eric Blake  <eblake@redhat.com>
50448         warnings: add comments about previous patch
50449         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
50450         * m4/include_next.m4: Likewise.
50451         * m4/warn-on-use.m4: Likewise.
50452         * m4/warnings.m4: Likewise, and simplify use.
50453         Suggested by Stefano Lattarini.
50455         include-next, warnings: support older autoconf
50456         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
50457         AS_VAR_PUSHDEF in a way that works with older autoconf.
50458         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
50459         Reported by Daniel P. Berrange.
50461 2011-07-25  Bruno Haible  <bruno@clisp.org>
50463         fseek, ftell: Fix doc.
50464         * doc/posix-functions/fseek.texi: Reword statement about
50465         AC_SYS_LARGEFILE.
50466         * doc/posix-functions/ftell.texi: Likewise.
50468 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50469             Bruno Haible  <bruno@clisp.org>
50471         Add dependencies to the 'largefile' module.
50472         * modules/fopen (Depends-on): Add 'largefile'.
50473         * modules/freopen (Depends-on): Likewise.
50474         * modules/fseeko (Depends-on): Likewise.
50475         * modules/ftello (Depends-on): Likewise.
50476         * modules/glob (Depends-on): Likewise.
50477         * modules/lseek (Depends-on): Likewise.
50478         * modules/lstat (Depends-on): Likewise.
50479         * modules/mkostemp (Depends-on): Likewise.
50480         * modules/mkostemps (Depends-on): Likewise.
50481         * modules/mkstemp (Depends-on): Likewise.
50482         * modules/mkstemps (Depends-on): Likewise.
50483         * modules/open (Depends-on): Likewise.
50484         * modules/openat (Depends-on): Likewise.
50485         * modules/pread (Depends-on): Likewise.
50486         * modules/pwrite (Depends-on): Likewise.
50487         * modules/scandir (Depends-on): Likewise.
50488         * modules/stat (Depends-on): Likewise.
50489         * modules/tmpfile (Depends-on): Likewise.
50490         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
50491         since the containing module now depends on the largefile module.
50492         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
50493         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
50494         off_t is fixed by gnulib.
50495         * doc/posix-functions/freopen.texi: Likewise.
50496         * doc/posix-functions/fseeko.texi: Likewise.
50497         * doc/posix-functions/fstatat.texi: Likewise.
50498         * doc/posix-functions/ftello.texi: Likewise.
50499         * doc/posix-functions/glob.texi: Likewise.
50500         * doc/posix-functions/lseek.texi: Likewise.
50501         * doc/posix-functions/lstat.texi: Likewise.
50502         * doc/posix-functions/mkstemp.texi: Likewise.
50503         * doc/posix-functions/open.texi: Likewise.
50504         * doc/posix-functions/openat.texi: Likewise.
50505         * doc/posix-functions/pread.texi: Likewise.
50506         * doc/posix-functions/pwrite.texi: Likewise.
50507         * doc/posix-functions/scandir.texi: Likewise.
50508         * doc/posix-functions/stat.texi: Likewise.
50509         * doc/posix-functions/tmpfile.texi: Likewise.
50510         * doc/glibc-functions/mkostemp.texi: Likewise.
50511         * doc/glibc-functions/mkostemps.texi: Likewise.
50512         * doc/glibc-functions/mkstemps.texi: Likewise.
50514 2011-07-25  Bruno Haible  <bruno@clisp.org>
50516         fcntl: Move AC_LIBOBJ invocation to module description.
50517         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
50518         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
50520         fcntl: Remove call-in from fchdir.m4.
50521         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
50522         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
50524         dup3: Remove potential call-in from fchdir.m4.
50525         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
50526         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
50528         dup2: Move AC_LIBOBJ invocation to module description.
50529         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
50530         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
50531         Don't invoke AC_LIBOBJ.
50532         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
50534         dup2: Remove call-in from fchdir.m4.
50535         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
50536         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
50538         fclose: Move AC_LIBOBJ invocation to module description.
50539         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
50540         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
50541         to 1.
50542         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
50544         fclose: Remove call-in from close.m4.
50545         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
50546         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
50548         close: Move AC_LIBOBJ invocation to module description.
50549         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
50550         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
50551         1.
50552         * modules/close (configure.ac): Invoke AC_LIBOBJ.
50554         close: Remove call-in from fchdir.m4.
50555         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
50556         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
50558         open: Move AC_LIBOBJ invocation to module description.
50559         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
50560         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
50561         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
50563         open: Remove call-in from fchdir.m4.
50564         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
50565         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
50567         fchdir: Start to remove gl_REPLACE_* idiom.
50568         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
50569         (gl_FUNC_FCHDIR): Invoke it.
50571 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50573         * lib/ftell.c (ftell): Comment out cast.
50575         close: use gl_REPLACE_FCLOSE only if defined
50576         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
50577         is defined.  The close module doesn't depend on the fclose module
50578         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
50579         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
50580         I reproduced the problem with "./gnulib-tool --test close sys_socket".
50582 2011-07-24  Jim Meyering  <meyering@redhat.com>
50584         test-select.h: avoid warning when using gcc's -Wmissing-declarations
50585         * tests/test-select.h (test_function): Declare as "static".
50587 2011-07-24  Bruno Haible  <bruno@clisp.org>
50589         doc: Mention the effects of AC_SYS_LARGEFILE.
50590         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
50591         on this function.
50592         * doc/posix-functions/aio_error.texi: Likewise.
50593         * doc/posix-functions/aio_fsync.texi: Likewise.
50594         * doc/posix-functions/aio_read.texi: Likewise.
50595         * doc/posix-functions/aio_return.texi: Likewise.
50596         * doc/posix-functions/aio_suspend.texi: Likewise.
50597         * doc/posix-functions/aio_write.texi: Likewise.
50598         * doc/posix-functions/fgetpos.texi: Likewise.
50599         * doc/posix-functions/fopen.texi: Likewise.
50600         * doc/posix-functions/freopen.texi: Likewise.
50601         * doc/posix-functions/fsetpos.texi: Likewise.
50602         * doc/posix-functions/fstatvfs.texi: Likewise.
50603         * doc/posix-functions/ftruncate.texi: Likewise.
50604         * doc/posix-functions/ftw.texi: Likewise.
50605         * doc/posix-functions/getrlimit.texi: Likewise.
50606         * doc/posix-functions/glob.texi: Likewise.
50607         * doc/posix-functions/lio_listio.texi: Likewise.
50608         * doc/posix-functions/lockf.texi: Likewise.
50609         * doc/posix-functions/mkstemp.texi: Likewise.
50610         * doc/posix-functions/mmap.texi: Likewise.
50611         * doc/posix-functions/nftw.texi: Likewise.
50612         * doc/posix-functions/openat.texi: Likewise.
50613         * doc/posix-functions/opendir.texi: Likewise.
50614         * doc/posix-functions/posix_fadvise.texi: Likewise.
50615         * doc/posix-functions/posix_fallocate.texi: Likewise.
50616         * doc/posix-functions/pread.texi: Likewise.
50617         * doc/posix-functions/pwrite.texi: Likewise.
50618         * doc/posix-functions/readdir.texi: Likewise.
50619         * doc/posix-functions/readdir_r.texi: Likewise.
50620         * doc/posix-functions/rewinddir.texi: Likewise.
50621         * doc/posix-functions/scandir.texi: Likewise.
50622         * doc/posix-functions/seekdir.texi: Likewise.
50623         * doc/posix-functions/setrlimit.texi: Likewise.
50624         * doc/posix-functions/statvfs.texi: Likewise.
50625         * doc/posix-functions/telldir.texi: Likewise.
50626         * doc/posix-functions/tmpfile.texi: Likewise.
50627         * doc/posix-functions/truncate.texi: Likewise.
50628         * doc/glibc-functions/fallocate.texi: Likewise.
50629         * doc/glibc-functions/fstatfs.texi: Likewise.
50630         * doc/glibc-functions/fts_children.texi: Likewise.
50631         * doc/glibc-functions/fts_read.texi: Likewise.
50632         * doc/glibc-functions/getdirentries.texi: Likewise.
50633         * doc/glibc-functions/mkostemp.texi: Likewise.
50634         * doc/glibc-functions/mkostemps.texi: Likewise.
50635         * doc/glibc-functions/mkstemps.texi: Likewise.
50636         * doc/glibc-functions/preadv.texi: Likewise.
50637         * doc/glibc-functions/pwritev.texi: Likewise.
50638         * doc/glibc-functions/sendfile.texi: Likewise.
50639         * doc/glibc-functions/statfs.texi: Likewise.
50641 2011-07-24  Bruno Haible  <bruno@clisp.org>
50643         doc: Fix typo.
50644         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
50646 2011-07-24  Bruno Haible  <bruno@clisp.org>
50648         doc: Mention fsusage.
50649         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
50651 2011-07-24  Bruno Haible  <bruno@clisp.org>
50653         doc: Mention new glibc headers and functions.
50654         * doc/glibc-headers/gshadow.texi: New file.
50655         * doc/glibc-functions/endsgent.texi: New file.
50656         * doc/glibc-functions/fgetsgent.texi: New file.
50657         * doc/glibc-functions/fgetsgent_r.texi: New file.
50658         * doc/glibc-functions/getsgent.texi: New file.
50659         * doc/glibc-functions/getsgent_r.texi: New file.
50660         * doc/glibc-functions/getsgnam.texi: New file.
50661         * doc/glibc-functions/getsgnam_r.texi: New file.
50662         * doc/glibc-functions/putsgent.texi: New file.
50663         * doc/glibc-functions/setsgent.texi: New file.
50664         * doc/glibc-functions/sgetsgent.texi: New file.
50665         * doc/glibc-functions/sgetsgent_r.texi: New file.
50666         * doc/glibc-functions/malloc_info.texi: New file.
50667         * doc/glibc-functions/preadv.texi: New file.
50668         * doc/glibc-functions/pwritev.texi: New file.
50669         * doc/glibc-functions/register_printf_modifier.texi: New file.
50670         * doc/glibc-functions/register_printf_specifier.texi: New file.
50671         * doc/glibc-functions/register_printf_type.texi: New file.
50672         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
50673         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
50674         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
50675         * doc/glibc-functions/pthread_getname_np.texi: New file.
50676         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
50677         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
50678         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
50679         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
50680         * doc/glibc-functions/pthread_setname_np.texi: New file.
50681         * doc/glibc-functions/pthread_sigqueue.texi: New file.
50682         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
50683         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
50684         * doc/glibc-functions/qsort_r.texi: New file.
50685         * doc/glibc-functions/quick_exit.texi: New file.
50686         * doc/glibc-functions/syncfs.texi: New file.
50687         * doc/gnulib.texi: Include them.
50688         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
50689         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
50690         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
50691         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
50692         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
50693         * doc/glibc-functions/execvpe.texi: Likewise.
50695 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50697         ftell: don't include <unistd.h>
50698         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
50699         guaranteed to define off_t, and the ftell module depends on the
50700         stdio module.
50702         ftell: do not assume wraparound signed arithmetic
50703         * lib/ftell.c: Include <limits.h>.
50704         (ftell): Don't assume wraparound signed arithmetic.
50706 2011-07-24  Bruno Haible  <bruno@clisp.org>
50708         close: No longer depend on module 'fclose'.
50709         * modules/close (Depends-on): Remove fclose.
50710         * NEWS: Mention the change.
50711         Suggested by Sam Steingold <sds@gnu.org>.
50713 2011-07-24  Bruno Haible  <bruno@clisp.org>
50715         fsusage: Enable large volume support on AIX >= 5.2.
50716         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
50717         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
50718         instead of STAT_STATVFS.
50719         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
50721         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
50722         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
50723         f_blocks field only on MacOS X.
50725         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
50726         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
50727         * modules/fsusage (Depends-on): Add largefile.
50729 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50731         * README: Modernize discussion of signed integers.
50732         Assuming overflow wraparound is no longer safe.
50733         Mention ones' complement and signed magnitude.
50735 2011-07-22  Bruno Haible  <bruno@clisp.org>
50737         select tests, pselect tests: Refactor.
50738         * tests/test-select.h: New file, extracted from tests/test-select.c.
50739         (select_fn): New type.
50740         (test, do_select, do_select_nowait, do_select_wait, test_tty,
50741         test_connect_first, test_accept_first, test_pair, test_socket_pair,
50742         test_pipe): Add my_select argument.
50743         (test_function): Renamed from main. Add my_select argument.
50744         * tests/test-select.c: Move most code to tests/test-select.h. Include
50745         test-select.h.
50746         * modules/select-tests (Files): Add tests/test-select.h.
50747         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
50748         (my_select, main): New functions.
50749         * modules/pselect-tests (Files): Add tests/test-select.h,
50750         tests/macros.h, tests/signature.h.
50751         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
50752         (configure.ac): Check for <sys/wait.h>.
50754 2011-07-22  Bruno Haible  <bruno@clisp.org>
50756         sys_select tests: Check the signature of FD_*.
50757         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
50758         signature tests from here...
50759         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
50760         here.
50761         * modules/sys_select-tests (Files): Add tests/signature.h.
50763 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50765         largefile: new module, replacing large-inode
50766         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
50767         * MODULES.html.sh: Add largefile, remove large-inode.
50768         * modules/largefile, m4/largefile.m4: New files.
50769         * modules/large-inode, m4/large-inode.m4: Remove.
50771         fsusage: port to MacOS X 10.7 with 4 TiB file systems
50772         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
50773         implementations that use only 32 bits to count blocks.
50774         On typical hosts with 1024-byte blocks, this fails with file
50775         systems as small as 4 TiB.  Problem reported by Herb Wartens
50776         <http://debbugs.gnu.org/9140> and this should also fix a similar
50777         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
50779         large-inode: New module
50780         * MODULES.html.sh: Add it.
50781         * modules/large-inode, m4/large-inode.m4: New files.
50783         extensions: Enable extensions on MacOS X 10.5 and later.
50784         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
50786 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
50788         file-has-acl: use acl_extended_file_nofollow if available
50789         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
50790         (acl_extended_file): New macro.
50791         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
50792         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
50794 2011-07-21  Bruno Haible  <bruno@clisp.org>
50796         Declare system functions in a way that works with C++.
50797         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
50798         declare fdopendir as extern "C".
50799         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
50800         declare frexpl as extern "C".
50801         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
50802         declare gai_strerror as extern "C".
50803         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
50804         programs, declare gai_strerror as extern "C".
50805         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
50806         declare getlogin_r as extern "C".
50807         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
50808         as extern "C".
50809         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
50810         declare ldexpl as extern "C".
50811         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
50812         as extern "C".
50813         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
50814         program, declare getmntinfo as extern "C".
50815         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
50816         stpncpy as extern "C".
50817         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
50818         program, declare __xpg_strerror_r as extern "C".
50819         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
50820         strndup as extern "C".
50821         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
50822         declare memset and bzero as extern "C".
50823         Reported by Sam Steingold <sds@gnu.org>.
50825 2011-07-12  Jim Meyering  <meyering@redhat.com>
50827         maint.mk: prohibit inclusion of "verify.h" without use
50828         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
50830 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50832         timer-time: A new module to check for timer_settime()
50833         * m4/timer_time.m4: Check for the posix function.
50834         * modules/timer-time: Add the new module.
50835         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
50836         Mention it.
50838 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
50839             Bruno Haible  <bruno@clisp.org>
50841         pthread_sigmask: assume POSIX threads if --avoid=threadlib
50842         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
50843         not defined, assume POSIX threads and look for pthread_sigmask in
50844         $LIBS, without changing $CPPFLAGS.
50846 2011-07-19  Bruno Haible  <bruno@clisp.org>
50848         strstr: Update cross-compilation guess.
50849         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
50850         CPUs, guess no, in view of glibc
50851         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
50852         Suggested by Eric Blake. Reported by Reuben Thomas.
50854 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50856         getopt-gnu: suppress core dumps from detection code
50857         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
50858         to suppress core dumps that may well occur on glibc systems.
50859         * modules/getopt-gnu: Depend on nocrash.
50861 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50863         pthread_sigmask: ensure usleep is declared
50864         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
50865         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
50867 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50869         doc: Document NonStop portability issues.
50870         * doc/posix-functions/sigaction.texi (sigaction):
50871         * doc/posix-headers/signal.texi (signal.h):
50872         Document NonStop.  See Joachim Schmitz in
50873         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
50875 2011-07-15  Bruno Haible  <bruno@clisp.org>
50877         ffsl, ffsll: Avoid unportable behaviour.
50878         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
50880 2011-07-15  Bruno Haible  <bruno@clisp.org>
50882         ffs: More tests.
50883         * tests/test-ffs.c (NBITS): New macro.
50884         (main): Add more tests.
50885         * tests/test-ffsl.c (NBITS): New macro.
50886         (main): Add more tests.
50887         * tests/test-ffsll.c (NBITS): New macro.
50888         (main): Add more tests.
50890 2011-07-15  Eric Blake  <eblake@redhat.com>
50892         ffsl, ffsll: new modules
50893         * modules/ffsl: New file.
50894         * modules/ffsll: Likewise.
50895         * m4/ffsl.m4: Likewise.
50896         * m4/ffsll.m4: Likewise.
50897         * lib/ffsl.c: Likewise.
50898         * lib/ffsl.h: Likewise.
50899         * lib/ffsll.c: Likewise.
50900         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
50901         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
50902         * modules/string (Makefile.am): Substitute witnesses.
50903         * lib/strings.in.h (ffsl, ffsll): Declare.
50904         * modules/ffsl-tests: New test file.
50905         * modules/ffsll-tests: Likewise.
50906         * tests/test-ffsl.c: Likewise.
50907         * tests/test-ffsll.c: Likewise.
50908         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50909         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
50910         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
50912         ffs: fix m4 prerequisite
50913         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
50915         ffs: avoid undefined behavior
50916         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
50917         * tests/test-ffs.c (naive, main): Avoid signed shifts.
50918         Reported by Bruno Haible.
50920 2011-07-12  Bruno Haible  <bruno@clisp.org>
50922         pthread_sigmask: Rely on module 'threadlib'.
50923         * modules/pthread_sigmask (Depends-on): Add threadlib.
50924         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
50925         is defined.
50927 2011-07-12  Bruno Haible  <bruno@clisp.org>
50929         regex: Depend on module 'strcase'.
50930         * modules/regex (Depends-on): Add strcase, for strcasecmp().
50932 2011-07-12  Jim Meyering  <meyering@redhat.com>
50934         warn-on-use: fix typo in file name
50935         * modules/snippet/warn-on-use (Files): Correct file name:
50936         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
50938 2011-07-12  Bruno Haible  <bruno@clisp.org>
50940         strings: Document module.
50941         * doc/posix-headers/strings.texi: Mention module 'strings'.
50943 2011-07-12  Bruno Haible  <bruno@clisp.org>
50945         Rename module '_Noreturn' to 'snippet/_Noreturn'.
50946         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
50947         (Files, Makefile.am): Update.
50948         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
50949         * modules/stdlib (Depends-on): Update.
50951 2011-07-12  Bruno Haible  <bruno@clisp.org>
50953         * NEWS: Mention the changes.
50955         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
50956         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
50957         (Files, Makefile.am): Update.
50958         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
50959         * modules/arpa_inet (Depends-on): Update.
50960         * modules/ctype (Depends-on): Update.
50961         * modules/dirent (Depends-on): Update.
50962         * modules/fcntl-h (Depends-on): Update.
50963         * modules/glob (Depends-on): Update.
50964         * modules/iconv-h (Depends-on): Update.
50965         * modules/inttypes-incomplete (Depends-on): Update.
50966         * modules/langinfo (Depends-on): Update.
50967         * modules/locale (Depends-on): Update.
50968         * modules/math (Depends-on): Update.
50969         * modules/netdb (Depends-on): Update.
50970         * modules/poll-h (Depends-on): Update.
50971         * modules/pty (Depends-on): Update.
50972         * modules/search (Depends-on): Update.
50973         * modules/signal (Depends-on): Update.
50974         * modules/spawn (Depends-on): Update.
50975         * modules/stdio (Depends-on): Update.
50976         * modules/stdlib (Depends-on): Update.
50977         * modules/string (Depends-on): Update.
50978         * modules/strings (Depends-on): Update.
50979         * modules/sys_file (Depends-on): Update.
50980         * modules/sys_ioctl (Depends-on): Update.
50981         * modules/sys_select (Depends-on): Update.
50982         * modules/sys_socket (Depends-on): Update.
50983         * modules/sys_stat (Depends-on): Update.
50984         * modules/sys_time (Depends-on): Update.
50985         * modules/sys_times (Depends-on): Update.
50986         * modules/sys_utsname (Depends-on): Update.
50987         * modules/sys_wait (Depends-on): Update.
50988         * modules/termios (Depends-on): Update.
50989         * modules/time (Depends-on): Update.
50990         * modules/unistd (Depends-on): Update.
50991         * modules/wchar (Depends-on): Update.
50992         * modules/wctype-h (Depends-on): Update.
50993         * MODULES.html.sh (Support for building libraries and executables):
50994         Update.
50996         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
50997         * modules/snippet/unused-parameter: Renamed from
50998         modules/unused-parameter.
50999         (Files, Makefile.am): Update.
51000         * build-aux/snippet/unused-parameter.h: Renamed from
51001         build-aux/unused-parameter.h.
51002         * modules/selinux-h (Depends-on): Update.
51003         * modules/unistr/base (Depends-on): Update.
51004         * MODULES.html.sh (Core language properties): Update.
51006         Rename module 'link-warning' to 'snippet/link-warning'.
51007         * modules/snippet/link-warning: Renamed from modules/link-warning.
51008         (Files, Makefile.am): Update.
51009         * build-aux/snippet/link-warning.h: Renamed from
51010         build-aux/link-warning.h.
51011         * MODULES.html.sh (Support for building libraries and executables):
51012         Update.
51014         Rename module 'c++defs' to 'snippet/c++defs'.
51015         * modules/snippet/c++defs: Renamed from modules/c++defs.
51016         (Files, Makefile.am): Update.
51017         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
51018         * modules/arpa_inet (Depends-on): Update.
51019         * modules/ctype (Depends-on): Update.
51020         * modules/dirent (Depends-on): Update.
51021         * modules/fcntl-h (Depends-on): Update.
51022         * modules/glob (Depends-on): Update.
51023         * modules/iconv-h (Depends-on): Update.
51024         * modules/langinfo (Depends-on): Update.
51025         * modules/locale (Depends-on): Update.
51026         * modules/math (Depends-on): Update.
51027         * modules/netdb (Depends-on): Update.
51028         * modules/poll-h (Depends-on): Update.
51029         * modules/pty (Depends-on): Update.
51030         * modules/search (Depends-on): Update.
51031         * modules/signal (Depends-on): Update.
51032         * modules/spawn (Depends-on): Update.
51033         * modules/stdio (Depends-on): Update.
51034         * modules/stdlib (Depends-on): Update.
51035         * modules/string (Depends-on): Update.
51036         * modules/strings (Depends-on): Update.
51037         * modules/sys_ioctl (Depends-on): Update.
51038         * modules/sys_select (Depends-on): Update.
51039         * modules/sys_socket (Depends-on): Update.
51040         * modules/sys_stat (Depends-on): Update.
51041         * modules/sys_time (Depends-on): Update.
51042         * modules/sys_wait (Depends-on): Update.
51043         * modules/termios (Depends-on): Update.
51044         * modules/time (Depends-on): Update.
51045         * modules/unistd (Depends-on): Update.
51046         * modules/wchar (Depends-on): Update.
51047         * modules/wctype-h (Depends-on): Update.
51049         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
51050         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
51051         (Files, Makefile.am): Update.
51052         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
51053         * modules/argv-iter (Depends-on): Update.
51054         * modules/arpa_inet (Depends-on): Update.
51055         * modules/dirent (Depends-on): Update.
51056         * modules/fcntl-h (Depends-on): Update.
51057         * modules/fnmatch (Depends-on): Update.
51058         * modules/getopt-posix (Depends-on): Update.
51059         * modules/glob (Depends-on): Update.
51060         * modules/iconv-h (Depends-on): Update.
51061         * modules/inttypes-incomplete (Depends-on): Update.
51062         * modules/locale (Depends-on): Update.
51063         * modules/math (Depends-on): Update.
51064         * modules/netdb (Depends-on): Update.
51065         * modules/search (Depends-on): Update.
51066         * modules/signal (Depends-on): Update.
51067         * modules/spawn (Depends-on): Update.
51068         * modules/stdio (Depends-on): Update.
51069         * modules/stdlib (Depends-on): Update.
51070         * modules/string (Depends-on): Update.
51071         * modules/strings (Depends-on): Update.
51072         * modules/sys_socket (Depends-on): Update.
51073         * modules/sys_stat (Depends-on): Update.
51074         * modules/sys_time (Depends-on): Update.
51075         * modules/sys_times (Depends-on): Update.
51076         * modules/sys_utsname (Depends-on): Update.
51077         * modules/time (Depends-on): Update.
51078         * modules/unistd (Depends-on): Update.
51079         * modules/wchar (Depends-on): Update.
51080         * MODULES.html.sh (Support for building libraries and executables):
51081         Update.
51083 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51085         Improvements on _Noreturn and related modules.
51087         modules/_Exit-tests: test _Noreturn too
51088         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
51089         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
51090         (main): Use them.
51092         stdnoreturn, stdnoreturn-tests: remove modules
51093         They're not needed here and a bit premature for use elsewhere.  See
51094         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
51095         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
51096         * tests/test-stdnoreturn.c: Remove files.
51097         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
51098         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
51099         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
51100         and using noreturn.
51101         * modules/openat, modules/sigpipe-die, modules/xalloc:
51102         * modules/xmemdup0, modules/xstrtol:
51103         Remove dependency on stdnoreturn.
51105         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
51106         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
51107         Reparenthesize to avoid GCC warning.
51108         Support Microsoft's syntax.
51109         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
51111         _Noreturn-tests: remove module
51112         * modules/_Noreturn-tests: Remove.
51113         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
51114         * tests/test-_Noreturn.c: Remove.
51115         * tests/test-stdnoreturn.c: Merge from the old
51116         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
51118 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
51120         _Noreturn, stdnoreturn, and related modules.
51122         * top/maint.mk: Adjust to new noreturn support.
51123         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
51124         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
51126         xalloc: use stdnoreturn.h
51127         * lib/xalloc.h: Include <stdnoreturn.h>.
51128         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51129         * modules/xalloc (Depends-on): Add stdnoreturn.
51131         xstrtol: use stdnoreturn.h
51132         * lib/xstrtol.h: Include <stdnoreturn.h>.
51133         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51134         * modules/xstrtol (Depends-on): Add stdnoreturn.
51136         xmemdup0: use stdnoreturn.h
51137         * lib/xmemdup0.h: Include <stdnoreturn.h>.
51138         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51139         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
51141         sigpipe-die: use stdnoreturn.h
51142         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
51143         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51144         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
51146         openat: use stdnoreturn.h
51147         * lib/openat.h: Include <stdnoreturn.h>.
51148         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
51149         * modules/openat (Depends-on): Add stdnoreturn.
51151         * lib/openat-die.c (openat_save_fail): Modernize comment.
51153         * lib/xalloc-die.c (xalloc_die): Modernize comment.
51155         * lib/glthread/thread.h: Modernize comment.
51157         obstack: use _Noreturn
51158         * lib/obstack.c (__attribute__): Remove macro.
51159         (print_and_abort): Use _Noreturn.
51161         c-stack: use _Noreturn
51162         * lib/c-stack.c (die, overflow_handler, segv_handler):
51163         Use _Noreturn rather than __attribute__((noreturn)).
51165         argmatch-tests, exclude_tests: use _Noreturn
51166         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
51167         Remove.
51168         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
51170         stdlib: use _Noreturn
51171         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
51172         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
51173         * modules/stdlib (Depends-on): Add _Noreturn.
51174         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
51176         stdnoreturn-tests: new module
51177         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
51179         stdnoreturn: new module
51180         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
51181         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
51183         _Noreturn-tests: new module
51184         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
51186         _Noreturn: new module
51187         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
51188         New section, mentioning it.
51189         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
51191         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
51193 2011-07-11  Eric Blake  <eblake@redhat.com>
51195         ffs: new module
51196         * modules/ffs: New file.
51197         * m4/ffs.m4: Likewise.
51198         * lib/ffs.c: Likewise.
51199         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
51200         * modules/strings (Makefile.am): Substitute witness.
51201         (Depends-on): Add c++defs.
51202         * lib/strings.in.h (ffs): Declare.
51203         * modules/ffs-tests: New test file.
51204         * tests/test-ffs.c: Test new module.
51205         * MODULES.html.sh (Integer arithmetic functions): Mention it.
51206         * doc/posix-functions/ffs.texi (ffs): Likewise.
51208         regex: avoid compiler warning
51209         * lib/regex.c (includes): Include <strings.h>, for use of
51210         strcasecmp in regcomp.c.
51211         Reported by Joachim Schmitz.
51213 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51215         stdint: respect system's intmax_t if INTMAX_MAX
51216         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
51217         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
51218         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
51219         long but int64_t is long long, and where we will clash with the
51220         system intmax_t if we override it.  See
51221         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
51222         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
51223         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
51224         similarly for UINTMAX_C.
51226 2011-07-08  Bruno Haible  <bruno@clisp.org>
51228         pthread_sigmask tests: Avoid a compiler warning.
51229         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
51230         non-zero.
51232         sigprocmask tests: A better way to avoid a compiler warning.
51233         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
51234         (main): Complain if system() returns non-zero.
51235         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
51237 2011-07-08  Bruno Haible  <bruno@clisp.org>
51239         pthread_sigmask: Work around IRIX bug.
51240         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
51241         bug.
51242         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
51243         there may be unblocked pending signals.
51244         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
51246 2011-07-08  Bruno Haible  <bruno@clisp.org>
51248         pthread_sigmask: Work around Cygwin bug.
51249         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
51250         bug.
51251         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
51252         the system's pthread_sigmask function.
51253         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
51255 2011-07-08  Bruno Haible  <bruno@clisp.org>
51257         pthread_sigmask: Work around bug in single-threaded implementation.
51258         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
51259         FreeBSD, HP-UX, Solaris bug.
51260         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
51261         * lib/pthread_sigmask.c: Include <stddef.h>.
51262         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
51263         the system's pthread_sigmask function.
51264         * modules/pthread_sigmask (configure.ac): Invoke
51265         gl_PREREQ_PTHREAD_SIGMASK.
51266         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
51267         HP-UX, Solaris.
51269 2011-07-08  Eric Blake  <eblake@redhat.com>
51271         test-sigprocmask: avoid compiler warning
51272         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
51273         * tests/test-sigprocmask.c (main): Use it to silence warning.
51274         Reported by Jim Meyering.
51276         test-snprintf: avoid compiler warning
51277         * tests/test-snprintf.c (main): Avoid shadowed declaration.
51278         * tests/test-vsnprintf.c (main): Likewise.
51279         Reported by Jim Meyering.
51281 2011-07-08  Bruno Haible  <bruno@clisp.org>
51283         Tests for module 'pthread_sigmask'.
51284         * modules/pthread_sigmask-tests: New file.
51285         * tests/test-pthread_sigmask1.c: New file, based on
51286         tests/test-sigprocmask.c.
51287         * tests/test-pthread_sigmask2.c: New file.
51289 2011-07-08  Jim Meyering  <meyering@redhat.com>
51291         test-getopt.h: avoid warning about an unused variable
51292         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
51294 2011-07-07  Jim Meyering  <meyering@redhat.com>
51296         maint: reduce list of files exempt from sc_prohibit_leading_TABs
51297         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
51298         now that it no longer contains leading TABs.
51299         Remove unused "url=FIXME" statement.
51301 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51303         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
51304         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51305         When gl_THREADLIB is not in use, assume that the POSIX sematics
51306         are desired.  This is better for Emacs, which uses POSIX semantics
51307         on GNUish and/or POSIXish platforms, and does not use threads at
51308         all otherwise.
51310         pthread_sigmask: fix typo when testing for libraries
51311         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
51312         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
51314 2011-07-08  Eric Blake  <eblake@redhat.com>
51316         fts: introduce FTS_NOATIME
51317         * lib/fts_.h (FTS_NOATIME): New bit flag.
51318         (FTS_OPTIONMASK): Adjust.
51319         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
51320         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
51322 2011-07-08  Bruno Haible  <bruno@clisp.org>
51324         Tests for module 'thread'.
51325         * modules/thread-tests: New file.
51326         * tests/test-thread_self.c: New file.
51327         * tests/test-thread_create.cc: New file.
51329 2011-07-08  Bruno Haible  <bruno@clisp.org>
51331         thread: Avoid gcc warnings when using gl_thread_self().
51332         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
51333         'void *'.
51334         (gl_thread_self_pointer): Update.
51336 2011-07-07  Bruno Haible  <bruno@clisp.org>
51338         signal-c++-tests: Check declaration of pthread_sigmask.
51339         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
51340         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
51341         $(LIB_PTHREAD_SIGMASK).
51343 2011-07-07  Bruno Haible  <bruno@clisp.org>
51345         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
51346         * lib/signal.in.h (pthread_sigmask): Override if
51347         REPLACE_PTHREAD_SIGMASK is 1.
51348         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51349         REPLACE_PTHREAD_SIGMASK.
51350         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
51351         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
51352         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
51353         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51354         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
51356 2011-07-07  Bruno Haible  <bruno@clisp.org>
51358         pthread_sigmask: Ensure declaration in <signal.h>.
51359         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
51360         include <pthread.h>.
51361         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
51362         problem.
51364 2011-07-07  Bruno Haible  <bruno@clisp.org>
51366         pthread_sigmask: Document the module.
51367         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
51369 2011-07-07  Bruno Haible  <bruno@clisp.org>
51371         pthread_sigmask: Follow gnulib conventions.
51372         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
51373         gl_PTHREAD_SIGMASK.
51374         * modules/pthread_sigmask (configure.ac): Update.
51376 2011-07-07  Bruno Haible  <bruno@clisp.org>
51378         pthread_sigmask: Make declaration C++ safe.
51379         * lib/signal.in.h: In two special conditions, just do an #include_next.
51380         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51381         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
51382         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51383         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
51384         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
51385         not REPLACE_PTHREAD_MASK.
51386         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
51387         not REPLACE_PTHREAD_MASK.
51388         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
51390 2011-07-07  Bruno Haible  <bruno@clisp.org>
51392         pthread_sigmask: Fix return value.
51393         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
51394         * lib/pthread_sigmask.c: New file.
51395         * modules/pthread_sigmask (Files): Add it.
51396         (configure.ac): Invoke AC_LIBOBJ.
51398 2011-07-07  Eric Blake  <eblake@redhat.com>
51400         getopt: more portable argv creation
51401         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
51402         const, use char arrays rather than strings.
51403         Suggested by Paul Eggert.
51405 2011-07-07  Bruno Haible  <bruno@clisp.org>
51407         Tests for module 'sigprocmask'.
51408         * modules/sigprocmask-tests: New file.
51409         * tests/test-sigprocmask.c: New file.
51411 2011-07-07  Bruno Haible  <bruno@clisp.org>
51413         float tests: Tweak.
51414         * tests/test-float.c (main): Tweak skip message.
51416 2011-07-07  Eric Blake  <eblake@redhat.com>
51418         getopt: avoid compiler warning during configure
51419         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
51420         assigning string literals to non-const pointer.
51422         getopt-gnu: avoid crash in glibc getopt
51423         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
51424         * tests/test-getopt.h (test_getopt): Enhance test.
51425         * tests/test-getopt_long.h (test_getopt_long): Likewise.
51426         * doc/posix-functions/getopt.texi (getopt): Document it.
51427         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
51428         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
51429         Likewise.
51431 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
51433         getopt: handle W; without long options in getopt [BZ #12922]
51434         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
51435         but no long options are defined, just return 'W'.
51437 2011-07-07  Bruno Haible  <bruno@clisp.org>
51439         Avoid literal tabs.
51440         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
51441         variable containing a tab instead of a literal tab.
51442         Reported by Jim Meyering.
51444 2011-07-07  Bruno Haible  <bruno@clisp.org>
51446         Comments.
51447         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
51449 2011-07-06  Bruno Haible  <bruno@clisp.org>
51451         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
51452         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
51453         <winsock2.h>.
51454         (rpl_fd_isset, FD_ISSET): New definitions, copied from
51455         lib/sys_socket.in.h.
51456         (close, gethostname): Hide declarations from <winsock2.h>.
51457         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51458         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
51459         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
51460         (select): Don't override if gnulib's <sys/select.h> was already
51461         included.
51462         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
51463         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
51464         setsockopt, shutdown, select): Tweak indentation.
51466 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51468         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
51469         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
51470         in an application that does not use the sys_select module.
51472 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
51474         poll: do not return 0 on timeout=-1
51475         * lib/poll.c: Loop with yield if no events occurred.
51477 2011-07-06  Eric Blake  <eblake@redhat.com>
51479         pthread_sigmask: always replace when not using pthread
51480         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
51481         replacement when using some threading other than pthread.  Fix
51482         logic bug.
51484 2011-07-06  Bruno Haible  <bruno@clisp.org>
51486         Comments.
51487         * m4/printf.m4: Update comments about mingw.
51489 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51491         sys_select: define sigset_t more portably
51492         * lib/sys_select.in.h: Always include <sys/types.h>, since
51493         we now need sigset_t and mingw defines it there.
51494         Include <signal.h> before split inclusion guard, to avoid
51495         mishaps on Solaris, whose <signal.h> eventually includes us.
51496         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
51497         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
51498         which come from ...
51499         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
51500         gl_CHECK_TYPE_SIGSET_T.
51501         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
51502         does the real work.
51503         * modules/sys_select (Depends-on): Add 'signal'.
51505         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
51506         Suggested by Bruno Haible.
51508         pselect: Use pthread_sigmask, not sigprocmask.
51509         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
51510         multithreaded apps better than sigprocmask does.
51511         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
51512         sigprocmask directly.
51514 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51516         * lib/pselect.c (pselect): Use plain name, without "rpl_".
51517         Don't #undef,  since we don't need any underlying pselect.
51518         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
51519         (Depends-on): Add select.
51520         (Link): Add $(LIBSOCKET).
51521         These changes suggested by Bruno Haible.
51523         pselect: document better
51524         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
51525         * doc/posix-functions/pselect.texi (pselect): Document new module.
51527         pthread_sigmask: new module
51528         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
51529         * doc/posix-functions/pthread_sigmask.texi: Document new module.
51530         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
51531         This is done only as a macro; I don't know how well that'll
51532         work for C++.  Move <sys/types.h> include before the include_next,
51533         to avoid mishap on Solaris.
51534         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
51535         * modules/signal (Makefile.am): Substitute the check's results.
51536         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
51538         test-pselect: new module
51539         * modules/pselect-tests, tests/test-pselect.c: New files.
51540         * tests/test-select.c, tests/test-sys_select-c++.cc:
51541         If TEST_PSELECT is defined, test pselect instead of testing select.
51543         * tests/test-sys_select.c (sigset_t): Test for it, too.
51544         Suggested by Bruno Haible.
51546 2011-07-05  Eric Blake  <eblake@redhat.com>
51548         snprintf: guarantee %1$d, for libintl
51549         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
51550         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
51551         * doc/posix-functions/snprintf.texi (snprintf): Update.
51552         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51553         * tests/test-snprintf.c (main): Enhance test.
51554         * tests/test-vsnprintf.c (main): Likewise.
51556 2011-07-05  Jim Meyering  <meyering@redhat.com>
51558         maint: exempt stdio-read.c and stdio-write.c from the cppi check
51559         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
51560         per Bruno's request, to accommodate this idiom (no space after "#")
51561         even when the function is inside an #if block:
51562         char *
51563         gets (char *s)
51564         #undef gets
51565         {
51566           ...
51567         }
51569 2011-07-04  Jim Meyering  <meyering@redhat.com>
51571         maint: indent with spaces, not TABs, and add a rule to check this
51572         * tests/test-userspec.c: Indent with spaces, not TABs.
51573         * tests/test-argp.c: Likewise.
51574         * tests/test-c-stack2.sh: Likewise.
51575         * tests/test-parse-duration.sh: Likewise
51576         * m4/strtod.m4: Likewise.
51577         * m4/alloca.m4: Likewise.
51578         * m4/pselect.m4: Likewise.
51579         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
51581 2011-07-03  Jim Meyering  <meyering@redhat.com>
51583         maint.mk: correct omissions in prohibit_argmatch_without_use check
51584         This rule would mistakenly report that argmatch.h is included without
51585         use even when both the argmatch and invalid_arg macro were used.
51586         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
51587         of argmatch and invalid_arg.
51589 2011-07-03  Bruno Haible  <bruno@clisp.org>
51591         Comments about EINTR.
51592         * lib/safe-read.h: Explain the purpose of this module.
51593         * lib/safe-write.h: Likewise.
51594         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
51595         module.
51596         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
51597         module.
51598         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51600 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
51602         xnanosleep: Rewrite to use new dtotimespec module.
51603         It has the conversion code that used to be in xnanosleep.
51604         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
51605         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
51606         (TIME_T_MAX): Remove.
51607         (xnanosleep): Rewrite in terms of dtotimespec.
51608         * modules/xnanosleep (Depends-on): Add dtotimespec.
51609         Remove intprops, stdbool.
51611         timespec-add, timespec-sub: new modules
51612         * lib/timespec.h (timespec_add, timespec_sub): New decls.
51613         * lib/timespec-add.c, lib/timespec-sub.c:
51614         * modules/timespec-add, modules/timespec-sub: New files.
51616         dtotimespec: new module
51617         * lib/timespec.h (dtotimespec): New decl.
51618         * lib/dtotimespec.c, modules/dtotimespec: New files.
51620         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
51622         pselect: new module
51623         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
51624         (pselect): New decls.
51625         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
51626         since the standard pselect decl uses 'restrict'.
51627         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
51628         HAVE_PSELECT, REPLACE_PSELECT.
51629         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
51630         HAVE_PSELECT, REPLACE_PSELECT.
51631         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
51633         sys_select: don't depend on sys_socket
51634         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
51635         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
51636         This fix works on GNU and GNU-like platforms, but has not been tested
51637         on native Windows.
51638         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
51639         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
51640         gl_HEADER_SYS_SOCKET.
51641         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
51642         gl_PREREQ_SYS_H_WINSOCK2.
51644 2011-06-29  Eric Blake  <eblake@redhat.com>
51646         pipe2: fix C89 compile problem
51647         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
51648         Reported by Bruno Haible.
51650         pipe, pipe2: don't corrupt fd on error
51651         * lib/pipe.c (pipe): Leave fd unchanged on error.
51652         * lib/pipe2.c (pipe2): Likewise.
51653         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
51654         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51656 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
51658         mmap-anon: do not use regular expressions inadvertently
51659         * m4/mmap-anon.m4: Remove trailing period from strings sought
51660         in the output.
51662 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
51664         nanosleep: fix integer overflow problem
51665         * lib/nanosleep.c (my_usleep): Don't assume signed integer
51666         arithmetic wraps around on overflow.
51668         nanosleep: simplify carrying
51669         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
51670         first call to the underyling nanosleep, not for the last one.
51671         This doesn't fix any bugs, but it simplifies the computation of
51672         the remaining delay.  Found while auditing integer overflow issues.
51674         dup2: remove test for existence of fcntl
51675         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
51676         "#if HAVE_FCNTL", in the configure-time test program.
51677         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
51678         and therefore speeds up "configure" a bit.  Found while
51679         adding the dup2 module to Emacs.
51681 2011-06-24  Eric Blake  <eblake@redhat.com>
51683         maint.mk: enhance useless header checks
51684         * top/maint.mk (_sc_header_without_use): Check both include
51685         styles.
51686         (sc_prohibit_assert_without_use)
51687         (sc_prohibit_close_stream_without_use)
51688         (sc_prohibit_getopt_without_use)
51689         (sc_prohibit_quotearg_without_use)
51690         (sc_prohibit_quote_without_use)
51691         (sc_prohibit_long_options_without_use)
51692         (sc_prohibit_inttostr_without_use)
51693         (sc_prohibit_ignore_value_without_use)
51694         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
51695         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
51696         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
51697         (sc_prohibit_hash_pjw_without_use)
51698         (sc_prohibit_safe_read_without_use)
51699         (sc_prohibit_argmatch_without_use)
51700         (sc_prohibit_canonicalize_without_use)
51701         (sc_prohibit_root_dev_ino_without_use)
51702         (sc_prohibit_openat_without_use)
51703         (sc_prohibit_c_ctype_without_use)
51704         (sc_prohibit_signal_without_use)
51705         (sc_prohibit_stdio--_without_use)
51706         (sc_prohibit_stdio-safer_without_use)
51707         (sc_prohibit_strings_without_use)
51708         (sc_prohibit_intprops_without_use)
51709         (sc_prohibit_stddef_without_use)
51710         (sc_prohibit_xfreopen_without_use): Update clients.
51712 2011-06-24  Jim Meyering  <meyering@redhat.com>
51714         syntax-check: keep one maint.mk rule in sync with its header
51715         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
51716         of the bug Eric has just fixed, with today's commit 25e4c2ec.
51717         I prefer to avoid temporary files here, so use <(...), but that
51718         is not supported by /bin/sh, so...
51719         (SHELL): Define to /bin/bash.
51721 2011-06-24  Eric Blake  <eblake@redhat.com>
51723         maint.mk: update sc_prohibit_intprops_without_use
51724         * top/maint.mk (_intprops_names): Match recent changes.
51726 2011-06-24  Bruno Haible  <bruno@clisp.org>
51728         strerror-override: No-op tweak.
51729         * lib/strerror-override.h (strerror_override): Reorder conditions,
51730         for consistency with lib/strerror-override.c.
51732 2011-06-23  Eric Blake  <eblake@redhat.com>
51734         maint.mk: test further PATH_MAX issues
51735         * top/maint.mk (sc_prohibit_path_max_array): Rename...
51736         (sc_prohibit_path_max_allocation): ...and also test alloca.
51737         Suggested by Jim Meyering.
51739 2011-06-22  Eric Blake  <eblake@redhat.com>
51741         maint.mk: add syntax-check to avoid char[PATH_MAX]
51742         * top/maint.mk (sc_prohibit_path_max_array): New rule.
51744         stat: be robust to PATH_MAX definition
51745         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
51746         * modules/stat (Depends-on): Add verify.
51748         link: work around IRIX bug
51749         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
51750         * lib/link.c (rpl_link): Work around it.
51751         * tests/test-link.h (test_link): Enhance test.
51752         * doc/posix-functions/link.texi (link): Document the bug.
51754         getopt: silence clang warning
51755         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
51756         dereference.
51757         Reported by Gustavo Martin Domato.
51759 2011-06-22  Jim Meyering  <meyering@redhat.com>
51761         bootstrap: do not insert a blank line into each .gitignore file
51762         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
51764 2011-06-21  Eric Blake  <eblake@redhat.com>
51766         perror: test for output mismatch
51767         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
51768         perror on IRIX.
51770         strerror_r: fix OpenBSD behavior on out-of-range
51771         * lib/strerror_r.c (strerror_r): Always use maximal string.
51772         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
51774         strerror_r: fix OpenBSD behavior on 0
51775         * lib/strerror-override.c (strerror_override): Also override 0
51776         when needed.
51777         * lib/strerror-override.h (strerror_override): Likewise.
51778         * lib/strerror.c (strerror): Simplify, now that 0 override is done
51779         earlier.
51780         * lib/strerror_r.c (strerror_r): Likewise.
51781         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
51782         behavior...
51783         (gl_FUNC_STRERROR_0): ...into new macro.
51784         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
51785         is overridden.
51786         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
51787         * modules/strerror-override (Files): Add strerror.m4.
51788         (configure.ac): Also provide override for 0 when needed.
51789         * doc/posix-functions/strerror.texi (strerror): Document this.
51790         * doc/posix-functions/perror.texi (perror): Likewise.
51792         perror: adjust array size
51793         * modules/perror (Depends-on): Add strerror-override.
51794         * lib/perror.c (perror): Use it to avoid magic number.
51796         strerror-override: reduce size
51797         * lib/strerror-override.c (strerror_override): Use fewer lines.
51799 2011-06-20  Bruno Haible  <bruno@clisp.org>
51801         pathmax: Ensure correct value for PATH_MAX on HP-UX.
51802         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
51804 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51806         alloca: port to compilers that can optimize like GCC 4.6.0
51807         * lib/alloca.c (find_stack_direction): New signature, taken from
51808         Autoconf git.  This works with GCC 4.6.0.  This code should never
51809         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
51810         be used with other compilers that optimize as well as GCC 4.6.0 does.
51811         (alloca): Adjust to new signature.
51812         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
51813         New macro, which patches Autoconf in a similar way.
51815         c-stack: stop worrying about stack direction
51816         * lib/c-stack.c (find_stack_direction): Remove.
51817         (segv_handler): Don't worry about stack direction growth, as it's
51818         too much of a pain to configure this correctly, given how compilers
51819         are optimizing-away our stack-growth detection code.  Instead, assume
51820         that any access to just before or just after the stack is OK.
51821         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51822         Don't require AC_FUNC_ALLOCA; no longer needed.
51824 2011-06-20  Eric Blake  <eblake@redhat.com>
51826         test-stat: don't allocate PATH_MAX bytes
51827         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
51828         PATH_MAX-sized buffer.
51829         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
51830         * modules/stat-tests (Depends-on): Likewise.
51831         * tests/test-fstatat.c (includes): Drop pathmax.h.
51832         * tests/test-stat.c (includes): Likewise.
51833         Reported by Bruno Haible.
51835 2011-06-20  Bruno Haible  <bruno@clisp.org>
51837         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
51838         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
51839         * lib/float.c: New file.
51840         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
51841         REPLACE_FLOAT_LDBL.
51842         * modules/float (Files): Add lib/float.c.
51843         (configure.ac): Invoke AC_LIBOBJ.
51844         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
51846 2011-06-20  Bruno Haible  <bruno@clisp.org>
51848         Tests for module 'float'.
51849         * modules/float-tests: New file.
51850         * tests/test-float.c: New file.
51852 2011-06-19  Bruno Haible  <bruno@clisp.org>
51854         isinf: Coding style.
51855         * lib/isinf.c: Use GNU coding style.
51857 2011-06-19  Bruno Haible  <bruno@clisp.org>
51859         linkat test: Avoid test failure on AIX 7.1.
51860         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
51861         * tests/test-link.h (test_link): Likewise.
51863 2011-06-19  Bruno Haible  <bruno@clisp.org>
51865         pread test: Avoid test failure on OpenBSD 4.9.
51866         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
51868 2011-06-19  Bruno Haible  <bruno@clisp.org>
51870         sprintf-posix: Fix test failure on AIX 7.1.
51871         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
51872         * doc/posix-functions/dprintf.texi: Mention limited precision problem
51873         on AIX.
51874         * doc/posix-functions/fprintf.texi: Likewise.
51875         * doc/posix-functions/printf.texi: Likewise.
51876         * doc/posix-functions/snprintf.texi: Likewise.
51877         * doc/posix-functions/sprintf.texi: Likewise.
51878         * doc/posix-functions/vdprintf.texi: Likewise.
51879         * doc/posix-functions/vfprintf.texi: Likewise.
51880         * doc/posix-functions/vprintf.texi: Likewise.
51881         * doc/posix-functions/vsnprintf.texi: Likewise.
51882         * doc/posix-functions/vsprintf.texi: Likewise.
51884 2011-06-19  Bruno Haible  <bruno@clisp.org>
51886         roundl-ieee: Fix test failure on AIX 7.1.
51887         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
51888         * doc/posix-functions/roundl.texi: Mention problem with negative
51889         arguments.
51891 2011-06-19  Bruno Haible  <bruno@clisp.org>
51893         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51894         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
51895         * doc/posix-functions/round.texi: Mention problem with negative
51896         arguments.
51897         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
51899 2011-06-19  Bruno Haible  <bruno@clisp.org>
51901         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51902         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
51903         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
51904         * doc/posix-functions/roundf.texi: Mention problem with negative
51905         arguments.
51906         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
51908 2011-06-19  Bruno Haible  <bruno@clisp.org>
51910         ceilf-ieee: Work around bug on MacOS X 10.5.
51911         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
51913         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
51914         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
51915         IEEE compliant, avoid compiler optimizations.
51916         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
51917         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
51918         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
51919         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
51920         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
51921         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
51922         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
51923         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
51924         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
51925         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
51927 2011-06-19  Bruno Haible  <bruno@clisp.org>
51929         ceilf-ieee: Work around bug on AIX 7.1.
51930         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
51931         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
51933 2011-06-19  Bruno Haible  <bruno@clisp.org>
51935         ceil-ieee: Work around bug on AIX 7.1.
51936         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
51937         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
51939 2011-06-18  Bruno Haible  <bruno@clisp.org>
51941         fsync test: Avoid test failure on MacOS X and AIX.
51942         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
51943         EINVAL.
51945 2011-06-18  Bruno Haible  <bruno@clisp.org>
51947         openat, fdopendir tests: Fix link errors.
51948         * modules/openat-tests (Depends-on): Add progname.
51949         * modules/fdopendir-tests (Depends-on): Likewise.
51950         * tests/test-fchownat.c: Include progname.h.
51951         (main): Call set_program_name.
51952         * tests/test-fstatat.c: Include progname.h.
51953         (main): Call set_program_name.
51954         * tests/test-mkdirat.c: Include progname.h.
51955         (main): Call set_program_name.
51956         * tests/test-openat.c: Include progname.h.
51957         (main): Call set_program_name.
51958         * tests/test-unlinkat.c: Include progname.h.
51959         (main): Call set_program_name.
51960         * tests/test-fdopendir.c: Include progname.h.
51961         (main): Call set_program_name.
51963 2011-06-18  Bruno Haible  <bruno@clisp.org>
51965         Doc update.
51966         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
51967         HP-UX.
51968         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
51970 2011-06-18  Bruno Haible  <bruno@clisp.org>
51972         getcwd tests: Avoid compilation error on HP-UX 11.31.
51973         * modules/getcwd-tests (Depends-on): Add pathmax.
51974         * tests/test-getcwd.c: Include pathmax.h.
51976 2011-06-18  Bruno Haible  <bruno@clisp.org>
51978         isfinite, isinf: Fix link error on AIX 6 and 7.
51979         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
51980         needed, also test the macro with a 'float' argument.
51981         * m4/isinf.m4 (gl_ISINF): Likewise.
51983 2011-06-18  Bruno Haible  <bruno@clisp.org>
51985         getloadavg: Don't clobber LIBS. Regression from previous commit.
51986         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
51987         AC_CHECK_LIB from here...
51988         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
51989         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
51990         gl_func_getloadavg_done.
51991         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51993 2011-06-18  Bruno Haible  <bruno@clisp.org>
51995         clean-temp: Improve documentation.
51996         * lib/clean-temp.h: Explain better how to use this module.
51997         Reported by John Darrington <john@darrington.wattle.id.au>.
51999 2011-06-17  Bruno Haible  <bruno@clisp.org>
52001         pread, pwrite: Avoid cc warning on AIX.
52002         * lib/unistd.in.h (pread): Undefine before defining as a macro.
52003         (pwrite): Likewise.
52005 2011-06-17  Bruno Haible  <bruno@clisp.org>
52007         spawn-pipe tests: Fix link error.
52008         * tests/test-spawn-pipe-child.c: Undefine fprintf.
52009         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52011 2011-06-17  Bruno Haible  <bruno@clisp.org>
52013         Tests: Remove unnecessary dependency.
52014         * modules/canonicalize-tests (Depends-on): Remove progname.
52015         * modules/chown-tests (Depends-on): Likewise.
52016         * modules/dirname-tests (Depends-on): Likewise.
52017         * modules/fdopendir-tests (Depends-on): Likewise.
52018         * modules/fdutimensat-tests (Depends-on): Likewise.
52019         * modules/hash-tests (Depends-on): Likewise.
52020         * modules/lchown-tests (Depends-on): Likewise.
52021         * modules/linkat-tests (Depends-on): Likewise.
52022         * modules/renameat-tests (Depends-on): Likewise.
52023         * modules/spawn-pipe-tests (Depends-on): Likewise.
52024         * modules/utimensat-tests (Depends-on): Likewise.
52026 2011-06-17  Bruno Haible  <bruno@clisp.org>
52028         spawn-pipe tests: Fix link error.
52029         * tests/test-spawn-pipe-child.c: Undefine fflush.
52031 2011-06-17  Bruno Haible  <bruno@clisp.org>
52033         Fix tests link errors.
52034         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
52035         * modules/chown-tests (Makefile.am): Don't link test-chown with
52036         LIBINTL.
52037         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
52038         LIBINTL.
52039         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
52040         LIBINTL.
52041         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
52042         LIBINTL.
52044 2011-06-16  Bruno Haible  <bruno@clisp.org>
52046         crypto/gc-sha1: Fix recent regression.
52047         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
52048         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
52050         crypto/gc-md5: Fix recent regression.
52051         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
52053         crypto/gc-md4: Fix recent regression.
52054         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
52055         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
52057         crypto/gc-arctwo: Fix recent regression.
52058         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
52059         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
52061         crypto/gc-rijndael: Fix recent regression.
52062         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
52063         (configure.ac): Invoke AC_LIBOBJ here.
52064         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
52065         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52067         crypto/gc-hmac-sha1: Fix recent regression.
52068         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
52069         (configure.ac): Invoke AC_LIBOBJ here.
52070         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
52071         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52073         crypto/gc-hmac-md5: Fix recent regression.
52074         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
52075         (configure.ac): Invoke AC_LIBOBJ here.
52076         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
52077         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52079         crypto/gc-des: Fix recent regression.
52080         * modules/crypto/gc-des (Files): Remove m4/des.m4.
52081         (configure.ac): Invoke AC_LIBOBJ here.
52082         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
52083         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52085         crypto/gc-arcfour: Fix recent regression.
52086         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
52087         (configure.ac): Invoke AC_LIBOBJ here.
52088         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
52089         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52091 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
52093         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
52094         After the 2011-05-21 change, this macro requires
52095         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
52096         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52098 2011-06-16  Bruno Haible  <bruno@clisp.org>
52100         fprintftime: Move AC_LIBOBJ invocations to module description.
52101         * m4/fprintftime.m4: Remove file.
52102         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
52103         (configure.ac): Remove gl_FPRINTFTIME call.
52104         (Makefile.am): Augment lib_SOURCES.
52105         Reported by Jim Meyering.
52107 2011-06-16  Bruno Haible  <bruno@clisp.org>
52109         tmpfile-safer: Finish 2011-05-23 commit.
52110         * m4/stdio-safer.m4: Really remove file.
52111         Reported by Jim Meyering.
52113 2011-06-16  Bruno Haible  <bruno@clisp.org>
52115         syntax-check: Fix typo.
52116         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
52117         printf-posix.m4.
52118         Reported by Jim Meyering.
52120 2011-06-13  Jim Meyering  <meyering@redhat.com>
52122         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
52123         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
52125 2011-05-23  Bruno Haible  <bruno@clisp.org>
52127         yesno: Move AC_LIBOBJ invocations to module description.
52128         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
52129         * modules/yesno (Makefile.am): Augment lib_SOURCES.
52131 2011-05-23  Bruno Haible  <bruno@clisp.org>
52133         xstrtol: Move AC_LIBOBJ invocations to module description.
52134         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
52135         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
52137 2011-05-23  Bruno Haible  <bruno@clisp.org>
52139         xstrtold: Move AC_LIBOBJ invocations to module description.
52140         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
52141         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
52143 2011-05-23  Bruno Haible  <bruno@clisp.org>
52145         xstrtod: Move AC_LIBOBJ invocations to module description.
52146         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
52147         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
52149 2011-05-23  Bruno Haible  <bruno@clisp.org>
52151         xnanosleep: Move AC_LIBOBJ invocations to module description.
52152         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
52153         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
52155 2011-05-23  Bruno Haible  <bruno@clisp.org>
52157         xgetcwd: Move AC_LIBOBJ invocations to module description.
52158         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
52159         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
52161 2011-05-23  Bruno Haible  <bruno@clisp.org>
52163         xalloc: Move AC_LIBOBJ invocations to module description.
52164         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
52165         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
52167 2011-05-23  Bruno Haible  <bruno@clisp.org>
52169         write-any-file: Move AC_LIBOBJ invocations to module description.
52170         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
52171         invocation.
52172         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
52174 2011-05-23  Bruno Haible  <bruno@clisp.org>
52176         utimens: Move AC_LIBOBJ invocations to module description.
52177         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
52178         * modules/utimens (Makefile.am): Augment lib_SOURCES.
52180 2011-05-23  Bruno Haible  <bruno@clisp.org>
52182         utimecmp: Move AC_LIBOBJ invocations to module description.
52183         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
52184         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
52186 2011-05-23  Bruno Haible  <bruno@clisp.org>
52188         userspec: Move AC_LIBOBJ invocations to module description.
52189         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
52190         * modules/userspec (Makefile.am): Augment lib_SOURCES.
52192 2011-05-23  Bruno Haible  <bruno@clisp.org>
52194         unlinkdir: Move AC_LIBOBJ invocations to module description.
52195         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
52196         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
52198 2011-05-23  Bruno Haible  <bruno@clisp.org>
52200         unistd-safer: Move AC_LIBOBJ invocations to module description.
52201         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
52202         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
52204 2011-05-23  Bruno Haible  <bruno@clisp.org>
52206         tempname: Move AC_LIBOBJ invocations to module description.
52207         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
52208         * modules/tempname (Makefile.am): Augment lib_SOURCES.
52210 2011-05-23  Bruno Haible  <bruno@clisp.org>
52212         strftime: Move AC_LIBOBJ invocations to module description.
52213         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
52214         * modules/strftime (Makefile.am): Augment lib_SOURCES.
52216 2011-05-23  Bruno Haible  <bruno@clisp.org>
52218         stdlib-safer: Move AC_LIBOBJ invocations to module description.
52219         * m4/stdlib-safer.m4: Remove file.
52220         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
52221         (configure.ac): Remove gl_STDLIB_SAFER call.
52222         (Makefile.am): Augment lib_SOURCES.
52224 2011-05-23  Bruno Haible  <bruno@clisp.org>
52226         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
52227         * m4/stdio-safer.m4: Remove file.
52228         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
52229         (configure.ac): Remove gl_TMPFILE_SAFER call.
52230         (Makefile.am): Augment lib_SOURCES.
52232 2011-05-23  Bruno Haible  <bruno@clisp.org>
52234         popen-safer: Move AC_LIBOBJ invocations to module description.
52235         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
52236         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
52237         (configure.ac): Remove gl_POPEN_SAFER call.
52238         (Makefile.am): Augment lib_SOURCES.
52240 2011-05-23  Bruno Haible  <bruno@clisp.org>
52242         freopen-safer: Move AC_LIBOBJ invocations to module description.
52243         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
52244         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
52245         (configure.ac): Remove gl_FREOPEN_SAFER call.
52246         (Makefile.am): Augment lib_SOURCES.
52248 2011-05-23  Bruno Haible  <bruno@clisp.org>
52250         fopen-safer: Move AC_LIBOBJ invocations to module description.
52251         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
52252         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
52253         (configure.ac): Remove gl_FOPEN_SAFER call.
52254         (Makefile.am): Augment lib_SOURCES.
52256 2011-05-23  Bruno Haible  <bruno@clisp.org>
52258         crypto/sha512: Move AC_LIBOBJ invocations to module description.
52259         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
52260         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
52262 2011-05-23  Bruno Haible  <bruno@clisp.org>
52264         crypto/sha256: Move AC_LIBOBJ invocations to module description.
52265         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
52266         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
52268 2011-05-23  Bruno Haible  <bruno@clisp.org>
52270         crypto/sha1: Move AC_LIBOBJ invocations to module description.
52271         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
52272         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
52274 2011-05-23  Bruno Haible  <bruno@clisp.org>
52276         settime: Move AC_LIBOBJ invocations to module description.
52277         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
52278         * modules/settime (Makefile.am): Augment lib_SOURCES.
52280 2011-05-23  Bruno Haible  <bruno@clisp.org>
52282         savedir: Move AC_LIBOBJ invocations to module description.
52283         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
52284         * modules/savedir (Makefile.am): Augment lib_SOURCES.
52286 2011-05-23  Bruno Haible  <bruno@clisp.org>
52288         save-cwd: Move AC_LIBOBJ invocations to module description.
52289         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
52290         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
52292 2011-05-23  Bruno Haible  <bruno@clisp.org>
52294         same: Move AC_LIBOBJ invocations to module description.
52295         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
52296         * modules/same (Makefile.am): Augment lib_SOURCES.
52298 2011-05-23  Bruno Haible  <bruno@clisp.org>
52300         safe-write: Move AC_LIBOBJ invocations to module description.
52301         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
52302         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
52303         instead of gl_SAFE_WRITE.
52304         (Makefile.am): Augment lib_SOURCES.
52306 2011-05-23  Bruno Haible  <bruno@clisp.org>
52308         safe-read: Move AC_LIBOBJ invocations to module description.
52309         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
52310         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
52311         of gl_SAFE_READ.
52312         (Makefile.am): Augment lib_SOURCES.
52314 2011-05-23  Bruno Haible  <bruno@clisp.org>
52316         safe-alloc: Move AC_LIBOBJ invocations to module description.
52317         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
52318         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
52320 2011-05-23  Bruno Haible  <bruno@clisp.org>
52322         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
52323         * m4/rijndael.m4: Remove file.
52324         * modules/crypto/rijndael (Files): Remove it.
52325         (configure.ac): Remove gl_RIJNDAEL call.
52326         (Makefile.am): Augment lib_SOURCES.
52328 2011-05-23  Bruno Haible  <bruno@clisp.org>
52330         readtokens: Move AC_LIBOBJ invocations to module description.
52331         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
52332         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
52334 2011-05-23  Bruno Haible  <bruno@clisp.org>
52336         read-file: Move AC_LIBOBJ invocations to module description.
52337         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
52338         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
52339         of gl_FUNC_READ_FILE.
52340         (Makefile.am): Augment lib_SOURCES.
52342 2011-05-23  Bruno Haible  <bruno@clisp.org>
52344         quotearg: Move AC_LIBOBJ invocations to module description.
52345         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
52346         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
52348 2011-05-23  Bruno Haible  <bruno@clisp.org>
52350         quote: Move AC_LIBOBJ invocations to module description.
52351         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
52352         * modules/quote (Makefile.am): Augment lib_SOURCES.
52354 2011-05-23  Bruno Haible  <bruno@clisp.org>
52356         posixver: Move AC_LIBOBJ invocations to module description.
52357         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
52358         * modules/posixver (Makefile.am): Augment lib_SOURCES.
52360 2011-05-23  Bruno Haible  <bruno@clisp.org>
52362         posixtm: Move AC_LIBOBJ invocations to module description.
52363         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
52364         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
52366 2011-05-23  Bruno Haible  <bruno@clisp.org>
52368         physmem: Move AC_LIBOBJ invocations to module description.
52369         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
52370         * modules/physmem (Makefile.am): Augment lib_SOURCES.
52372 2011-05-23  Bruno Haible  <bruno@clisp.org>
52374         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
52375         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
52376         invocation.
52377         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
52379 2011-05-23  Bruno Haible  <bruno@clisp.org>
52381         mpsort: Move AC_LIBOBJ invocations to module description.
52382         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
52383         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
52385 2011-05-23  Bruno Haible  <bruno@clisp.org>
52387         modechange: Move AC_LIBOBJ invocations to module description.
52388         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
52389         * modules/modechange (Makefile.am): Augment lib_SOURCES.
52391 2011-05-23  Bruno Haible  <bruno@clisp.org>
52393         mkdir-p: Move AC_LIBOBJ invocations to module description.
52394         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
52395         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
52397 2011-05-23  Bruno Haible  <bruno@clisp.org>
52399         mkancesdirs: Move AC_LIBOBJ invocations to module description.
52400         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
52401         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
52403 2011-05-23  Bruno Haible  <bruno@clisp.org>
52405         mgetgroups: Move AC_LIBOBJ invocations to module description.
52406         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
52407         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
52409 2011-05-23  Bruno Haible  <bruno@clisp.org>
52411         memxor: Move AC_LIBOBJ invocations to module description.
52412         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
52413         * modules/memxor (Makefile.am): Augment lib_SOURCES.
52415 2011-05-23  Bruno Haible  <bruno@clisp.org>
52417         memcoll: Move AC_LIBOBJ invocations to module description.
52418         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
52419         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
52421 2011-05-23  Bruno Haible  <bruno@clisp.org>
52423         memcasecmp: Move AC_LIBOBJ invocations to module description.
52424         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
52425         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
52427 2011-05-23  Bruno Haible  <bruno@clisp.org>
52429         crypto/md5: Move AC_LIBOBJ invocations to module description.
52430         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
52431         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
52433 2011-05-23  Bruno Haible  <bruno@clisp.org>
52435         crypto/md4: Move AC_LIBOBJ invocations to module description.
52436         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
52437         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
52439 2011-05-23  Bruno Haible  <bruno@clisp.org>
52441         crypto/md2: Move AC_LIBOBJ invocations to module description.
52442         * m4/md2.m4: Remove file.
52443         * modules/crypto/md2 (Files): Remove it.
52444         (configure.ac): Remove gl_MD2 call.
52445         (Makefile.am): Augment lib_SOURCES.
52447 2011-05-23  Bruno Haible  <bruno@clisp.org>
52449         long-options: Move AC_LIBOBJ invocations to module description.
52450         * m4/long-options.m4: Remove file.
52451         * modules/long-options (Files): Remove it.
52452         (configure.ac): Remove gl_LONG_OPTIONS call.
52453         (Makefile.am): Augment lib_SOURCES.
52455 2011-05-23  Bruno Haible  <bruno@clisp.org>
52457         i-ring: Move AC_LIBOBJ invocations to module description.
52458         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
52459         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
52461 2011-05-23  Bruno Haible  <bruno@clisp.org>
52463         idcache: Move AC_LIBOBJ invocations to module description.
52464         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
52465         * modules/idcache (Makefile.am): Augment lib_SOURCES.
52467 2011-05-23  Bruno Haible  <bruno@clisp.org>
52469         human: Move AC_LIBOBJ invocations to module description.
52470         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
52471         * modules/human (Makefile.am): Augment lib_SOURCES.
52473 2011-05-23  Bruno Haible  <bruno@clisp.org>
52475         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
52476         * m4/hmac-sha1.m4: Remove file.
52477         * modules/crypto/hmac-sha1 (Files): Remove it.
52478         (configure.ac): Remove gl_HMAC_SHA1 call.
52479         (Makefile.am): Augment lib_SOURCES.
52481 2011-05-23  Bruno Haible  <bruno@clisp.org>
52483         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
52484         * m4/hmac-md5.m4: Remove file.
52485         * modules/crypto/hmac-md5 (Files): Remove it.
52486         (configure.ac): Remove gl_HMAC_MD5 call.
52487         (Makefile.am): Augment lib_SOURCES.
52489 2011-05-23  Bruno Haible  <bruno@clisp.org>
52491         hash: Move AC_LIBOBJ invocations to module description.
52492         * m4/hash.m4: Remove file.
52493         * modules/hash (Files): Remove it.
52494         (configure.ac): Remove gl_HASH call.
52495         (Makefile.am): Augment lib_SOURCES.
52497 2011-05-23  Bruno Haible  <bruno@clisp.org>
52499         hard-locale: Move AC_LIBOBJ invocations to module description.
52500         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
52501         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
52503 2011-05-23  Bruno Haible  <bruno@clisp.org>
52505         getugroups: Move AC_LIBOBJ invocations to module description.
52506         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
52507         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
52509 2011-05-23  Bruno Haible  <bruno@clisp.org>
52511         gettime: Move AC_LIBOBJ invocations to module description.
52512         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
52513         * modules/gettime (Makefile.am): Augment lib_SOURCES.
52515 2011-05-23  Bruno Haible  <bruno@clisp.org>
52517         getndelim2: Move AC_LIBOBJ invocations to module description.
52518         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
52519         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
52521 2011-05-23  Bruno Haible  <bruno@clisp.org>
52523         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
52524         * m4/gc-pbkdf2-sha1.m4: Remove file.
52525         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
52526         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
52527         (Makefile.am): Augment lib_SOURCES.
52529 2011-05-23  Bruno Haible  <bruno@clisp.org>
52531         fts: Move AC_LIBOBJ invocations to module description.
52532         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
52533         * modules/fts (configure.ac): ... to here.
52535 2011-05-23  Bruno Haible  <bruno@clisp.org>
52537         file-type: Move AC_LIBOBJ invocations to module description.
52538         * m4/file-type.m4: Remove file.
52539         * modules/file-type (Files): Remove it.
52540         (configure.ac): Remove gl_FILE_TYPE call.
52541         (Makefile.am): Augment lib_SOURCES.
52543 2011-05-23  Bruno Haible  <bruno@clisp.org>
52545         filenamecat*: Respect rules for use of AC_LIBOBJ.
52546         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
52547         Remove AC_LIBOBJ invocation.
52548         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
52549         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
52551 2011-05-23  Bruno Haible  <bruno@clisp.org>
52553         filemode: Move AC_LIBOBJ invocations to module description.
52554         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
52555         * modules/filemode (Makefile.am): Augment lib_SOURCES.
52557 2011-05-23  Bruno Haible  <bruno@clisp.org>
52559         openat-safer: Move AC_LIBOBJ invocations to module description.
52560         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
52561         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
52563 2011-05-23  Bruno Haible  <bruno@clisp.org>
52565         fcntl-safer: Move AC_LIBOBJ invocations to module description.
52566         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
52567         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
52569 2011-05-23  Bruno Haible  <bruno@clisp.org>
52571         exclude: Move AC_LIBOBJ invocations to module description.
52572         * m4/exclude.m4: Remove file.
52573         * modules/exclude (Files): Remove it.
52574         (configure.ac): Remove gl_EXCLUDE call.
52575         (Makefile.am): Augment lib_SOURCES.
52577 2011-05-23  Bruno Haible  <bruno@clisp.org>
52579         dirname*: Respect rules for use of AC_LIBOBJ.
52580         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
52581         invocations.
52582         * modules/dirname (Makefile.am): Augment lib_SOURCES.
52583         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
52585 2011-05-23  Bruno Haible  <bruno@clisp.org>
52587         dirent-safer: Move AC_LIBOBJ invocations to module description.
52588         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
52589         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
52591 2011-05-23  Bruno Haible  <bruno@clisp.org>
52593         crypto/des: Move AC_LIBOBJ invocations to module description.
52594         * m4/des.m4: Remove file.
52595         * modules/crypto/des (Files): Remove it.
52596         (configure.ac): Remove gl_DES call.
52597         (Makefile.am): Augment lib_SOURCES.
52599 2011-05-23  Bruno Haible  <bruno@clisp.org>
52601         cycle-check: Move AC_LIBOBJ invocations to module description.
52602         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
52603         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
52605 2011-05-23  Bruno Haible  <bruno@clisp.org>
52607         c-strtold: Move AC_LIBOBJ invocations to module description.
52608         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
52609         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
52611 2011-05-23  Bruno Haible  <bruno@clisp.org>
52613         c-strtod: Move AC_LIBOBJ invocations to module description.
52614         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
52615         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
52617 2011-05-23  Bruno Haible  <bruno@clisp.org>
52619         crc: Move AC_LIBOBJ invocations to module description.
52620         * m4/crc.m4: Remove file.
52621         * modules/crc (Files): Remove it.
52622         (configure.ac): Remove gl_CRC call.
52623         (Makefile.am): Augment lib_SOURCES.
52625 2011-05-23  Bruno Haible  <bruno@clisp.org>
52627         close-stream: Move AC_LIBOBJ invocations to module description.
52628         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
52629         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
52631 2011-05-23  Bruno Haible  <bruno@clisp.org>
52633         closeout: Move AC_LIBOBJ invocations to module description.
52634         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
52635         * modules/closeout (Makefile.am): Augment lib_SOURCES.
52637 2011-05-23  Bruno Haible  <bruno@clisp.org>
52639         closein: Move AC_LIBOBJ invocations to module description.
52640         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
52641         * modules/closein (Makefile.am): Augment lib_SOURCES.
52643 2011-05-23  Bruno Haible  <bruno@clisp.org>
52645         cloexec: Move AC_LIBOBJ invocations to module description.
52646         * m4/cloexec.m4: Remove file.
52647         * modules/cloexec (Files): Remove it.
52648         (configure.ac): Remove gl_CLOEXEC call.
52649         (Makefile.am): Augment lib_SOURCES.
52651 2011-05-23  Bruno Haible  <bruno@clisp.org>
52653         check-version: Move AC_LIBOBJ invocations to module description.
52654         * m4/check-version.m4: Remove file.
52655         * modules/check-version (Files): Remove it.
52656         (configure.ac): Remove gl_CHECK_VERSION call.
52657         (Makefile.am): Augment lib_SOURCES.
52659 2011-05-23  Bruno Haible  <bruno@clisp.org>
52661         chdir-safer: Move AC_LIBOBJ invocations to module description.
52662         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
52663         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
52665 2011-05-23  Bruno Haible  <bruno@clisp.org>
52667         canonicalize: Move AC_LIBOBJ invocations to module description.
52668         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
52669         AC_LIBOBJ invocation.
52670         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
52672 2011-05-23  Bruno Haible  <bruno@clisp.org>
52674         canon-host: Move AC_LIBOBJ invocations to module description.
52675         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
52676         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
52677         instead of gl_CANON_HOST.
52678         (Makefile.am): Augment lib_SOURCES.
52680 2011-05-23  Bruno Haible  <bruno@clisp.org>
52682         backupfile: Move AC_LIBOBJ invocations to module description.
52683         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
52684         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
52686 2011-05-23  Bruno Haible  <bruno@clisp.org>
52688         argmatch: Move AC_LIBOBJ invocations to module description.
52689         * m4/argmatch.m4: Remove file.
52690         * modules/argmatch (Files): Remove it.
52691         (configure.ac): Remove gl_ARGMATCH call.
52692         (Makefile.am): Augment lib_SOURCES.
52694 2011-05-23  Bruno Haible  <bruno@clisp.org>
52696         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
52697         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
52698         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
52700 2011-05-23  Bruno Haible  <bruno@clisp.org>
52702         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
52703         * m4/arcfour.m4: Remove file.
52704         * modules/crypto/arcfour (Files): Remove it.
52705         (configure.ac): Remove gl_ARCFOUR call.
52706         (Makefile.am): Augment lib_SOURCES.
52708 2011-05-22  Bruno Haible  <bruno@clisp.org>
52710         write: Move AC_LIBOBJ invocations to module description.
52711         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
52712         * modules/write (configure.ac): ... to here.
52714 2011-05-22  Bruno Haible  <bruno@clisp.org>
52716         wmemset: Move AC_LIBOBJ invocations to module description.
52717         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
52718         here...
52719         * modules/wmemset (configure.ac): ... to here.
52721 2011-05-22  Bruno Haible  <bruno@clisp.org>
52723         wmemmove: Move AC_LIBOBJ invocations to module description.
52724         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
52725         here...
52726         * modules/wmemmove (configure.ac): ... to here.
52728 2011-05-22  Bruno Haible  <bruno@clisp.org>
52730         wmemcpy: Move AC_LIBOBJ invocations to module description.
52731         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
52732         here...
52733         * modules/wmemcpy (configure.ac): ... to here.
52735 2011-05-22  Bruno Haible  <bruno@clisp.org>
52737         wmemcmp: Move AC_LIBOBJ invocations to module description.
52738         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
52739         here...
52740         * modules/wmemcmp (configure.ac): ... to here.
52742 2011-05-22  Bruno Haible  <bruno@clisp.org>
52744         wmemchr: Move AC_LIBOBJ invocations to module description.
52745         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
52746         here...
52747         * modules/wmemchr (configure.ac): ... to here.
52749 2011-05-22  Bruno Haible  <bruno@clisp.org>
52751         wcswidth: Move AC_LIBOBJ invocations to module description.
52752         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
52753         here...
52754         * modules/wcswidth (configure.ac): ... to here.
52756 2011-05-22  Bruno Haible  <bruno@clisp.org>
52758         wcwidth: Respect rules for use of AC_LIBOBJ.
52759         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
52760         invocation from here...
52761         * modules/wcwidth (configure.ac): ... to here.
52762         (Depends-on): Update conditions.
52764 2011-05-22  Bruno Haible  <bruno@clisp.org>
52766         wctype: Move AC_LIBOBJ invocations to module description.
52767         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
52768         invocation from here...
52769         * modules/wctype (configure.ac): ... to here.
52770         (Depends-on): Update conditions.
52772 2011-05-22  Bruno Haible  <bruno@clisp.org>
52774         wctrans: Move AC_LIBOBJ invocations to module description.
52775         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
52776         invocation from here...
52777         * modules/wctrans (configure.ac): ... to here.
52779 2011-05-22  Bruno Haible  <bruno@clisp.org>
52781         wctomb: Move AC_LIBOBJ invocations to module description.
52782         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
52783         invocations from here...
52784         * modules/wctomb (configure.ac): ... to here.
52786 2011-05-22  Bruno Haible  <bruno@clisp.org>
52788         wctob: Move AC_LIBOBJ invocations to module description.
52789         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
52790         gl_PREREQ_WCTOB invocations from here...
52791         * modules/wctob (configure.ac): ... to here.
52792         (Depends-on): Update conditions.
52794 2011-05-22  Bruno Haible  <bruno@clisp.org>
52796         wcsxfrm: Move AC_LIBOBJ invocations to module description.
52797         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
52798         here...
52799         * modules/wcsxfrm (configure.ac): ... to here.
52801 2011-05-22  Bruno Haible  <bruno@clisp.org>
52803         wcstok: Move AC_LIBOBJ invocations to module description.
52804         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
52805         * modules/wcstok (configure.ac): ... to here.
52807 2011-05-22  Bruno Haible  <bruno@clisp.org>
52809         wcsstr: Move AC_LIBOBJ invocations to module description.
52810         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
52811         * modules/wcsstr (configure.ac): ... to here.
52813 2011-05-22  Bruno Haible  <bruno@clisp.org>
52815         wcsspn: Move AC_LIBOBJ invocations to module description.
52816         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
52817         * modules/wcsspn (configure.ac): ... to here.
52819 2011-05-22  Bruno Haible  <bruno@clisp.org>
52821         wcsrtombs: Move AC_LIBOBJ invocations to module description.
52822         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
52823         gl_PREREQ_WCSRTOMBS invocations from here...
52824         * modules/wcsrtombs (configure.ac): ... to here.
52826 2011-05-22  Bruno Haible  <bruno@clisp.org>
52828         wcsrchr: Move AC_LIBOBJ invocations to module description.
52829         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
52830         here...
52831         * modules/wcsrchr (configure.ac): ... to here.
52833 2011-05-22  Bruno Haible  <bruno@clisp.org>
52835         wcspbrk: Move AC_LIBOBJ invocations to module description.
52836         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
52837         here...
52838         * modules/wcspbrk (configure.ac): ... to here.
52840 2011-05-22  Bruno Haible  <bruno@clisp.org>
52842         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
52843         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
52844         gl_PREREQ_WCSNRTOMBS invocations from here...
52845         * modules/wcsnrtombs (configure.ac): ... to here.
52847 2011-05-22  Bruno Haible  <bruno@clisp.org>
52849         wcsnlen: Move AC_LIBOBJ invocations to module description.
52850         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
52851         here...
52852         * modules/wcsnlen (configure.ac): ... to here.
52854 2011-05-22  Bruno Haible  <bruno@clisp.org>
52856         wcsncpy: Move AC_LIBOBJ invocations to module description.
52857         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
52858         here...
52859         * modules/wcsncpy (configure.ac): ... to here.
52861 2011-05-22  Bruno Haible  <bruno@clisp.org>
52863         wcsncmp: Move AC_LIBOBJ invocations to module description.
52864         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
52865         here...
52866         * modules/wcsncmp (configure.ac): ... to here.
52868 2011-05-22  Bruno Haible  <bruno@clisp.org>
52870         wcsncat: Move AC_LIBOBJ invocations to module description.
52871         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
52872         here...
52873         * modules/wcsncat (configure.ac): ... to here.
52875 2011-05-22  Bruno Haible  <bruno@clisp.org>
52877         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
52878         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
52879         from here...
52880         * modules/wcsncasecmp (configure.ac): ... to here.
52882 2011-05-22  Bruno Haible  <bruno@clisp.org>
52884         wcslen: Move AC_LIBOBJ invocations to module description.
52885         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
52886         * modules/wcslen (configure.ac): ... to here.
52888 2011-05-22  Bruno Haible  <bruno@clisp.org>
52890         wcsdup: Move AC_LIBOBJ invocations to module description.
52891         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
52892         * modules/wcsdup (configure.ac): ... to here.
52894 2011-05-22  Bruno Haible  <bruno@clisp.org>
52896         wcscspn: Move AC_LIBOBJ invocations to module description.
52897         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
52898         here...
52899         * modules/wcscspn (configure.ac): ... to here.
52901 2011-05-22  Bruno Haible  <bruno@clisp.org>
52903         wcscpy: Move AC_LIBOBJ invocations to module description.
52904         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
52905         * modules/wcscpy (configure.ac): ... to here.
52907 2011-05-22  Bruno Haible  <bruno@clisp.org>
52909         wcscoll: Move AC_LIBOBJ invocations to module description.
52910         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
52911         here...
52912         * modules/wcscoll (configure.ac): ... to here.
52914 2011-05-22  Bruno Haible  <bruno@clisp.org>
52916         wcscmp: Move AC_LIBOBJ invocations to module description.
52917         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
52918         * modules/wcscmp (configure.ac): ... to here.
52920 2011-05-22  Bruno Haible  <bruno@clisp.org>
52922         wcschr: Move AC_LIBOBJ invocations to module description.
52923         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
52924         * modules/wcschr (configure.ac): ... to here.
52926 2011-05-22  Bruno Haible  <bruno@clisp.org>
52928         wcscat: Move AC_LIBOBJ invocations to module description.
52929         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
52930         * modules/wcscat (configure.ac): ... to here.
52932 2011-05-22  Bruno Haible  <bruno@clisp.org>
52934         wcscasecmp: Move AC_LIBOBJ invocations to module description.
52935         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
52936         here...
52937         * modules/wcscasecmp (configure.ac): ... to here.
52939 2011-05-22  Bruno Haible  <bruno@clisp.org>
52941         wcrtomb: Move AC_LIBOBJ invocations to module description.
52942         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
52943         invocations from here...
52944         * modules/wcrtomb (configure.ac): ... to here.
52946 2011-05-22  Bruno Haible  <bruno@clisp.org>
52948         wcpncpy: Move AC_LIBOBJ invocations to module description.
52949         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
52950         here...
52951         * modules/wcpncpy (configure.ac): ... to here.
52953 2011-05-22  Bruno Haible  <bruno@clisp.org>
52955         wcpcpy: Move AC_LIBOBJ invocations to module description.
52956         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
52957         * modules/wcpcpy (configure.ac): ... to here.
52959 2011-05-22  Bruno Haible  <bruno@clisp.org>
52961         waitpid: Move AC_LIBOBJ invocations to module description.
52962         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
52963         invocation from here...
52964         * modules/waitpid (configure.ac): ... to here.
52966 2011-05-22  Bruno Haible  <bruno@clisp.org>
52968         utimensat: Move AC_LIBOBJ invocations to module description.
52969         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
52970         here...
52971         * modules/utimensat (configure.ac): ... to here.
52973 2011-05-22  Bruno Haible  <bruno@clisp.org>
52975         usleep: Move AC_LIBOBJ invocations to module description.
52976         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
52977         here...
52978         * modules/usleep (configure.ac): ... to here.
52980 2011-05-22  Bruno Haible  <bruno@clisp.org>
52982         unlockpt: Move AC_LIBOBJ invocations to module description.
52983         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
52984         gl_PREREQ_UNLOCKPT invocations from here...
52985         * modules/unlockpt (configure.ac): ... to here.
52987 2011-05-22  Bruno Haible  <bruno@clisp.org>
52989         unlink: Respect rules for use of AC_LIBOBJ.
52990         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
52991         * modules/unlink (configure.ac): ... to here.
52993 2011-05-22  Bruno Haible  <bruno@clisp.org>
52995         uname: Move AC_LIBOBJ invocations to module description.
52996         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
52997         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
52998         here...
52999         * modules/uname (configure.ac): ... to here.
53001 2011-05-22  Bruno Haible  <bruno@clisp.org>
53003         ttyname_r: Move AC_LIBOBJ invocations to module description.
53004         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
53005         gl_PREREQ_TTYNAME_R invocations from here...
53006         * modules/ttyname_r (configure.ac): ... to here.
53008 2011-05-22  Bruno Haible  <bruno@clisp.org>
53010         tsearch: Move AC_LIBOBJ invocations to module description.
53011         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
53012         invocations from here...
53013         * modules/tsearch (configure.ac): ... to here.
53015 2011-05-22  Bruno Haible  <bruno@clisp.org>
53017         towctrans: Move AC_LIBOBJ invocations to module description.
53018         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
53019         AC_LIBOBJ invocation from here...
53020         * modules/towctrans (configure.ac): ... to here.
53022 2011-05-22  Bruno Haible  <bruno@clisp.org>
53024         tmpfile: Move AC_LIBOBJ invocations to module description.
53025         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
53026         invocations from here...
53027         * modules/tmpfile (configure.ac): ... to here.
53029 2011-05-22  Bruno Haible  <bruno@clisp.org>
53031         times: Move AC_LIBOBJ invocations to module description.
53032         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
53033         * modules/times (configure.ac): ... to here.
53035 2011-05-22  Bruno Haible  <bruno@clisp.org>
53037         time_r: Move AC_LIBOBJ invocations to module description.
53038         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
53039         invocations from here...
53040         * modules/time_r (configure.ac): ... to here.
53042 2011-05-22  Bruno Haible  <bruno@clisp.org>
53044         timegm: Move AC_LIBOBJ invocations to module description.
53045         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
53046         invocations from here...
53047         * modules/timegm (configure.ac): ... to here.
53049 2011-05-22  Bruno Haible  <bruno@clisp.org>
53051         tcgetsid: Move AC_LIBOBJ invocations to module description.
53052         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
53053         and gl_PREREQ_TCGETSID invocations from here...
53054         * modules/tcgetsid (configure.ac): ... to here.
53055         (Depends-on): Update conditions.
53057 2011-05-22  Bruno Haible  <bruno@clisp.org>
53059         symlinkat: Move AC_LIBOBJ invocations to module description.
53060         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
53061         here...
53062         * modules/symlinkat (configure.ac): ... to here.
53064 2011-05-22  Bruno Haible  <bruno@clisp.org>
53066         symlink: Move AC_LIBOBJ invocations to module description.
53067         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
53068         here...
53069         * modules/symlink (configure.ac): ... to here.
53071 2011-05-22  Bruno Haible  <bruno@clisp.org>
53073         strverscmp: Move AC_LIBOBJ invocations to module description.
53074         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
53075         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
53076         from here...
53077         * modules/strverscmp (configure.ac): ... to here.
53079 2011-05-22  Bruno Haible  <bruno@clisp.org>
53081         strtok_r: Move AC_LIBOBJ invocations to module description.
53082         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
53083         and gl_PREREQ_STRTOK_R invocations from here...
53084         * modules/strtok_r (configure.ac): ... to here.
53085         (Depends-on): Update conditions.
53087 2011-05-22  Bruno Haible  <bruno@clisp.org>
53089         strtoumax: Move AC_LIBOBJ invocations to module description.
53090         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
53091         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
53092         from here...
53093         * modules/strtoumax (configure.ac): ... to here.
53095 2011-05-22  Bruno Haible  <bruno@clisp.org>
53097         strtoimax: Move AC_LIBOBJ invocations to module description.
53098         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
53099         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
53100         from here...
53101         * modules/strtoimax (configure.ac): ... to here.
53103 2011-05-22  Bruno Haible  <bruno@clisp.org>
53105         strtoull: Move AC_LIBOBJ invocations to module description.
53106         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
53107         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
53108         from here...
53109         * modules/strtoull (configure.ac): ... to here.
53111 2011-05-22  Bruno Haible  <bruno@clisp.org>
53113         strtoll: Move AC_LIBOBJ invocations to module description.
53114         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
53115         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
53116         here...
53117         * modules/strtoll (configure.ac): ... to here.
53119 2011-05-22  Bruno Haible  <bruno@clisp.org>
53121         strtoul: Move AC_LIBOBJ invocations to module description.
53122         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
53123         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53124         * modules/strtoul (configure.ac): ... to here.
53126 2011-05-22  Bruno Haible  <bruno@clisp.org>
53128         strtol: Move AC_LIBOBJ invocations to module description.
53129         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
53130         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
53131         * modules/strtol (configure.ac): ... to here.
53133 2011-05-22  Bruno Haible  <bruno@clisp.org>
53135         strtod: Move AC_LIBOBJ invocations to module description.
53136         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
53137         invocations from here...
53138         * modules/strtod (configure.ac): ... to here.
53140 2011-05-22  Bruno Haible  <bruno@clisp.org>
53142         strstr*: Move AC_LIBOBJ invocations to module description.
53143         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
53144         invocations from here...
53145         * modules/strstr-simple (configure.ac): ... to here.
53146         * modules/strstr (configure.ac): ... and here.
53148 2011-05-22  Bruno Haible  <bruno@clisp.org>
53150         strsignal: Move AC_LIBOBJ invocations to module description.
53151         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
53152         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
53153         * modules/strsignal (configure.ac): ... to here.
53154         (Depends-on): Update conditions.
53156 2011-05-22  Bruno Haible  <bruno@clisp.org>
53158         strsep: Move AC_LIBOBJ invocations to module description.
53159         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
53160         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
53161         here...
53162         * modules/strsep (configure.ac): ... to here.
53164 2011-05-22  Bruno Haible  <bruno@clisp.org>
53166         strptime: Move AC_LIBOBJ invocations to module description.
53167         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
53168         gl_PREREQ_STRPTIME invocations from here...
53169         * modules/strptime (configure.ac): ... to here.
53171 2011-05-22  Bruno Haible  <bruno@clisp.org>
53173         strpbrk: Move AC_LIBOBJ invocations to module description.
53174         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
53175         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
53176         here...
53177         * modules/strpbrk (configure.ac): ... to here.
53179 2011-05-22  Bruno Haible  <bruno@clisp.org>
53181         strnlen: Move AC_LIBOBJ invocations to module description.
53182         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
53183         invocations from here...
53184         * modules/strnlen (configure.ac): ... to here.
53186 2011-05-22  Bruno Haible  <bruno@clisp.org>
53188         strndup: Move AC_LIBOBJ invocations to module description.
53189         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
53190         invocations from here...
53191         * modules/strndup (configure.ac): ... to here.
53192         (Depends-on): Update conditions.
53194 2011-05-22  Bruno Haible  <bruno@clisp.org>
53196         strncat: Move AC_LIBOBJ invocations to module description.
53197         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
53198         invocations from here...
53199         * modules/strncat (configure.ac): ... to here.
53201 2011-05-22  Bruno Haible  <bruno@clisp.org>
53203         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
53204         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
53205         invocations from here...
53206         * modules/strdup (configure.ac): ... to here.
53207         * modules/strdup-posix (configure.ac): ... and here.
53209 2011-05-22  Bruno Haible  <bruno@clisp.org>
53211         strcspn: Move AC_LIBOBJ invocations to module description.
53212         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
53213         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
53214         here...
53215         * modules/strcspn (configure.ac): ... to here.
53217 2011-05-22  Bruno Haible  <bruno@clisp.org>
53219         strchrnul: Move AC_LIBOBJ invocations to module description.
53220         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
53221         gl_PREREQ_STRCHRNUL invocations from here...
53222         * modules/strchrnul (configure.ac): ... to here.
53224 2011-05-22  Bruno Haible  <bruno@clisp.org>
53226         strcasestr*: Move AC_LIBOBJ invocations to module description.
53227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
53228         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
53229         * modules/strcasestr-simple (configure.ac): ... to here.
53230         * modules/strcasestr (configure.ac): ... and here.
53232 2011-05-22  Bruno Haible  <bruno@clisp.org>
53234         strcase: Move AC_LIBOBJ invocations to module description.
53235         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
53236         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
53237         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
53238         gl_PREREQ_STRNCASECMP invocations from here...
53239         * modules/strcase (configure.ac): ... to here.
53241 2011-05-22  Bruno Haible  <bruno@clisp.org>
53243         stpncpy: Move AC_LIBOBJ invocations to module description.
53244         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
53245         here...
53246         * modules/stpncpy (configure.ac): ... to here.
53248 2011-05-22  Bruno Haible  <bruno@clisp.org>
53250         stpcpy: Move AC_LIBOBJ invocations to module description.
53251         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
53252         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
53253         here...
53254         * modules/stpcpy (configure.ac): ... to here.
53256 2011-05-21  Bruno Haible  <bruno@clisp.org>
53258         stat: Move AC_LIBOBJ invocations to module description.
53259         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
53260         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
53261         here...
53262         * modules/stat (configure.ac): ... to here.
53264 2011-05-21  Bruno Haible  <bruno@clisp.org>
53266         sleep: Move AC_LIBOBJ invocations to module description.
53267         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
53268         * modules/sleep (configure.ac): ... to here.
53270 2011-05-21  Bruno Haible  <bruno@clisp.org>
53272         signbit: Move AC_LIBOBJ invocations to module description.
53273         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
53274         * modules/signbit (configure.ac): ... to here.
53276 2011-05-21  Bruno Haible  <bruno@clisp.org>
53278         sigprocmask: Move AC_LIBOBJ invocations to module description.
53279         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
53280         gl_PREREQ_SIGPROMASK invocations from here...
53281         * modules/sigprocmask (configure.ac): ... to here.
53283 2011-05-21  Bruno Haible  <bruno@clisp.org>
53285         sigaction: Move AC_LIBOBJ invocations to module description.
53286         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
53287         gl_PREREQ_SIGACTION invocations from here...
53288         * modules/sigaction (configure.ac): ... to here.
53290 2011-05-21  Bruno Haible  <bruno@clisp.org>
53292         sig2str: Move AC_LIBOBJ invocations to module description.
53293         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
53294         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
53295         here...
53296         * modules/sig2str (configure.ac): ... to here.
53298 2011-05-21  Bruno Haible  <bruno@clisp.org>
53300         setlocale: Move AC_LIBOBJ invocations to module description.
53301         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
53302         gl_PREREQ_SETLOCALE invocations from here...
53303         * modules/setlocale (configure.ac): ... to here.
53305 2011-05-21  Bruno Haible  <bruno@clisp.org>
53307         unsetenv: Move AC_LIBOBJ invocations to module description.
53308         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
53309         and gl_PREREQ_UNSETENV invocations from here...
53310         * modules/unsetenv (configure.ac): ... to here.
53311         (Depends-on): Update.
53313 2011-05-21  Bruno Haible  <bruno@clisp.org>
53315         setenv: Move AC_LIBOBJ invocations to module description.
53316         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
53317         here...
53318         * modules/setenv (configure.ac): ... to here.
53320 2011-05-21  Bruno Haible  <bruno@clisp.org>
53322         selinux-h: Move AC_LIBOBJ invocations to module description.
53323         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
53324         AC_LIBOBJ invocation from here...
53325         * modules/selinux-h (configure.ac): ... to here.
53327 2011-05-21  Bruno Haible  <bruno@clisp.org>
53329         select: Respect rules for use of AC_LIBOBJ.
53330         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
53331         here...
53332         * modules/select (configure.ac): ... to here.
53334 2011-05-21  Bruno Haible  <bruno@clisp.org>
53336         scandir: Move AC_LIBOBJ invocations to module description.
53337         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
53338         invocations from here...
53339         * modules/scandir (configure.ac): ... to here.
53341 2011-05-21  Bruno Haible  <bruno@clisp.org>
53343         rpmatch: Move AC_LIBOBJ invocations to module description.
53344         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
53345         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
53346         here...
53347         * modules/rpmatch (configure.ac): ... to here.
53349 2011-05-21  Bruno Haible  <bruno@clisp.org>
53351         rmdir: Respect rules for use of AC_LIBOBJ.
53352         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
53353         * modules/rmdir (configure.ac): ... to here.
53355 2011-05-21  Bruno Haible  <bruno@clisp.org>
53357         renameat: Move AC_LIBOBJ invocations to module description.
53358         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
53359         here...
53360         * modules/renameat (configure.ac): ... to here.
53362 2011-05-21  Bruno Haible  <bruno@clisp.org>
53364         rename: Respect rules for use of AC_LIBOBJ.
53365         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
53366         here...
53367         * modules/rename (configure.ac): ... to here.
53369 2011-05-21  Bruno Haible  <bruno@clisp.org>
53371         remove: Move AC_LIBOBJ invocations to module description.
53372         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
53373         here...
53374         * modules/remove (configure.ac): ... to here.
53376 2011-05-21  Bruno Haible  <bruno@clisp.org>
53378         relocatable-lib: Move AC_LIBOBJ invocations to module description.
53379         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
53380         macro.
53381         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
53382         * modules/relocatable-lib (configure.ac): ... to here.
53383         * modules/relocatable-prog-wrapper (configure.ac): Invoke
53384         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
53386 2011-05-21  Bruno Haible  <bruno@clisp.org>
53388         relocatable-prog: Move AC_LIBOBJ invocations to module description.
53389         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
53390         here...
53391         * modules/relocatable-prog (configure.ac): ... to here.
53393 2011-05-21  Bruno Haible  <bruno@clisp.org>
53395         regex: Move AC_LIBOBJ invocations to module description.
53396         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
53397         invocations from here...
53398         * modules/regex (configure.ac): ... to here.
53400 2011-05-21  Bruno Haible  <bruno@clisp.org>
53402         realloc-*: Move AC_LIBOBJ invocations to module description.
53403         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
53404         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
53405         AC_LIBOBJ invocations from here...
53406         * modules/realloc-gnu (configure.ac): ... to here.
53407         * modules/realloc-posix (configure.ac): ... and here.
53409 2011-05-21  Bruno Haible  <bruno@clisp.org>
53411         readutmp: Move AC_LIBOBJ invocations to module description.
53412         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
53413         * modules/readutmp (configure.ac): ... to here.
53415 2011-05-21  Bruno Haible  <bruno@clisp.org>
53417         readlinkat: Move AC_LIBOBJ invocations to module description.
53418         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
53419         here...
53420         * modules/readlinkat (configure.ac): ... to here.
53422 2011-05-21  Bruno Haible  <bruno@clisp.org>
53424         readlink: Move AC_LIBOBJ invocations to module description.
53425         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
53426         gl_PREREQ_READLINK invocations from here...
53427         * modules/readlink (configure.ac): ... to here.
53429 2011-05-21  Bruno Haible  <bruno@clisp.org>
53431         readline: Move AC_LIBOBJ invocations to module description.
53432         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
53433         gl_PREREQ_READLINE invocations from here...
53434         * modules/readline (configure.ac): ... to here.
53436 2011-05-21  Bruno Haible  <bruno@clisp.org>
53438         read: Move AC_LIBOBJ invocations to module description.
53439         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
53440         * modules/read (configure.ac): ... to here.
53442 2011-05-21  Bruno Haible  <bruno@clisp.org>
53444         rawmemchr: Move AC_LIBOBJ invocations to module description.
53445         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
53446         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
53447         from here...
53448         * modules/rawmemchr (configure.ac): ... to here.
53450 2011-05-21  Bruno Haible  <bruno@clisp.org>
53452         random_r: Move AC_LIBOBJ invocations to module description.
53453         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
53454         gl_PREREQ_RANDOM_R invocations from here...
53455         * modules/random_r (configure.ac): ... to here.
53457 2011-05-21  Bruno Haible  <bruno@clisp.org>
53459         pwrite: Move AC_LIBOBJ invocations to module description.
53460         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
53461         * modules/pwrite (configure.ac): ... to here.
53463 2011-05-21  Bruno Haible  <bruno@clisp.org>
53465         putenv: Move AC_LIBOBJ invocations to module description.
53466         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
53467         * modules/putenv (configure.ac): ... to here.
53469 2011-05-21  Bruno Haible  <bruno@clisp.org>
53471         login_tty: Move AC_LIBOBJ invocations to module description.
53472         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
53473         * modules/login_tty (configure.ac): ... to here.
53475 2011-05-21  Bruno Haible  <bruno@clisp.org>
53477         openpty: Move AC_LIBOBJ invocations to module description.
53478         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
53479         * modules/openpty (configure.ac): ... to here.
53481 2011-05-21  Bruno Haible  <bruno@clisp.org>
53483         forkpty: Move AC_LIBOBJ invocations to module description.
53484         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
53485         * modules/forkpty (configure.ac): ... to here.
53487 2011-05-21  Bruno Haible  <bruno@clisp.org>
53489         ptsname: Move AC_LIBOBJ invocations to module description.
53490         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
53491         invocations from here...
53492         * modules/ptsname (configure.ac): ... to here.
53494 2011-05-21  Bruno Haible  <bruno@clisp.org>
53496         pread: Move AC_LIBOBJ invocations to module description.
53497         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
53498         * modules/pread (configure.ac): ... to here.
53500 2011-05-21  Bruno Haible  <bruno@clisp.org>
53502         posix_spawn*: Move AC_LIBOBJ invocations to module description.
53503         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
53504         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
53505         * modules/posix_spawn (configure.ac): ... to here.
53506         * modules/posix_spawnp (configure.ac): ... and here.
53508 2011-05-21  Bruno Haible  <bruno@clisp.org>
53510         popen: Move AC_LIBOBJ invocations to module description.
53511         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
53512         invocations from here...
53513         * modules/popen (configure.ac): ... to here.
53515 2011-05-21  Bruno Haible  <bruno@clisp.org>
53517         poll: Move AC_LIBOBJ invocations to module description.
53518         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
53519         invocations from here...
53520         * modules/poll (configure.ac): ... to here.
53522 2011-05-21  Bruno Haible  <bruno@clisp.org>
53524         pipe-posix: Move AC_LIBOBJ invocations to module description.
53525         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
53526         * modules/pipe-posix (configure.ac): ... to here.
53528 2011-05-21  Bruno Haible  <bruno@clisp.org>
53530         openat: Respect rules for use of AC_LIBOBJ.
53531         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
53532         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53533         * modules/openat (configure.ac): ... to here.
53535 2011-05-21  Bruno Haible  <bruno@clisp.org>
53537         obstack-printf*: Move AC_LIBOBJ invocations to module description.
53538         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
53539         invocation from here...
53540         * modules/obstack-printf (configure.ac): ... to here.
53541         * modules/obstack-printf-posix (configure.ac): ... and here.
53543 2011-05-21  Bruno Haible  <bruno@clisp.org>
53545         nl_langinfo: Move AC_LIBOBJ invocations to module description.
53546         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
53547         from here...
53548         * modules/nl_langinfo (configure.ac): ... to here.
53550 2011-05-21  Bruno Haible  <bruno@clisp.org>
53552         nanosleep: Move AC_LIBOBJ invocations to module description.
53553         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
53554         gl_PREREQ_NANOSLEEP invocations from here...
53555         * modules/nanosleep (configure.ac): ... to here.
53557 2011-05-21  Bruno Haible  <bruno@clisp.org>
53559         mountlist: Move AC_LIBOBJ invocations to module description.
53560         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
53561         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
53562         * modules/mountlist (configure.ac): ... to here.
53564 2011-05-21  Bruno Haible  <bruno@clisp.org>
53566         mktime: Respect rules for use of AC_LIBOBJ.
53567         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
53568         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
53569         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
53570         (gl_FUNC_MKTIME_INTERNAL): ... and here...
53571         * modules/mktime (configure.ac): ... to here.
53572         * modules/mktime-internal (configure.ac): ... and here.
53573         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
53575 2011-05-21  Bruno Haible  <bruno@clisp.org>
53577         mkstemps: Move AC_LIBOBJ invocations to module description.
53578         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
53579         here...
53580         * modules/mkstemps (configure.ac): ... to here.
53582 2011-05-21  Bruno Haible  <bruno@clisp.org>
53584         mkstemp: Move AC_LIBOBJ invocations to module description.
53585         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
53586         gl_PREREQ_MKSTEMP invocations from here...
53587         * modules/mkstemp (configure.ac): ... to here.
53589 2011-05-21  Bruno Haible  <bruno@clisp.org>
53591         mkostemps: Move AC_LIBOBJ invocations to module description.
53592         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
53593         here...
53594         * modules/mkostemps (configure.ac): ... to here.
53596 2011-05-21  Bruno Haible  <bruno@clisp.org>
53598         mkostemp: Move AC_LIBOBJ invocations to module description.
53599         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
53600         gl_PREREQ_MKOSTEMP invocations from here...
53601         * modules/mkostemp (configure.ac): ... to here.
53603 2011-05-21  Bruno Haible  <bruno@clisp.org>
53605         mknod: Move AC_LIBOBJ invocations to module description.
53606         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
53607         * modules/mknod (configure.ac): ... to here.
53609 2011-05-21  Bruno Haible  <bruno@clisp.org>
53611         mkfifoat: Move AC_LIBOBJ invocations to module description.
53612         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
53613         here...
53614         * modules/mkfifoat (configure.ac): ... to here.
53616 2011-05-21  Bruno Haible  <bruno@clisp.org>
53618         mkfifo: Respect rules for use of AC_LIBOBJ.
53619         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
53620         here...
53621         * modules/mkfifo (configure.ac): ... to here.
53623 2011-05-21  Bruno Haible  <bruno@clisp.org>
53625         mkdtemp: Move AC_LIBOBJ invocations to module description.
53626         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
53627         invocations from here...
53628         * modules/mkdtemp (configure.ac): ... to here.
53630 2011-05-21  Bruno Haible  <bruno@clisp.org>
53632         mkdir: Move AC_LIBOBJ invocations to module description.
53633         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
53634         * modules/mkdir (configure.ac): ... to here.
53636 2011-05-21  Bruno Haible  <bruno@clisp.org>
53638         memset: Move AC_LIBOBJ invocations to module description.
53639         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
53640         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
53641         here...
53642         * modules/memset (configure.ac): ... to here.
53644 2011-05-21  Bruno Haible  <bruno@clisp.org>
53646         memrchr: Move AC_LIBOBJ invocations to module description.
53647         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
53648         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
53649         here...
53650         * modules/memrchr (configure.ac): ... to here.
53652 2011-05-21  Bruno Haible  <bruno@clisp.org>
53654         mempcpy: Move AC_LIBOBJ invocations to module description.
53655         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
53656         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
53657         here...
53658         * modules/mempcpy (configure.ac): ... to here.
53660 2011-05-21  Bruno Haible  <bruno@clisp.org>
53662         memmove: Move AC_LIBOBJ invocations to module description.
53663         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
53664         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
53665         here...
53666         * modules/memmove (configure.ac): ... to here.
53668 2011-05-21  Bruno Haible  <bruno@clisp.org>
53670         memmem*: Move AC_LIBOBJ invocations to module description.
53671         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
53672         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
53673         here...
53674         (gl_FUNC_MEMMEM): ... and here...
53675         * modules/memmem-simple (configure.ac): ... to here.
53676         * modules/memmem (configure.ac): ... and here.
53678 2011-05-21  Bruno Haible  <bruno@clisp.org>
53680         memcpy: Move AC_LIBOBJ invocations to module description.
53681         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
53682         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
53683         here...
53684         * modules/memcpy (configure.ac): ... to here.
53686 2011-05-21  Bruno Haible  <bruno@clisp.org>
53688         memcmp: Simplify autoconf macro.
53689         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
53690         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
53691         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
53693 2011-05-21  Bruno Haible  <bruno@clisp.org>
53695         memcmp: Move AC_LIBOBJ invocations to module description.
53696         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
53697         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
53698         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
53699         * modules/memcmp (configure.ac): ... to here.
53700         (Depends-on): Update conditions.
53702 2011-05-21  Bruno Haible  <bruno@clisp.org>
53704         memchr: Respect rules for use of AC_LIBOBJ.
53705         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
53706         invocations from here...
53707         * modules/memchr (configure.ac): ... to here.
53709 2011-05-21  Bruno Haible  <bruno@clisp.org>
53711         mbtowc: Move AC_LIBOBJ invocations to module description.
53712         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
53713         invocations from here...
53714         * modules/mbtowc (configure.ac): ... to here.
53716 2011-05-21  Bruno Haible  <bruno@clisp.org>
53718         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
53719         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
53720         gl_PREREQ_MBSRTOWCS invocations from here...
53721         * modules/mbsrtowcs (configure.ac): ... to here.
53723 2011-05-21  Bruno Haible  <bruno@clisp.org>
53725         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
53726         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
53727         gl_PREREQ_MBSNRTOWCS invocations from here...
53728         * modules/mbsnrtowcs (configure.ac): ... to here.
53730 2011-05-21  Bruno Haible  <bruno@clisp.org>
53732         mbsinit: Move AC_LIBOBJ invocations to module description.
53733         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
53734         invocations from here...
53735         * modules/mbsinit (configure.ac): ... to here.
53737 2011-05-21  Bruno Haible  <bruno@clisp.org>
53739         mbrlen: Move AC_LIBOBJ invocations to module description.
53740         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
53741         invocations from here...
53742         * modules/mbrlen (configure.ac): ... to here.
53744 2011-05-21  Bruno Haible  <bruno@clisp.org>
53746         mbrtowc: Respect rules for use of AC_LIBOBJ.
53747         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
53748         invocations from here...
53749         * modules/mbrtowc (configure.ac): ... to here.
53751 2011-05-21  Bruno Haible  <bruno@clisp.org>
53753         malloc-*: Move AC_LIBOBJ invocations to module description.
53754         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
53755         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
53756         AC_LIBOBJ invocations from here...
53757         * modules/malloc-gnu (configure.ac): ... to here.
53758         * modules/malloc-posix (configure.ac): ... and here.
53760 2011-05-21  Bruno Haible  <bruno@clisp.org>
53762         lstat, openat: Respect rules for use of AC_LIBOBJ.
53763         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
53764         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
53765         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
53766         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
53767         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
53768         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
53769         here.
53770         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
53772 2011-05-21  Bruno Haible  <bruno@clisp.org>
53774         lseek: Move AC_LIBOBJ invocations to module description.
53775         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
53776         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53777         * modules/lseek (configure.ac): ... to here.
53779 2011-05-21  Bruno Haible  <bruno@clisp.org>
53781         linkat: Move AC_LIBOBJ invocations to module description.
53782         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
53783         here...
53784         * modules/linkat (configure.ac): ... to here.
53786 2011-05-21  Bruno Haible  <bruno@clisp.org>
53788         link: Respect rules for use of AC_LIBOBJ.
53789         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
53790         * modules/link (configure.ac): ... to here.
53792 2011-05-21  Bruno Haible  <bruno@clisp.org>
53794         lchown: Move AC_LIBOBJ invocations to module description.
53795         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53796         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53797         * modules/lchown (configure.ac): ... to here.
53799 2011-05-21  Bruno Haible  <bruno@clisp.org>
53801         iswctype: Move AC_LIBOBJ invocations to module description.
53802         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
53803         here...
53804         * modules/iswctype (configure.ac): ... to here.
53806 2011-05-21  Bruno Haible  <bruno@clisp.org>
53808         iswblank: Move AC_LIBOBJ invocations to module description.
53809         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
53810         here...
53811         * modules/iswblank (configure.ac): ... to here.
53813 2011-05-21  Bruno Haible  <bruno@clisp.org>
53815         atanl: Move AC_LIBOBJ invocations to module description.
53816         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
53817         * modules/atanl (configure.ac): ... to here.
53819 2011-05-21  Bruno Haible  <bruno@clisp.org>
53821         acosl: Move AC_LIBOBJ invocations to module description.
53822         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
53823         * modules/acosl (configure.ac): ... to here.
53825 2011-05-21  Bruno Haible  <bruno@clisp.org>
53827         asinl: Respect rules for use of AC_LIBOBJ.
53828         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
53829         * modules/asinl (configure.ac): ... to here.
53831 2011-05-21  Bruno Haible  <bruno@clisp.org>
53833         tanl: Move AC_LIBOBJ invocations to module description.
53834         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
53835         * modules/tanl (configure.ac): ... to here.
53837 2011-05-21  Bruno Haible  <bruno@clisp.org>
53839         cosl: Move AC_LIBOBJ invocations to module description.
53840         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
53841         * modules/cosl (configure.ac): ... to here.
53843 2011-05-21  Bruno Haible  <bruno@clisp.org>
53845         sinl: Move AC_LIBOBJ invocations to module description.
53846         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
53847         * modules/sinl (configure.ac): ... to here.
53849 2011-05-21  Bruno Haible  <bruno@clisp.org>
53851         logl: Move AC_LIBOBJ invocations to module description.
53852         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
53853         * modules/logl (configure.ac): ... to here.
53855 2011-05-21  Bruno Haible  <bruno@clisp.org>
53857         expl: Move AC_LIBOBJ invocations to module description.
53858         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
53859         * modules/expl (configure.ac): ... to here.
53861 2011-05-21  Bruno Haible  <bruno@clisp.org>
53863         roundl: Move AC_LIBOBJ invocations to module description.
53864         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
53865         * modules/roundl (configure.ac): ... to here.
53867 2011-05-21  Bruno Haible  <bruno@clisp.org>
53869         round: Move AC_LIBOBJ invocations to module description.
53870         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
53871         * modules/round (configure.ac): ... to here.
53873 2011-05-21  Bruno Haible  <bruno@clisp.org>
53875         roundf: Move AC_LIBOBJ invocations to module description.
53876         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
53877         * modules/roundf (configure.ac): ... to here.
53879 2011-05-21  Bruno Haible  <bruno@clisp.org>
53881         truncl: Move AC_LIBOBJ invocations to module description.
53882         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
53883         * modules/truncl (configure.ac): ... to here.
53885 2011-05-21  Bruno Haible  <bruno@clisp.org>
53887         trunc: Move AC_LIBOBJ invocations to module description.
53888         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
53889         * modules/trunc (configure.ac): ... to here.
53891 2011-05-21  Bruno Haible  <bruno@clisp.org>
53893         truncf: Move AC_LIBOBJ invocations to module description.
53894         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
53895         * modules/truncf (configure.ac): ... to here.
53897 2011-05-21  Bruno Haible  <bruno@clisp.org>
53899         ceill: Move AC_LIBOBJ invocations to module description.
53900         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
53901         * modules/ceill (configure.ac): ... to here.
53903 2011-05-21  Bruno Haible  <bruno@clisp.org>
53905         ceil: Move AC_LIBOBJ invocations to module description.
53906         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
53907         * modules/ceil (configure.ac): ... to here.
53909 2011-05-21  Bruno Haible  <bruno@clisp.org>
53911         ceilf: Move AC_LIBOBJ invocations to module description.
53912         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
53913         * modules/ceilf (configure.ac): ... to here.
53915 2011-05-21  Bruno Haible  <bruno@clisp.org>
53917         floorl: Respect rules for use of AC_LIBOBJ.
53918         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
53919         * modules/floorl (configure.ac): ... to here.
53921 2011-05-21  Bruno Haible  <bruno@clisp.org>
53923         floor: Respect rules for use of AC_LIBOBJ.
53924         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
53925         * modules/floor (configure.ac): ... to here.
53927 2011-05-21  Bruno Haible  <bruno@clisp.org>
53929         floorf: Move AC_LIBOBJ invocations to module description.
53930         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
53931         * modules/floorf (configure.ac): ... to here.
53933 2011-05-20  Bruno Haible  <bruno@clisp.org>
53935         sqrtl: Respect rules for use of AC_LIBOBJ.
53936         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
53937         * modules/sqrtl (configure.ac): ... to here.
53939 2011-05-20  Bruno Haible  <bruno@clisp.org>
53941         ldexpl: Respect rules for use of AC_LIBOBJ.
53942         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
53943         * modules/ldexpl (configure.ac): ... to here.
53945 2011-05-20  Bruno Haible  <bruno@clisp.org>
53947         frexpl*: Respect rules for use of AC_LIBOBJ.
53948         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
53949         invocation from here...
53950         * modules/frexpl (configure.ac): ... to here.
53951         * modules/frexpl-nolibm (configure.ac): ... and here.
53953 2011-05-20  Bruno Haible  <bruno@clisp.org>
53955         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
53956         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
53957         invocation from here...
53958         * modules/frexp (configure.ac): ... to here.
53959         * modules/frexp-nolibm (configure.ac): ... and here.
53961 2011-05-20  Bruno Haible  <bruno@clisp.org>
53963         isnan: Respect rules for use of AC_LIBOBJ.
53964         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
53965         invocations here.
53966         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
53967         REPLACE_ISNAN.
53968         * modules/isnand (configure.ac): Likewise.
53969         * modules/isnanl (configure.ac): Likewise.
53971 2011-05-20  Bruno Haible  <bruno@clisp.org>
53973         isnanl*: Respect rules for use of AC_LIBOBJ.
53974         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
53975         invocation from here...
53976         * modules/isnanl (configure.ac): ... to here.
53977         * modules/isnanl-nolibm (configure.ac): ... and here.
53979 2011-05-20  Bruno Haible  <bruno@clisp.org>
53981         isnand*: Move AC_LIBOBJ invocations to module description.
53982         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
53983         invocation from here...
53984         * modules/isnand (configure.ac): ... to here.
53985         * modules/isnand-nolibm (configure.ac): ... and here.
53987 2011-05-20  Bruno Haible  <bruno@clisp.org>
53989         isnanf*: Move AC_LIBOBJ invocations to module description.
53990         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
53991         invocation from here...
53992         * modules/isnanf (configure.ac): ... to here.
53993         * modules/isnanf-nolibm (configure.ac): ... and here.
53995 2011-05-20  Bruno Haible  <bruno@clisp.org>
53997         isnan*: Separate the AC_LIBOBJ invocations.
53998         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
53999         AC_LIBOBJ invocation.
54000         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
54001         here.
54002         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
54003         AC_LIBOBJ invocation.
54004         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
54005         here.
54006         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
54007         AC_LIBOBJ invocation.
54008         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
54009         here.
54010         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
54012 2011-05-08  Bruno Haible  <bruno@clisp.org>
54014         isinf: Move AC_LIBOBJ invocations to module description.
54015         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
54016         * modules/isinf (configure.ac): ... to here.
54018 2011-05-08  Bruno Haible  <bruno@clisp.org>
54020         isfinite: Move AC_LIBOBJ invocations to module description.
54021         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
54022         * modules/isfinite (configure.ac): ... to here.
54024 2011-05-08  Bruno Haible  <bruno@clisp.org>
54026         isblank: Move AC_LIBOBJ invocations to module description.
54027         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
54028         here...
54029         * modules/isblank (configure.ac): ... to here.
54031 2011-05-08  Bruno Haible  <bruno@clisp.org>
54033         isapipe: Move AC_LIBOBJ invocations to module description.
54034         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
54035         gl_PREREQ_ISAPIPE invocations from here...
54036         * modules/isapipe (configure.ac): ... to here.
54037         (Depends-on): Update condition.
54039 2011-05-08  Bruno Haible  <bruno@clisp.org>
54041         ioctl: Move AC_LIBOBJ invocations to module description.
54042         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
54043         invocations from here...
54044         * modules/ioctl (configure.ac): ... to here.
54045         (Depends-on): Update condition.
54047 2011-05-08  Bruno Haible  <bruno@clisp.org>
54049         imaxdiv: Move AC_LIBOBJ invocations to module description.
54050         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
54051         invocations from here...
54052         * modules/imaxdiv (configure.ac): ... to here.
54054 2011-05-08  Bruno Haible  <bruno@clisp.org>
54056         imaxabs: Move AC_LIBOBJ invocations to module description.
54057         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
54058         invocations from here...
54059         * modules/imaxabs (configure.ac): ... to here.
54061 2011-05-08  Bruno Haible  <bruno@clisp.org>
54063         getaddrinfo: Move AC_LIBOBJ invocations to module description.
54064         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
54065         AC_LIBOBJ invocations from here...
54066         * modules/getaddrinfo (configure.ac): ... to here.
54067         (Depends-on): Add conditions.
54069 2011-05-08  Bruno Haible  <bruno@clisp.org>
54071         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54072         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
54073         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54074         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
54075         (gl_PREREQ_INET_PTON): ... from here.
54076         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
54077         gl_PREREQ_INET_PTON here.
54078         (Depends-on): Update condition.
54080 2011-05-08  Bruno Haible  <bruno@clisp.org>
54082         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
54083         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
54084         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
54085         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
54086         (gl_PREREQ_INET_NTOP): ... from here.
54087         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
54088         gl_PREREQ_INET_NTOP here.
54089         (Depends-on): Update condition.
54091 2011-05-08  Bruno Haible  <bruno@clisp.org>
54093         iconv_open: Move AC_LIBOBJ invocations to module description.
54094         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
54095         AC_LIBOBJ invocations from here...
54096         * modules/iconv_open (configure.ac): ... to here.
54098 2011-05-08  Bruno Haible  <bruno@clisp.org>
54100         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
54101         If module 'iconv_open' is among the main modules and module
54102         'iconv_open-utf' is among the tests dependencies, then
54103         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
54104         return the special iconv_t values. Therefore iconv() and iconv_close()
54105         must support these special iconv_t values, already in lib, not only in
54106         tests.
54107         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
54108         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
54109         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
54110         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
54111         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
54112         (Depends-on): Add the dependencies of iconv_open-utf.
54113         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
54114         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
54115         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
54117 2011-05-08  Bruno Haible  <bruno@clisp.org>
54119         group-member: Move AC_LIBOBJ invocations to module description.
54120         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
54121         gl_PREREQ_GROUP_MEMBER invocations from here...
54122         * modules/group-member (configure.ac): ... to here.
54124 2011-05-08  Bruno Haible  <bruno@clisp.org>
54126         grantpt: Move AC_LIBOBJ invocations to module description.
54127         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
54128         invocations from here...
54129         * modules/grantpt (configure.ac): ... to here.
54131 2011-05-08  Bruno Haible  <bruno@clisp.org>
54133         glob: Move AC_LIBOBJ invocations to module description.
54134         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
54135         from here...
54136         * modules/glob (configure.ac): ... to here.
54138 2011-05-08  Bruno Haible  <bruno@clisp.org>
54140         getusershell: Move AC_LIBOBJ invocations to module description.
54141         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
54142         Move AC_LIBOBJ invocation from here...
54143         * modules/getusershell (configure.ac): ... to here.
54144         (Depends-on): Update condition.
54146 2011-05-08  Bruno Haible  <bruno@clisp.org>
54148         gettimeofday: Move AC_LIBOBJ invocations to module description.
54149         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54150         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
54151         gl_PREREQ_GETTIMEOFDAY invocations from here...
54152         * modules/gettimeofday (configure.ac): ... to here.
54154 2011-05-08  Bruno Haible  <bruno@clisp.org>
54156         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
54157         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
54158         just gl_FUNC_TZSET.
54159         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
54160         (gl_FUNC_TZSET_CLOBBER): Remove actions.
54161         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
54162         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
54164 2011-05-08  Bruno Haible  <bruno@clisp.org>
54166         getsubopt: Move AC_LIBOBJ invocations to module description.
54167         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
54168         gl_PREREQ_GETSUBOPT invocations from here...
54169         * modules/getsubopt (configure.ac): ... to here.
54171 2011-05-08  Bruno Haible  <bruno@clisp.org>
54173         getpass-gnu: Move AC_LIBOBJ invocations to module description.
54174         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
54175         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
54176         * modules/getpass-gnu (configure.ac): ... to here.
54178 2011-05-08  Bruno Haible  <bruno@clisp.org>
54180         getpass: Move AC_LIBOBJ invocations to module description.
54181         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
54182         gl_PREREQ_GETPASS invocations from here...
54183         * modules/getpass (configure.ac): ... to here.
54185 2011-05-08  Bruno Haible  <bruno@clisp.org>
54187         getpagesize: Move AC_LIBOBJ invocations to module description.
54188         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
54189         from here...
54190         * modules/getpagesize (configure.ac): ... to here.
54192 2011-05-08  Bruno Haible  <bruno@clisp.org>
54194         getopt: Move AC_LIBOBJ invocations to module description.
54195         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
54196         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
54197         invocations from here...
54198         * modules/getopt-gnu (configure.ac): ... to here.
54199         * modules/getopt-posix (configure.ac): ... and here.
54200         (Depends-on): Update condition.
54202 2011-05-08  Bruno Haible  <bruno@clisp.org>
54204         getopt, argp: Respect rules for use of AC_LIBOBJ.
54205         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
54206         (gl_REPLACE_GETOPT_ALWAYS): New macro.
54207         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
54208         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
54210 2011-05-08  Bruno Haible  <bruno@clisp.org>
54212         getlogin_r: Move AC_LIBOBJ invocations to module description.
54213         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
54214         gl_PREREQ_GETLOGIN_R invocations from here...
54215         * modules/getlogin_r (configure.ac): ... to here.
54217 2011-05-08  Bruno Haible  <bruno@clisp.org>
54219         getlogin: Move AC_LIBOBJ invocations to module description.
54220         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
54221         here...
54222         * modules/getlogin (configure.ac): ... to here.
54224 2011-05-08  Bruno Haible  <bruno@clisp.org>
54226         getloadavg: Move AC_LIBOBJ invocations to module description.
54227         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
54228         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
54229         * modules/getloadavg (configure.ac): ... to here.
54231 2011-05-08  Bruno Haible  <bruno@clisp.org>
54233         gethrxtime: Move AC_LIBOBJ invocations to module description.
54234         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
54235         LIB_GETHRXTIME from here...
54236         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
54237         invocations from here...
54238         * modules/gethrxtime (configure.ac): ... to here.
54240 2011-05-08  Bruno Haible  <bruno@clisp.org>
54242         gethostname: Move AC_LIBOBJ invocations to module description.
54243         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
54244         gl_PREREQ_GETHOSTNAME invocations from here...
54245         * modules/gethostname (configure.ac): ... to here.
54247 2011-05-08  Bruno Haible  <bruno@clisp.org>
54249         getgroups: Move AC_LIBOBJ invocations to module description.
54250         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
54251         here...
54252         * modules/getgroups (configure.ac): ... to here.
54254 2011-05-08  Bruno Haible  <bruno@clisp.org>
54256         getdtablesize: Move AC_LIBOBJ invocations to module description.
54257         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
54258         invocation from here...
54259         * modules/getdtablesize (configure.ac): ... to here.
54261 2011-05-08  Bruno Haible  <bruno@clisp.org>
54263         getdomainname: Move AC_LIBOBJ invocations to module description.
54264         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
54265         gl_PREREQ_GETDOMAINNAME invocations from here...
54266         * modules/getdomainname (configure.ac): ... to here.
54268 2011-05-08  Bruno Haible  <bruno@clisp.org>
54270         getline: Move AC_LIBOBJ invocations to module description.
54271         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
54272         invocations from here...
54273         * modules/getline (configure.ac): ... to here.
54275 2011-05-08  Bruno Haible  <bruno@clisp.org>
54277         getline: Simplify.
54278         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
54279         It's already handled through the module dependency.
54281 2011-05-08  Bruno Haible  <bruno@clisp.org>
54283         getdelim: Move AC_LIBOBJ invocations to module description.
54284         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
54285         and gl_PREREQ_GETDELIM invocations from here...
54286         * modules/getdelim (configure.ac): ... to here.
54287         (Depends-on): Fix condition.
54289 2011-05-08  Bruno Haible  <bruno@clisp.org>
54291         getcwd: Move AC_LIBOBJ invocations to module description.
54292         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
54293         invocations from here...
54294         * modules/getcwd (configure.ac): ... to here.
54296 2011-05-08  Bruno Haible  <bruno@clisp.org>
54298         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
54299         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
54300         here...
54301         * modules/getcwd-lgpl (configure.ac): ... to here.
54303 2011-05-07  Bruno Haible  <bruno@clisp.org>
54305         crypto/gc: Move AC_LIBOBJ invocations to module description.
54306         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
54307         * modules/crypto/gc (configure.ac): ... to here.
54309 2011-05-07  Bruno Haible  <bruno@clisp.org>
54311         fwriting: Move AC_LIBOBJ invocations to module description.
54312         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
54313         here...
54314         * modules/fwriting (configure.ac): ... to here.
54316 2011-05-07  Bruno Haible  <bruno@clisp.org>
54318         fwritable: Move AC_LIBOBJ invocations to module description.
54319         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
54320         here...
54321         * modules/fwritable (configure.ac): ... to here.
54323 2011-05-07  Bruno Haible  <bruno@clisp.org>
54325         futimens: Move AC_LIBOBJ invocations to module description.
54326         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
54327         here...
54328         * modules/futimens (configure.ac): ... to here.
54330 2011-05-07  Bruno Haible  <bruno@clisp.org>
54332         ftruncate: Move AC_LIBOBJ invocations to module description.
54333         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
54334         gl_PREREQ_FTRUNCATE invocations from here...
54335         * modules/ftruncate (configure.ac): ... to here.
54337 2011-05-07  Bruno Haible  <bruno@clisp.org>
54339         fsync: Move AC_LIBOBJ invocations to module description.
54340         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
54341         invocations from here...
54342         * modules/fsync (configure.ac): ... to here.
54344 2011-05-07  Bruno Haible  <bruno@clisp.org>
54346         fsusage: Move AC_LIBOBJ invocations to module description.
54347         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
54348         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
54349         * modules/fsusage (configure.ac): ... to here.
54351 2011-05-07  Bruno Haible  <bruno@clisp.org>
54353         freopen: Move AC_LIBOBJ invocations to module description.
54354         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
54355         invocations from here...
54356         * modules/freopen (configure.ac): ... to here.
54358 2011-05-07  Bruno Haible  <bruno@clisp.org>
54360         free: Move AC_LIBOBJ invocations to module description.
54361         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
54362         invocations from here...
54363         * modules/free (configure.ac): ... to here.
54365 2011-05-07  Bruno Haible  <bruno@clisp.org>
54367         freadable: Move AC_LIBOBJ invocations to module description.
54368         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
54369         here...
54370         * modules/freadable (configure.ac): ... to here.
54372 2011-05-07  Bruno Haible  <bruno@clisp.org>
54374         fpurge: Move AC_LIBOBJ invocations to module description.
54375         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
54376         invocations from here...
54377         * modules/fpurge (configure.ac): ... to here.
54379 2011-05-07  Bruno Haible  <bruno@clisp.org>
54381         fpending: Move AC_LIBOBJ invocations to module description.
54382         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
54383         gl_FUNC_FPENDING.
54384         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
54385         invocations from here...
54386         * modules/fpending (configure.ac): ... to here.
54388 2011-05-07  Bruno Haible  <bruno@clisp.org>
54390         fopen: Move AC_LIBOBJ invocations to module description.
54391         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
54392         invocations from here...
54393         * modules/fopen (configure.ac): ... to here.
54395 2011-05-07  Bruno Haible  <bruno@clisp.org>
54397         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
54398         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
54399         gl_FUNC_FNMATCH_POSIX.
54400         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
54401         invocations from here...
54402         * modules/fnmatch (configure.ac): ... to here.
54403         * modules/fnmatch-gnu (configure.ac): ... and here.
54405 2011-05-07  Bruno Haible  <bruno@clisp.org>
54407         flock: Move AC_LIBOBJ invocations to module description.
54408         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
54409         invocations from here...
54410         * modules/flock (configure.ac): ... to here.
54412 2011-05-07  Bruno Haible  <bruno@clisp.org>
54414         fileblocks: Move AC_LIBOBJ invocations to module description.
54415         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
54416         gl_PREREQ_FILEBLOCKS invocations from here...
54417         * modules/fileblocks (configure.ac): ... to here.
54419 2011-05-06  Bruno Haible  <bruno@clisp.org>
54421         fflush: Move AC_LIBOBJ invocations to module description.
54422         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
54423         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
54424         invocations from here...
54425         * modules/fflush (configure.ac): ... to here.
54427 2011-05-06  Bruno Haible  <bruno@clisp.org>
54429         fdopendir: Move AC_LIBOBJ invocations to module description.
54430         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
54431         here...
54432         * modules/fdopendir (configure.ac): ... to here.
54433         (Depends-on): Improve conditions.
54435 2011-05-06  Bruno Haible  <bruno@clisp.org>
54437         _Exit: Move AC_LIBOBJ invocations to module description.
54438         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
54439         invocations from here...
54440         * modules/_Exit (configure.ac): ... to here.
54442 2011-05-21  Bruno Haible  <bruno@clisp.org>
54444         euidaccess: Respect rules for use of AC_LIBOBJ.
54445         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
54446         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
54447         from here...
54448         * modules/euidaccess (configure.ac): ... to here.
54450 2011-05-06  Bruno Haible  <bruno@clisp.org>
54452         error: Move AC_LIBOBJ invocations to module description.
54453         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
54454         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
54455         invocations from here...
54456         * modules/error (configure.ac): ... to here.
54458 2011-05-06  Bruno Haible  <bruno@clisp.org>
54460         duplocale: Move AC_LIBOBJ invocations to module description.
54461         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
54462         gl_PREREQ_DUPLOCALE invocations from here...
54463         * modules/duplocale (configure.ac): ... to here.
54465 2011-05-05  Bruno Haible  <bruno@clisp.org>
54467         dirfd: Move AC_LIBOBJ invocations to module description.
54468         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
54469         gl_FUNC_DIRFD.
54470         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
54471         here...
54472         * modules/dirfd (configure.ac): ... to here.
54473         (Depends-on): Fix condition.
54475 2011-05-05  Bruno Haible  <bruno@clisp.org>
54477         chown: Respect rules for use of AC_LIBOBJ.
54478         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
54479         * modules/chown (configure.ac): ... to here.
54481 2011-05-05  Bruno Haible  <bruno@clisp.org>
54483         chdir-long: Move AC_LIBOBJ invocations to module description.
54484         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
54485         gl_PREREQ_CHDIR_LONG invocations from here...
54486         * modules/chdir-long (configure.ac): ... to here.
54488 2011-05-05  Bruno Haible  <bruno@clisp.org>
54490         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
54491         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
54492         from here...
54493         * modules/canonicalize-lgpl (configure.ac): ... to here.
54495 2011-05-05  Bruno Haible  <bruno@clisp.org>
54497         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
54498         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
54499         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
54500         REPLACE_CALLOC.
54501         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
54502         * modules/calloc-gnu (configure.ac): Likewise.
54504 2011-05-05  Bruno Haible  <bruno@clisp.org>
54506         btowc: Move AC_LIBOBJ invocations to module description.
54507         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
54508         invocations from here...
54509         * modules/btowc (configure.ac): ... to here.
54511 2011-05-21  Bruno Haible  <bruno@clisp.org>
54513         atexit: Move AC_LIBOBJ invocations to module description.
54514         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
54515         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
54516         here...
54517         * modules/atexit (configure.ac): ... to here.
54519 2011-05-05  Bruno Haible  <bruno@clisp.org>
54521         atoll: Move AC_LIBOBJ invocations to module description.
54522         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
54523         invocations from here...
54524         * modules/atoll (configure.ac): ... to here.
54526 2011-05-05  Bruno Haible  <bruno@clisp.org>
54528         argz: Move AC_LIBOBJ invocations to module description.
54529         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
54530         * modules/argz (configure.ac): ... to here.
54532 2011-05-05  Bruno Haible  <bruno@clisp.org>
54534         alphasort: Move AC_LIBOBJ invocations to module description.
54535         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
54536         gl_PREREQ_ALPHASORT invocations from here...
54537         * modules/alphasort (configure.ac): ... to here.
54539 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
54541         verify: new macro verify_expr; verify_true deprecated
54542         * NEWS: Mention this.
54543         * doc/verify.texi (Compile-time Assertions): Document this.
54544         * lib/verify.h (verify_true): Deprecate.
54545         (verify_expr): New macro.
54546         * tests/test-verify.c (function): Test verify_expr.
54548 2011-06-14  Jim Meyering  <meyering@redhat.com>
54550         init.sh: give more portable redirection-related advice in a comment
54551         * tests/init.sh (stderr_fileno_): Update the advice in comments.
54552         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
54553         for lots of discussion.  Stefano Lattarini suggested the solution
54554         of putting "9>&2" after the command.  Reported by Bruno Haible.
54556 2011-06-13  Bruno Haible  <bruno@clisp.org>
54558         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
54559         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
54560         'none'.
54562 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
54564         ftoastr: use strtof only if HAVE_STRTOF
54565         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
54566         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
54567         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
54568         * modules/ftoastr (configure.ac): Check for strtof.
54570 2011-06-13  Bruno Haible  <bruno@clisp.org>
54572         gnulib-tool: Addendum to 2011-06-08 commit.
54573         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
54574         and --witness-c-macro have been given, augment AM_CPPFLAGS.
54576 2011-06-13  Bruno Haible  <bruno@clisp.org>
54578         fseeko: Provide a non-inline replacement of fseek().
54579         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
54580         * modules/fseeko (Depends-on): Add fseek.
54581         * modules/fseek (License): Change to LGPLv2+.
54583 2011-06-13  Bruno Haible  <bruno@clisp.org>
54585         ftello: Provide a non-inline replacement of ftell().
54586         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
54587         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
54588         not have ftello() (such as on mingw).
54589         * modules/ftello (Depends-on): Add ftell.
54590         * modules/ftell (License): Change to LGPLv2+.
54592 2011-05-07  Bruno Haible  <bruno@clisp.org>
54594         ftell: Move AC_LIBOBJ invocations to module description.
54595         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
54596         * modules/ftell (configure.ac): ... to here.
54598 2011-05-07  Bruno Haible  <bruno@clisp.org>
54600         ftello: Respect rules for use of AC_LIBOBJ.
54601         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
54602         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
54603         here...
54604         * modules/ftello (configure.ac): ... to here.
54606 2011-05-07  Bruno Haible  <bruno@clisp.org>
54608         fseeko: Simplify.
54609         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
54610         (gl_FUNC_FSEEKO): Inline it here.
54612 2011-05-07  Bruno Haible  <bruno@clisp.org>
54614         fseek: Move AC_LIBOBJ invocations to module description.
54615         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
54616         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54617         * modules/fseek (configure.ac): ... to here.
54619 2011-05-07  Bruno Haible  <bruno@clisp.org>
54621         fseek: Respect rules for use of AC_LIBOBJ.
54622         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
54623         here...
54624         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
54626 2011-05-07  Bruno Haible  <bruno@clisp.org>
54628         fseeko: Respect rules for use of AC_LIBOBJ.
54629         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
54630         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
54631         here...
54632         * modules/fseeko (configure.ac): ... to here.
54634 2011-06-13  Bruno Haible  <bruno@clisp.org>
54636         gnulib-tool: Allow comments in the 'Depends-on' section.
54637         * doc/gnulib.texi (Module description): Mention comment syntax in the
54638         Depends-on section.
54639         * gnulib-tool (func_get_dependencies): Filter out comment lines.
54641 2011-06-13  Bruno Haible  <bruno@clisp.org>
54643         file-set.h: guard __attibute__ use, now that it's not always defined
54644         * lib/file-set.h (record_file): Use __attribute__ only with compiler
54645         versions that support it.  This fixes a coreutils build failure with
54646         the vendor cc on HP-UX 11.31.
54648 2011-06-12  Bruno Haible  <bruno@clisp.org>
54650         acl: Add support for HP-UX >= 11.11 JFS ACLs.
54651         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
54652         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
54653         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
54654         (acl, aclsort): New declarations.
54655         (aclv_nontrivial): New declaration.
54656         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
54657         (file_has_acl): Read also the second kind of HP-UX ACLs.
54658         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
54659         kind of HP-UX ACLs if the first kind fails.
54660         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
54661         second kind of HP-UX ACLs.
54662         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
54663         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
54664         agree.
54665         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54666         hpuxjfs.
54667         Handle hpuxjfs.
54668         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54669         hpuxjfs.
54670         Handle hpuxjfs.
54671         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54672         (func_test_same_acls): Use both lsacl and getacl.
54673         Handle hpuxjfs.
54674         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54675         (func_test_same_acls): Use both lsacl and getacl.
54676         Handle hpuxjfs.
54678 2011-06-12  Bruno Haible  <bruno@clisp.org>
54680         acl: Complete the 2010-08-10 fix.
54681         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
54682         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
54683         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
54684         explicitly.
54685         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
54686         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
54688 2011-06-12  Bruno Haible  <bruno@clisp.org>
54690         spawn-pipe tests: Comments.
54691         * tests/test-spawn-pipe-child.c (main): Update comment.
54692         Reported by James Youngman <jay@gnu.org>.
54694 2011-06-11  James Youngman  <jay@gnu.org>
54696         New module 'stat-size'.
54697         * modules/stat-size: New module.  Provides macros for accessing
54698         file size information in instances of struct stat.  Depends on the
54699         fileblocks module because it calls st_blocks.
54700         * lib/stat-size.h: New file, adapted from coreutils' system.h.
54701         * doc/gnulib.texi: Include stat-size.texi.
54702         * doc/stat-size.texi: Documentation for this module.
54703         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
54704         * m4/fileblocks.m4: Mention that stat-size depends on the call to
54705         AC_STRUCT_ST_BLOCKS.
54707 2011-06-09  Bruno Haible  <bruno@clisp.org>
54709         thread: Support pthreads-win32.
54710         * lib/glthread/thread.h (gl_thread_self): Define differently on
54711         pthreads-win32.
54712         (gl_null_thread): New declaration.
54713         (gl_thread_self_pointer): New macro.
54714         * lib/glthread/thread.c (gl_null_thread): New constant.
54715         * tests/test-lock.c: Use gl_thread_self_pointer instead of
54716         gl_thread_self.
54717         * tests/test-tls.c: Likewise.
54718         Suggested by Paul Eggert. Reported by Eric Blake.
54720 2011-06-09  Bruno Haible  <bruno@clisp.org>
54722         thread: Fix confusion between NULL and 0.
54723         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
54724         Reported by Paul Eggert.
54726 2011-06-09  Bruno Haible  <bruno@clisp.org>
54728         spawn-pipe tests: Avoid test failure on HP-UX 11.
54729         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
54730         is closed.
54732 2011-06-09  Bruno Haible  <bruno@clisp.org>
54734         acl tests: Fix compilation error on HP-UX 11.
54735         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
54737 2011-06-09  Bruno Haible  <bruno@clisp.org>
54739         rmdir: Avoid test failure on HP-UX 10.20.
54740         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
54741         EEXIST.
54743 2011-06-08  Eric Blake  <eblake@redhat.com>
54745         perror: fix test on mingw
54746         * modules/perror-tests (Depends-on): Add dup2.
54748         strerror_r-posix: fix on MacOS
54749         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
54750         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
54751         logic bug.
54752         * lib/strerror_r.c (strerror_r): Fix the bug.
54753         * lib/strerror.c (strerror): Likewise.
54754         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
54755         problem.
54756         * doc/posix-functions/strerror.texi (strerror): Likewise.
54757         * doc/posix-functions/perror.texi (perror): Likewise.
54758         * tests/test-strerror.c (main): Enhance test.
54759         * tests/test-strerror_r.c (main): Likewise.
54761 2011-06-08  Bruno Haible  <bruno@clisp.org>
54763         gnulib-tool: Better isolation between different gnulib-tool invocations.
54764         * gnulib-tool: New option --witness-c-macro.
54765         (witness_c_macro): New variable.
54766         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
54767         AM_CPPFLAGS define it as a C macro.
54768         (func_emit_tests_Makefile_am): Likewise.
54769         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
54770         read it from there.
54771         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
54772         m4_define, not AC_DEFUN.
54773         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
54774         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
54775         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
54776         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
54777         s|...|...|, to substitute the values of the GNULIB_* module indicator
54778         variables.
54779         * modules/dirent (Makefile.am): Likewise.
54780         * modules/fcntl-h (Makefile.am): Likewise.
54781         * modules/iconv-h (Makefile.am): Likewise.
54782         * modules/langinfo (Makefile.am): Likewise.
54783         * modules/locale (Makefile.am): Likewise.
54784         * modules/math (Makefile.am): Likewise.
54785         * modules/netdb (Makefile.am): Likewise.
54786         * modules/poll-h (Makefile.am): Likewise.
54787         * modules/pty (Makefile.am): Likewise.
54788         * modules/search (Makefile.am): Likewise.
54789         * modules/signal (Makefile.am): Likewise.
54790         * modules/spawn (Makefile.am): Likewise.
54791         * modules/stdio (Makefile.am): Likewise.
54792         * modules/stdlib (Makefile.am): Likewise.
54793         * modules/string (Makefile.am): Likewise.
54794         * modules/sys_ioctl (Makefile.am): Likewise.
54795         * modules/sys_select (Makefile.am): Likewise.
54796         * modules/sys_socket (Makefile.am): Likewise.
54797         * modules/sys_stat (Makefile.am): Likewise.
54798         * modules/sys_times (Makefile.am): Likewise.
54799         * modules/sys_utsname (Makefile.am): Likewise.
54800         * modules/sys_wait (Makefile.am): Likewise.
54801         * modules/termios (Makefile.am): Likewise.
54802         * modules/time (Makefile.am): Likewise.
54803         * modules/unistd (Makefile.am): Likewise.
54804         * modules/wchar (Makefile.am): Likewise.
54806 2011-06-08  Eric Blake  <eblake@redhat.com>
54808         strerror: simplify replacement
54809         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
54810         * modules/strerror (configure.ac): No prereqs needed here...
54811         * modules/strerror-override (configure.ac): ...but this needs it.
54812         (Files): Add file for needed prereq macro.
54814 2011-06-08  Bruno Haible  <bruno@clisp.org>
54816         strerror_r-posix: Tweaks.
54817         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
54818         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
54819         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
54820         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
54821         (gl_FUNC_STRERROR_R): ... to here.
54822         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
54824 2011-06-07  Eric Blake  <eblake@redhat.com>
54826         perror: document fixed bugs
54827         * doc/posix-functions/perror.texi (perror): Document recent
54828         patches.
54830 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
54832         stat-time: get_stat_birthtime failure is better-defined
54833         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
54834         return a timestamp whose tv_sec and tv_nsec values are both -1.
54835         Previously, the spec said only that the tv_nsec value was negative.
54836         This upward-compatible change simplifies GNU tar a bit.
54838 2011-06-07  Eric Blake  <eblake@redhat.com>
54840         strerror_r-posix: work around cygwin 1.7.9
54841         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
54842         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
54843         bug without replacing strerror_r.
54844         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
54845         strerror_r is buggy, but without requiring strerror_r compilation.
54846         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
54848         test-perror: relax test to ignore cygwin bug
54849         * tests/test-perror2.c (main): Relax test on requiring detection
54850         of stream errors, and use unbuffered stream.
54851         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
54852         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
54853         * doc/posix-functions/fputc.texi (fputc): Likewise.
54854         * doc/posix-functions/fputs.texi (fputs): Likewise.
54855         * doc/posix-functions/fputws.texi (fputws): Likewise.
54856         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
54857         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
54858         * doc/posix-functions/getopt.texi (getopt): Likewise.
54859         * doc/posix-functions/perror.texi (perror): Likewise.
54860         * doc/posix-functions/printf.texi (printf): Likewise.
54861         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
54862         * doc/posix-functions/psignal.texi (psignal): Likewise.
54863         * doc/posix-functions/putc.texi (putc): Likewise.
54864         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
54865         Likewise.
54866         * doc/posix-functions/putchar.texi (putchar): Likewise.
54867         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
54868         Likewise.
54869         * doc/posix-functions/puts.texi (puts): Likewise.
54870         * doc/posix-functions/putwc.texi (putwc): Likewise.
54871         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
54872         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
54873         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54874         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
54875         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54876         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
54877         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
54878         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
54880 2011-05-22  Bruno Haible  <bruno@clisp.org>
54882         strerror: Move AC_LIBOBJ invocations to module description.
54883         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
54884         gl_PREREQ_STRERROR invocations from here...
54885         * modules/strerror (configure.ac): ... to here.
54887 2011-05-21  Bruno Haible  <bruno@clisp.org>
54889         perror: Use common idiom.
54890         * modules/perror (configure.ac): Reorder statements.
54892 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54894         tests: fix usage message in 'mktempd_'
54895         * tests/init.sh (mktempd_): In the usage message, use literal
54896         'mktempd_', not '$ME' (which is even undefined), as the name of
54897         the subroutine.
54899 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54901         tests init: new function 'fatal_', for hard errors
54902         Before this patch, the only way offered by tests/init.sh to
54903         properly signal a hard error was the `framework_failure_'
54904         function.  But the error message issued by that function,
54905         as its name would suggest, refers to a set-up failure in the
54906         testsuite, while hard errors can obviously also be due to
54907         other reasons.  The best way to fix this inconsistency is to
54908         introduce a new function with a more general error message.
54909         * tests/init.sh (fatal_): New function.
54911 2011-06-06  Eric Blake  <eblake@redhat.com>
54913         canonicalize-lgpl: use common idiom
54914         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
54915         over newer POSIX -Rf.
54916         Reported by Bruno Haible.
54918         canonicalize-lgpl: work around AIX realpath bug
54919         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
54920         * doc/posix-functions/realpath.texi (realpath): Document it.
54921         Reported by Bruno Haible.
54923         strerror: work around FreeBSD bug
54924         * lib/strerror.c (strerror): Special case 0.
54925         Reported by Bruno Haible.
54927         strerror-override: avoid bloating errno module
54928         * modules/errno (Files, configure.ac): Move replacement strings...
54929         * modules/strerror-override: ...to new module.
54930         * modules/strerror (Depends-on): Add strerror-override.
54931         * modules/strerror_r-posix (Depends-on): Likewise.
54932         * MODULES.html.sh: Document new module.
54933         Reported by Bruno Haible.
54935 2011-06-06  Bruno Haible  <bruno@clisp.org>
54937         spawn-pipe tests: Rename program.
54938         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
54939         * tests/test-spawn-pipe-child.c: Update comment.
54940         * tests/test-spawn-pipe.sh: Update.
54941         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
54943         spawn-pipe tests: Link the child program only against libc.
54944         * tests/test-spawn-pipe-child.c: New file, extracted from
54945         tests/test-spawn-pipe.c.
54946         (main): Expect only one argument.
54947         (is_open): New function, copied from tests/test-pipe.c.
54948         * tests/test-spawn-pipe.c: Don't include <errno.h>.
54949         (child_main): Remove function.
54950         (test_pipe): Pass only one argument to the child program.
54951         (main): Remove child process code. Expect the child program's name as
54952         first argument.
54953         * tests/test-spawn-pipe.sh: Pass the child program's name as first
54954         argument.
54955         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
54956         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
54957         test-spawn-pipe-child against no libraries.
54959 2011-06-06  Bruno Haible  <bruno@clisp.org>
54961         careadlinkat: Avoid mismatch between ssize_t and int.
54962         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
54963         * lib/careadlinkat.c (careadlinkatcwd): Define always.
54965 2011-06-06  Jim Meyering  <meyering@redhat.com>
54967         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
54968         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
54969         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
54971 2011-06-05  Bruno Haible  <bruno@clisp.org>
54973         ansi-c++-opt: Interoperability with libtool.
54974         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
54975         set the variable to "no", not to ":".
54976         * NEWS: Mention the change.
54978 2011-06-05  Bruno Haible  <bruno@clisp.org>
54980         acl: Fix test failure on AIX 7.
54981         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
54982         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
54984 2011-06-05  Bruno Haible  <bruno@clisp.org>
54986         pipe-filter-ii: Fix test failure on AIX and IRIX.
54987         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
54988         with EAGAIN, retry with a smaller buffer size.
54990 2011-06-05  Bruno Haible  <bruno@clisp.org>
54992         localename: Fix link dependencies.
54993         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
54994         * modules/localename-tests (Makefile.am): Link test-localename with
54995         $(LIBTHREAD).
54997 2011-06-05  Bruno Haible  <bruno@clisp.org>
54999         error: Avoid gcc warning.
55000         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
55002 2011-06-05  Bruno Haible  <bruno@clisp.org>
55004         unsetenv: Avoid gcc warning.
55005         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
55007 2011-06-05  Bruno Haible  <bruno@clisp.org>
55009         setenv: Avoid gcc warning.
55010         * lib/setenv.c (setenv): Provide declaration if system lacks it.
55012 2011-06-05  Bruno Haible  <bruno@clisp.org>
55014         sys_select: Ensure memset is declared also on AIX 7.
55015         * lib/sys_select.in.h: Include <string.h> also on AIX.
55016         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
55017         self-contained also on AIX 7.1.
55019 2011-06-04  Jim Meyering  <meyering@redhat.com>
55021         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
55022         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
55023         function name, "error".
55024         (_gl_translatable_diag_func_re): New configurable variable.
55026 2011-06-04  Bruno Haible  <bruno@clisp.org>
55028         getopt: Avoid gcc warning.
55029         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
55031 2011-06-04  Bruno Haible  <bruno@clisp.org>
55033         strerror_r: Fix comments.
55034         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
55035         commit.
55037 2011-06-04  Bruno Haible  <bruno@clisp.org>
55039         perror: Fix compilation error.
55040         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
55041         Undefine fprintf, not sprintf.
55042         * modules/perror (Depends-on): Remove intprops, verify.
55044 2011-06-04  Bruno Haible  <bruno@clisp.org>
55046         setlocale: Enable replacement on Cygwin 1.5.
55047         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
55048         Cygwin 1.5.x.
55049         * doc/posix-functions/setlocale.texi: Mention that the problem with the
55050         LC_CTYPE category also exists on Cygwin 1.5.x.
55052 2011-06-04  Bruno Haible  <bruno@clisp.org>
55054         strerror-override: Don't disable symbol renamings.
55055         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
55056         * lib/strerror-override.c: Include config.h.
55057         (strerror_override): Don't undefine.
55059 2011-06-03  Bruno Haible  <bruno@clisp.org>
55061         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
55062         * lib/localename.h: Update copyright header.
55063         * lib/localename.c: Likewise.
55064         * lib/relocatable.h: Likewise.
55065         * lib/relocatable.c: Likewise.
55067 2011-06-02  Bruno Haible  <bruno@clisp.org>
55069         doc: Fix a module name.
55070         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
55072 2011-06-02  Bruno Haible  <bruno@clisp.org>
55074         pipe2: Remove dependency on 'nonblocking' module.
55075         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
55076         O_NONBLOCK is defined by gnulib.
55077         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
55078         is zero.
55079         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
55080         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
55081         defined by gnulib.
55082         (get_nonblocking_flag): New function.
55083         (main): Test O_NONBLOCK flag only if it is nonzero.
55084         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
55086 2011-06-03  Jim Meyering  <meyering@redhat.com>
55088         maint: three new prohibit-header-without-use rules
55089         Prohibit use of cloexec.h, posixver.h, same.h without use.
55090         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
55091         (sc_prohibit_posixver_without_use): Likewise.
55092         (sc_prohibit_same_without_use): Likewise.
55094 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55096         allocator: 'die' routine is now given requested size
55097         * lib/allocator.h (struct allocator.die): New size arg.
55098         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
55099         If the actual problem is an ssize_t limitation, not a size_t or
55100         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
55102 2011-06-01  Eric Blake  <eblake@redhat.com>
55104         strerror: drop strerror_r dependency
55105         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
55106         * lib/strerror-override.c (strerror_override): ...to new file.
55107         * lib/strerror-override.h: Add prototype.
55108         * lib/strerror-impl.h: Delete.
55109         * lib/strerror.c (strerror): New implementation.
55110         * modules/errno (Files): Add new files.
55111         (configure.ac): Compile new file as appropriate.
55112         * modules/strerror (Files): Drop unused file.
55113         (Depends-on): Drop strerror_r-posix.
55114         * MODULES.html.sh: Document strerror_r-posix.
55115         Requested by Sam Steingold.
55117         perror: call strerror_r directly
55118         * modules/perror (Files): Drop strerror-impl.h.
55119         * lib/perror.c (perror): Use our own stack buffer, rather than
55120         calling a wrapper that uses static storage.
55121         * doc/posix-functions/perror.texi (perror): Document a limitation
55122         of our replacement.
55124         strerror_r: fix includes for FreeBSD
55125         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
55126         since we use abort on some platforms.
55127         Reported by Matthias Bolte.
55129 2011-05-31  Bruno Haible  <bruno@clisp.org>
55131         Fix link errors in tests: openat-die uses gettext-h.
55132         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
55133         against $(LIBINTL).
55134         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
55135         against $(LIBINTL).
55136         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
55137         $(LIBINTL).
55138         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
55139         against $(LIBINTL).
55140         * modules/linkat-tests (Makefile.am): Link test-linkat against
55141         $(LIBINTL).
55142         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
55143         $(LIBINTL).
55144         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
55145         against $(LIBINTL).
55146         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
55147         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
55148         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
55149         $(LIBINTL).
55150         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
55151         $(LIBINTL).
55152         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
55153         $(LIBINTL).
55154         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55156 2011-05-31  Bruno Haible  <bruno@clisp.org>
55158         Fix link errors in tests: wait-process uses gettext-h.
55159         * modules/nonblocking-pipe-tests (Makefile.am): Set
55160         test_nonblocking_pipe_main_LDADD.
55161         * modules/nonblocking-socket-tests (Makefile.am): Link
55162         test-nonblocking-socket-main against $(LIBINTL).
55163         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55165 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
55167         assert-h: work around 'verify' incompatibility
55168         * lib/verify.h: Use @...@ directives, not ifdef.
55169         * modules/assert-h (assert.h): Implement the directives.
55170         (assert.h): Substitute the symbol-prefix more consistently.
55172 2011-05-29  Jim Meyering  <meyering@redhat.com>
55174         trim: remove three superfluous assignments
55175         * lib/trim.c (trim2): Remove three superfluous assignments
55176         and correct brace positioning.
55178 2011-05-29  Bruno Haible  <bruno@clisp.org>
55180         wctype-h: Avoid namespace pollution on Solaris 2.6.
55181         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
55182         identifiers.
55183         * doc/posix-headers/wctype.texi: Mention the problem.
55184         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55186 2011-05-28  Jim Meyering  <meyering@redhat.com>
55188         parse-datetime.y: accommodate -Wstrict-overflow
55189         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
55190         placate -Wstrict-overflow.
55192         trim: avoid a warning from -O2 -Wstrict-overflow
55193         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
55195 2011-05-29  Bruno Haible  <bruno@clisp.org>
55197         gnulib-tool: Fix bug in yesterday's commit.
55198         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
55199         twice.
55201 2011-05-29  Bruno Haible  <bruno@clisp.org>
55203         Allow multiple gnulib generated include files to be combined.
55204         * gnulib-tool (func_compute_include_guard_prefix): New function.
55205         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
55206         ${gl_include_guard_prefix} references.
55207         (func_import, func_create_testdir): Invoke
55208         func_compute_include_guard_prefix.
55209         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55210         * lib/ctype.in.h: Likewise.
55211         * lib/dirent.in.h: Likewise.
55212         * lib/errno.in.h: Likewise.
55213         * lib/fcntl.in.h: Likewise.
55214         * lib/float.in.h: Likewise.
55215         * lib/getopt.in.h: Likewise.
55216         * lib/iconv.in.h: Likewise.
55217         * lib/langinfo.in.h: Likewise.
55218         * lib/locale.in.h: Likewise.
55219         * lib/math.in.h: Likewise.
55220         * lib/netdb.in.h: Likewise.
55221         * lib/netinet_in.in.h: Likewise.
55222         * lib/poll.in.h: Likewise.
55223         * lib/pthread.in.h: Likewise.
55224         * lib/pty.in.h: Likewise.
55225         * lib/sched.in.h: Likewise.
55226         * lib/se-selinux.in.h: Likewise.
55227         * lib/search.in.h: Likewise.
55228         * lib/signal.in.h: Likewise.
55229         * lib/spawn.in.h: Likewise.
55230         * lib/stdarg.in.h: Likewise.
55231         * lib/stddef.in.h: Likewise.
55232         * lib/stdint.in.h: Likewise.
55233         * lib/stdio.in.h: Likewise.
55234         * lib/stdlib.in.h: Likewise.
55235         * lib/string.in.h: Likewise.
55236         * lib/strings.in.h: Likewise.
55237         * lib/sys_file.in.h: Likewise.
55238         * lib/sys_ioctl.in.h: Likewise.
55239         * lib/sys_select.in.h: Likewise.
55240         * lib/sys_socket.in.h: Likewise.
55241         * lib/sys_stat.in.h: Likewise.
55242         * lib/sys_time.in.h: Likewise.
55243         * lib/sys_times.in.h: Likewise.
55244         * lib/sys_uio.in.h: Likewise.
55245         * lib/sys_utsname.in.h: Likewise.
55246         * lib/sys_wait.in.h: Likewise.
55247         * lib/sysexits.in.h: Likewise.
55248         * lib/termios.in.h: Likewise.
55249         * lib/time.in.h: Likewise.
55250         * lib/unistd.in.h: Likewise.
55251         * lib/wchar.in.h: Likewise.
55252         * lib/wctype.in.h: Likewise.
55253         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
55254         * modules/ctype (Makefile.am): Likewise.
55255         * modules/dirent (Makefile.am): Likewise.
55256         * modules/errno (Makefile.am): Likewise.
55257         * modules/fcntl-h (Makefile.am): Likewise.
55258         * modules/float (Makefile.am): Likewise.
55259         * modules/getopt-posix (Makefile.am): Likewise.
55260         * modules/iconv-h (Makefile.am): Likewise.
55261         * modules/langinfo (Makefile.am): Likewise.
55262         * modules/locale (Makefile.am): Likewise.
55263         * modules/math (Makefile.am): Likewise.
55264         * modules/netdb (Makefile.am): Likewise.
55265         * modules/netinet_in (Makefile.am): Likewise.
55266         * modules/poll-h (Makefile.am): Likewise.
55267         * modules/pthread (Makefile.am): Likewise.
55268         * modules/pty (Makefile.am): Likewise.
55269         * modules/sched (Makefile.am): Likewise.
55270         * modules/search (Makefile.am): Likewise.
55271         * modules/selinux-h (Makefile.am): Likewise.
55272         * modules/signal (Makefile.am): Likewise.
55273         * modules/spawn (Makefile.am): Likewise.
55274         * modules/stdarg (Makefile.am): Likewise.
55275         * modules/stddef (Makefile.am): Likewise.
55276         * modules/stdint (Makefile.am): Likewise.
55277         * modules/stdio (Makefile.am): Likewise.
55278         * modules/stdlib (Makefile.am): Likewise.
55279         * modules/string (Makefile.am): Likewise.
55280         * modules/strings (Makefile.am): Likewise.
55281         * modules/sys_file (Makefile.am): Likewise.
55282         * modules/sys_ioctl (Makefile.am): Likewise.
55283         * modules/sys_select (Makefile.am): Likewise.
55284         * modules/sys_socket (Makefile.am): Likewise.
55285         * modules/sys_stat (Makefile.am): Likewise.
55286         * modules/sys_time (Makefile.am): Likewise.
55287         * modules/sys_times (Makefile.am): Likewise.
55288         * modules/sys_uio (Makefile.am): Likewise.
55289         * modules/sys_utsname (Makefile.am): Likewise.
55290         * modules/sys_wait (Makefile.am): Likewise.
55291         * modules/sysexits (Makefile.am): Likewise.
55292         * modules/termios (Makefile.am): Likewise.
55293         * modules/time (Makefile.am): Likewise.
55294         * modules/unistd (Makefile.am): Likewise.
55295         * modules/wchar (Makefile.am): Likewise.
55296         * modules/wctype-h (Makefile.am): Likewise.
55297         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
55299 2011-05-29  Bruno Haible  <bruno@clisp.org>
55301         assert-h: Allow multiple gnulib generated replacements to coexist.
55302         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
55304 2011-05-29  Bruno Haible  <bruno@clisp.org>
55306         argp: Allow coexistence with strerror_r-posix module.
55307         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
55308         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
55309         by gnulib's <string.h> replacement), assume it has the POSIX signature,
55310         not the glibc signature.
55312 2011-05-28  Bruno Haible  <bruno@clisp.org>
55314         gnulib-tool: Alternative structure of testdirs, similar to --import.
55315         * gnulib-tool: New option --single-configure.
55316         (func_usage): Document it.
55317         (single_configure): New variable.
55318         (func_modules_transitive_closure_separately,
55319         func_modules_transitive_closure_separately,
55320         func_determine_use_libtests, func_modules_add_dummy_separately,
55321         func_modules_to_filelist_separately): New functions, extracted from
55322         func_import.
55323         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
55324         (func_import): Use the new functions.
55325         (func_create_testdir): Set final_modules. Handle $single_configure =
55326         true case.
55328 2011-05-28  Bruno Haible  <bruno@clisp.org>
55330         getloadavg: Remove an unreliable safety check.
55331         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
55332         getloadavg.c is in place.
55333         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
55334         Reported by Sam Steingold <sds@gnu.org>.
55336 2011-05-28  Bruno Haible  <bruno@clisp.org>
55338         doc: Cleanup yet another file produced by texinfo.tex.
55339         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
55341 2011-05-28  Bruno Haible  <bruno@clisp.org>
55343         Finish the conditional dependencies mechanism.
55344         * gnulib-tool: New option --no-conditional-dependencies.
55345         (func_usage): Document it. Don't mark --conditional-dependencies as
55346         experimental.
55347         (cond_dependencies): The possible values can now be true, false, empty.
55348         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
55349         (func_import): Store setting in gnulib-cache.m4 and read it from there.
55350         * doc/gnulib-tool.texi (Conditional dependencies): New section.
55352 2011-05-28  Bruno Haible  <bruno@clisp.org>
55354         doc: Use a recent texinfo.tex.
55355         * doc/Makefile (tex_opts): New variable.
55356         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
55358 2011-05-28  Jim Meyering  <meyering@redhat.com>
55360         intprops.h: adjust comment to match code change
55361         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
55362         only once, it *may* have side effects.  Also fix an unrelated typo.
55363         (_GL_INT_SIGNED): Likewise.
55365 2011-05-26  Simon Josefsson  <simon@josefsson.org>
55367         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
55369 2011-05-26  Bruno Haible  <bruno@clisp.org>
55371         mbsrchr: Avoid collision with system function on Interix.
55372         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
55373         Reported by Markus Duft <mduft@gentoo.org>.
55375 2011-05-15  James Youngman  <jay@gnu.org>
55377         getopt: for ambiguous options, enumerate the possibilities.
55378         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
55379         the ambiguous options when an ambiguous prefix is given. This was
55380         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
55381         glibc change was
55382         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
55384 2011-05-25  Eric Blake  <eblake@redhat.com>
55386         getcwd: work around mingw bug
55387         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
55388         * doc/posix-functions/getcwd.texi (getcwd): Document it.
55389         Reported by Matthias Bolte.
55391 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
55393         test-intprops: disable -Wtype-limits diagnostics
55394         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
55395         diagnostics.  Otherwise, the integer overflow macros generate many
55396         diagnostics.  Reported by Jim Meyering in
55397         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55399         intprops: shorten, to pacify gcc -Woverlength-strings
55400         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
55401         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
55402         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
55403         likely to run afoul of C compiler limits for string constant lengths.
55404         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
55406 2011-05-24  Eric Blake  <eblake@redhat.com>
55408         docs: document recently fixed glibc printf bug
55409         * doc/posix-functions/fprintf.texi (fprintf): Document it.
55410         * doc/posix-functions/printf.texi (printf): Likewise.
55411         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
55412         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
55414         closein-tests: convert to init.sh
55415         * modules/closein-tests (Files): Add init.sh
55416         * tests/test-closein.sh Use it.
55418         yesno-tests: convert to init.sh
55419         * modules/yesno-tests (Files): Add init.sh.
55420         * tests/test-yesno.sh: Use it.
55422         atexit-tests: ensure reliable exit status
55423         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
55424         Reported by Bruno Haible.
55426 2011-05-24  Bruno Haible  <bruno@clisp.org>
55428         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
55429         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
55430         gl_PREREQ_STRERROR_R invocations from here...
55431         * modules/strerror_r-posix (configure.ac): ... to here.
55433 2011-05-24  Eric Blake  <eblake@redhat.com>
55435         strerror_r: fix missing header
55436         * lib/strerror_r.c: Avoid compiler warning about snprintf.
55438         strerror_r: fix AIX test failures
55439         * lib/strerror_r.c (strerror_r): Convert silent truncation to
55440         ERANGE failure.
55442         strerror_r: fix Solaris test failures
55443         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
55444         failures.
55445         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55447         strerror_r: enforce POSIX recommendations
55448         * lib/strerror_r.c (safe_copy): New helper method.
55449         (strerror_r): Guarantee a non-empty string.
55450         * tests/test-strerror_r.c (main): Enhance tests to incorporate
55451         recent POSIX rulings and to match our strerror guarantees.
55452         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
55454 2011-05-24  Jim Meyering  <meyering@redhat.com>
55456         test-perror2.c: avoid warning about unused variable
55457         * tests/test-perror2.c (main): Remove declaration of unused "fp".
55459 2011-05-24  Eric Blake  <eblake@redhat.com>
55461         perror: avoid spurious test failure on HP-UX
55462         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
55464         tests: fix logic bug in init.sh
55465         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
55466         shell.
55468 2011-05-24  Jim Meyering  <meyering@redhat.com>
55470         utimensat: do not reference an out-of-scope buffer
55471         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
55472         declared in an inner scope, yet "times" would be dereferenced outside
55473         the scope in which "ts" was valid.
55474         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
55475         of ts[2] "out/up", so that the use of aliased "times" (via
55476         "times = ts;") does not end up referencing an out-of-scope "ts"
55478         opendir-safer.c: don't clobber errno; don't close negative FD
55479         * lib/opendir-safer.c (opendir_safer):
55480         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
55481         file descriptor, and more importantly, don't clobber the
55482         offending errno value with EINVAL.  Before, upon failure
55483         of dup_safer, we would pass the negative file descriptor to
55484         fdopendir, which would clobber errno.
55486 2011-05-23  Bruno Haible  <bruno@clisp.org>
55488         idcache: Fix module description.
55489         * modules/idcache (Include): Set to "idcache.h".
55491 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
55493         gnulib-tool: fix portability problem with MacOS sed
55494         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
55495         before the "}".  Problem reported by Leo in
55496         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
55497         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
55498         sed_extract_condition1, sed_extract_condition2.
55500 2011-05-23  Bruno Haible  <bruno@clisp.org>
55502         hash: Simplify autoconf macro.
55503         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
55505 2011-05-23  Bruno Haible  <bruno@clisp.org>
55507         getugroups: Fix module description.
55508         * modules/getugroups (Include): Set to "getugroups.h".
55510 2011-05-23  Bruno Haible  <bruno@clisp.org>
55512         linkat: Simplify autoconf macro.
55513         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
55515 2011-05-23  Bruno Haible  <bruno@clisp.org>
55516             Eric Blake  <eblake@redhat.com>
55518         linkat, renameat: Update dependencies.
55519         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
55520         * modules/linkat (Depends-on): Likewise. Remove also readlink,
55521         symlinkat.
55523 2011-05-23  Jim Meyering  <meyering@redhat.com>
55525         maint.mk: more tight_scope improvements
55526         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
55527         (_gl_TS_headers): Define only in if-0'd block.
55528         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
55529         sometimes we must *not* use it.  Adjust uses accordingly.
55530         (sc_tight_scope): Use much simpler grep-based test to determine
55531         whether we skip this rule.
55533         maint.mk: generalize/improve the tight-scope rule
55534         * top/maint.mk: Emit a warning when the test is skipped.
55535         (_gl_TS_dir): Add $(srcdir)/ prefix.
55536         (_gl_TS_function_match): Simplify, rather than trying
55537         to enumerate common types.  Otherwise, it would fail to match an
55538         "extern unsigned char const *" declaration in idutils.
55539         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
55540         a way to support use of that type of macro.
55541         (_gl_TS_var_match): Simplify regexp.
55542         (_gl_TS_obj_files): New configurable variable.
55543         (_gl_TS_headers): Likewise.
55545 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55547         verify: fix bug when gnulib <assert.h> is also included
55548         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
55549         is defined, not if _GL_STATIC_ASSERT_H is not defined.
55550         Perhaps there's a better way, but this fixes the immediate problem.
55551         Problem reported by Bruno Haible in
55552         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
55554 2011-05-22  Bruno Haible  <bruno@clisp.org>
55556         xgetcwd: Simplify autoconf macro.
55557         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
55559 2011-05-22  Bruno Haible  <bruno@clisp.org>
55561         New module 'mktime-internal'.
55562         * modules/mktime-internal: New file.
55563         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
55564         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
55565         mktime_internal as a C macro if libc has __mktime_internal.
55566         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
55567         conditions.
55568         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
55570 2011-05-22  Bruno Haible  <bruno@clisp.org>
55572         timegm: Correct mktime replacement statements.
55573         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
55574         defining mktime as a C macro. This completes a 2009-07-28 commit.
55576 2011-05-22  Bruno Haible  <bruno@clisp.org>
55578         timegm: Simplify autoconf macro.
55579         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
55581 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
55583         clock-time: change to LGPLv2+.
55584         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
55585         BSD-like but we have no mark for that; this is good enough for now.
55587 2011-05-21  Bruno Haible  <bruno@clisp.org>
55589         strerror_r: Fix comments.
55590         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
55592 2011-05-21  Bruno Haible  <bruno@clisp.org>
55594         relocatable-prog-wrapper: Fix possible link error.
55595         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
55596         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
55597         (gl_FUNC_SETENV): ... to here.
55598         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
55599         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
55601 2011-05-21  Bruno Haible  <bruno@clisp.org>
55603         relocatable-prog-wrapper: Assume strerror() exists.
55604         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
55605         m4/strerror.m4.
55606         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
55607         * lib/relocwrapper.c: Remove mention of strerror module.
55608         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
55609         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
55610         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
55611         C macro.
55613 2011-05-21  Bruno Haible  <bruno@clisp.org>
55615         select: Simplify replacement idiom.
55616         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
55617         Win32 platforms.
55618         * lib/sys_select.in.h (select): Simplify accordingly.
55619         * modules/select (Depends-on): Likewise.
55621 2011-05-21  Bruno Haible  <bruno@clisp.org>
55623         mkdir-p: Simplify autoconf macro.
55624         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
55625         gl_FUNC_LCHOWN.
55627 2011-05-21  Eric Blake  <eblake@redhat.com>
55629         strerror_r: avoid clobbering strerror on cygwin
55630         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
55631         fall back instead to sys_errlist.
55632         * modules/strerror (configure.ac): Add witness.
55633         * tests/test-strerror_r.c (main): Enhance test.
55634         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55635         * tests/test-perror2.c (main): Free memory before exit.
55637 2011-05-21  Bruno Haible  <bruno@clisp.org>
55639         mkdtemp: Use gnulib naming conventions.
55640         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
55641         * modules/mkdtemp (configure.ac): Update.
55643 2011-05-20  Eric Blake  <eblake@redhat.com>
55645         strerror_r: avoid corrupting errno on Solaris
55646         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
55647         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55649         strerror_r: avoid compiler warning
55650         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
55652         strerror_r: simplify AIX code
55653         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
55655         test-perror: avoid spurious failure on FreeBSD
55656         * modules/perror-tests (Depends-on): Add strerror, now that
55657         strerror_r no longer pulls it in.
55659 2011-05-20  Bruno Haible  <bruno@clisp.org>
55661         strerror_r-posix: Remove unused dependencies.
55662         * modules/strerror_r-posix (Depends-on): Remove strerror.
55663         Reported by Eric Blake.
55665 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55667         intprops: remove assumption about A|B representation
55668         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
55669         is a valid integer if both A and B are.  Although this is true for
55670         all known practical hosts, the C standard doesn't guarantee it,
55671         and the code need not assume it.  Also, this change may work around
55672         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
55673         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
55675 2011-05-20  Eric Blake  <eblake@redhat.com>
55677         perror: work around FreeBSD bug
55678         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
55679         is broken.  Move AC_LIBOBJ...
55680         * modules/perror (configure.ac): Here.
55681         * doc/posix-functions/perror.texi (perror): Document this.
55682         * tests/test-perror2.c (main): Enhance test.
55684         test-perror: check for strerror interactions
55685         * tests/macros.h (STREQ): Add macro.
55686         * modules/perror-tests (Files): Add second test.
55687         * tests/test-perror2.c (main): New file.
55688         * doc/posix-functions/perror.texi (perror): Document glibc bug.
55690         test-perror: rewrite to use init script
55691         * modules/perror-tests (Files): Add init.sh.
55692         * tests/test-perror.sh: Use temporary directory.
55694 2011-05-20  Jim Meyering  <meyering@redhat.com>
55696         maint: replace misused "a" with "an"
55697         * doc/intprops.texi: "a integer"
55698         * doc/regex.texi: "a explanation"
55699         * lib/alignof.h: "a object"
55700         * lib/argmatch.h: "a explanation"
55701         * lib/argp-help.c: "a option" and "a OPTION_DOC"
55702         * lib/stdint.in.h: "a integer"
55703         * lib/userspec.c: "a owner"
55704         * doc/gnulib.texi: Fix "a idea", and reword.
55706 2011-05-19  Jim Meyering  <meyering@redhat.com>
55708         maint: correct misuse of "a" and "an"
55709         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
55710         * lib/argp-help.c: "an docum...": s/an/a/
55711         * lib/argp-parse.c: "An vector": s/An/A/
55712         * lib/execute.c: "an native": s/an/a/
55713         * lib/spawn-pipe.c: Likewise.
55714         * lib/gc.h: "an Gc_rc": s/an/a/
55715         * lib/unigbrk.in.h: "an grapheme": s/an/a/
55716         * lib/fts.c: "an stat.st_dev": s/an/a/
55718 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55720         intprops-tests: work around HP-UX 11.23 cc bug with constants
55721         * tests/test-intprops.c (VERIFY): New macro.
55722         (main): Use it, instead of verify, to work around the compiler bug; see
55723         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55725         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
55726         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
55727         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
55728         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
55729         (_GL_REMAINDER_OVERFLOW): Use it.
55731         intprops-tests: revert unsigned part of previous change
55732         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
55733         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
55734         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
55735         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
55737 2011-05-19  Bruno Haible  <bruno@clisp.org>
55739         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
55740         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
55741         strerror_r() returned without filling the buffer.
55742         Reported by Eric Blake.
55744 2011-05-19  Eric Blake  <eblake@redhat.com>
55746         strerror_r: guarantee unchanged errno
55747         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
55748         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
55749         failure.
55750         * tests/test-strerror_r.c (main): Enhance test.
55752 2011-05-19  Bruno Haible  <bruno@clisp.org>
55754         strerror_r: Reorder #if blocks.
55755         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
55756         for consistency with the previous commit.
55758 2011-05-19  Bruno Haible  <bruno@clisp.org>
55760         perror: Avoid clobbering the strerror buffer when possible.
55761         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
55762         * lib/strerror.c: Include it.
55763         * modules/strerror (Files): Add lib/strerror-impl.h.
55764         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
55765         (my_strerror): New function, defined through lib/strerror-impl.h.
55766         (perror): Use it instead of strerror.
55767         * modules/perror (Files): Add lib/strerror-impl.h.
55768         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
55770 2011-05-19  Eric Blake  <eblake@redhat.com>
55772         strerror_r: fix on newer cygwin
55773         * lib/strerror_r.c (strerror_r): Cygwin now has
55774         __xpg_strerror_r, use it.
55776 2011-05-19  Bruno Haible  <bruno@clisp.org>
55778         strerror_r: Avoid clobbering the strerror buffer when possible.
55779         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
55780         (sys_nerr, sys_errlist): New declarations.
55781         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
55782         HP-UX, native Win32, IRIX, and 32-bit Solaris.
55783         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
55785 2011-05-19  Bruno Haible  <bruno@clisp.org>
55787         strerror_r: Fix test failure on mingw.
55788         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
55789         EXTEND_STRERROR_R.
55790         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
55791         macros from errno.in.h instead.
55793 2011-05-19  Eric Blake  <eblake@redhat.com>
55795         strerror: relax test for Solaris
55796         * tests/test-strerror.c (main): Permit Solaris behavior.
55797         * tests/test-strerror_r.c (main): Likewise.
55799         strerror: enforce POSIX ruling on strerror(0)
55800         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
55801         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
55802         * lib/strerror_r.c (rpl_strerror_r): Work around it.
55803         * doc/posix-functions/strerror.texi (strerror): Document it.
55804         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
55805         * tests/test-strerror.c (main): Strengthen test.
55806         * tests/test-strerror_r.c (main): Likewise.
55808 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55810         intprop-tests: port to older and more-pedantic compilers
55811         * modules/intprops-tests (Files): Add tests/macros.h.
55812         * tests/test-intprops.c: Include macros.h.
55813         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
55814         it's no longer documented to expand to an integer constant expression.
55815         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
55816         argument is floating point, as it's no longer documented to expand
55817         to an integer constant expression in that case.
55818         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
55819         compiler bugs reported by Bruno Haible.  See
55820         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55821         (U0, U1): New constants, to work around the same bugs.  Also,
55822         in tests, use e.g., "(unsigned int) 39" rather than "39u".
55824         intprops: work around C compiler bugs
55825         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
55826         bug in Sun C 5.11 2010/08/13 and other compilers; see
55827         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55829         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
55830         * doc/intprops.texi (Integer Type Determination): Fix
55831         documentation for TYPE_IS_INTEGER: it returns an constant
55832         expression, not an integer constant expression.  Fix doc for
55833         TYPE_SIGNED: it returns an integer constant expression only if its
55834         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
55835         hardly worth documented that way....)
55837 2011-05-18  Bruno Haible  <bruno@clisp.org>
55839         strerror_r: Avoid clobbering the strerror buffer when possible.
55840         * lib/strerror_r.c (strerror_r): Merge the three implementations.
55841         Handle gnulib defined errno values here. When strerror() returns NULL
55842         or an empty string, return EINVAL.
55843         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
55844         gnulib defined errno values here.
55845         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
55847 2011-05-18  Eric Blake  <eblake@redhat.com>
55849         fnmatch: avoid compiler warning
55850         * lib/fnmatch_loop.c (FCT): Use correct type.
55851         Reported by Matthias Bolte.
55853 2011-05-13  Jim Meyering  <meyering@redhat.com>
55855         maint.mk: three new prohibit_<HDR>_without_use rules
55856         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
55857         (sc_prohibit_stdio-safer_without_use): Likewise.
55858         (sc_prohibit_xfreopen_without_use): Likewise.
55860 2011-05-17  Jim Meyering  <meyering@redhat.com>
55862         announce-gen: fail if the NEWS delta is empty
55863         If there's nothing noteworthy in NEWS, then either you forgot
55864         or you shouldn't be releasing.
55865         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
55867 2011-05-17  Pádraig Brady  <P@draigBrady.com>
55869         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
55870         reserved symbols starting with double underscore from the check.
55872 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55874         intprops: add doc
55875         * doc/intprops.texi: New file, documenting intprops.
55876         * doc/gnulib.texi (Particular Modules): Include it.
55878         verify: add doc to gnulib manual and fix example
55879         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
55880         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
55881         (Compile-time Assertions): Fix example so it can't overflow.
55883 2011-05-17  Jim Meyering  <meyering@redhat.com>
55885         warnings.m4: don't usurp save_CPPFLAGS variable name
55886         * m4/warnings.m4: Prefix local temporary variable name with gl_.
55888         doc: fix typo
55889         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
55891 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55892             Bruno Haible  <bruno@clisp.org>
55894         doc: Tweak recent change.
55895         * README (Portability guidelines): Tweak new text.
55896         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
55897         Interix 6.1.
55899 2011-05-16  Eric Blake  <eblake@redhat.com>
55901         inttypes: avoid autoconf warning
55902         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
55903         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55905 2011-05-16  Sam Steingold  <sds@gnu.org>
55906         and Eric Blake  <eblake@redhat.com>
55908         vc-list-files: accept multiple directory operands
55909         * build-aux/vc-list-files: Iterate over all remaining operands.
55911 2011-05-16  Bruno Haible  <bruno@clisp.org>
55913         Fix confusion regarding deprecated modules.
55914         * modules/calloc (Status, Notice): Mark module as deprecated, not
55915         obsolete.
55916         * modules/fnmatch-posix (Status, Notice): Likewise.
55917         * modules/getdate (Status, Notice): Likewise.
55918         * modules/getopt (Status, Notice): Likewise.
55919         * modules/malloc (Status, Notice): Likewise.
55920         * modules/pipe (Status, Notice): Likewise.
55921         * modules/realloc (Status, Notice): Likewise.
55922         * modules/rename-dest-slash (Status, Notice): Likewise.
55923         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
55924         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
55925         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
55926         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
55927         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
55929 2011-05-16  Bruno Haible  <bruno@clisp.org>
55931         doc: List the target platforms.
55932         * doc/gnulib-intro.texi (Target Platforms): New section.
55933         * doc/gnulib.texi (Introduction): Update menu.
55934         * README (Portability guidelines): Refer to the new section. Update
55935         statement about oldest supported environment. Remove rationale why
55936         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
55937         unportable C89 function.
55938         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
55939         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
55941 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55943         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
55945 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55947         intprops-tests: new module
55948         * modules/intprops-tests, tests/test-intprops.c: New files.
55950         intprops: add safe, portable integer overflow checking
55951         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
55952         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
55953         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
55954         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
55955         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
55956         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
55957         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
55958         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
55959         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
55960         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
55961         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
55963 2011-05-12  James Youngman  <jay@gnu.org>
55965         Add a test for glibc's Bugzilla bug #12378.
55966         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
55967         doesn't allow the literal matching of a lone "[" (which is
55968         required by POSIX).
55969         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
55971 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
55973         Sync glibc change fixing Bugzilla bug #12378.
55974         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
55975         beginning and fall back to matching as normal character if the
55976         string ends before the matching ']' is found.  This is what POSIX
55977         requires.
55979 2011-05-13  Eric Blake  <eblake@redhat.com>
55981         getcwd-lgpl: relax test for FreeBSD
55982         * doc/posix-functions/getcwd.texi (getcwd): Document portability
55983         issue.
55984         * tests/test-getcwd-lgpl.c (main): Relax test.
55985         Reported by Matthias Bolte.
55987 2011-05-11  Eric Blake  <eblake@redhat.com>
55989         test-fflush: silence compiler warning
55990         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
55992 2011-05-11  Bruno Haible  <bruno@clisp.org>
55994         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
55995         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
55996         * modules/canonicalize (Depends-on): Add 'nocrash'.
55997         * modules/canonicalize-lgpl (Depends-on): Likewise.
55998         * doc/posix-functions/realpath.texi: Update platforms list.
55999         Reported by Ryan Schmidt <ryandesign@macports.org>.
56001 2011-05-11  Bruno Haible  <bruno@clisp.org>
56003         group-member: Declare function in <unistd.h>.
56004         * lib/unistd.in.h (group_member): New declaration.
56005         * lib/group-member.h: Remove file.
56006         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
56007         * tests/test-unistd-c++.cc: Check signature of group_member.
56008         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
56009         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
56010         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
56011         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
56012         HAVE_GROUP_MEMBER.
56013         * modules/group-member (Files): Remove lib/group-member.h.
56014         (Depends-on): Add unistd. Specify conditions.
56015         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56016         (Include): Change to <unistd.h>.
56017         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
56018         HAVE_GROUP_MEMBER.
56019         * NEWS: Mention the change.
56020         * lib/euidaccess.c: Don't include group-member.h.
56022 2011-05-11  Bruno Haible  <bruno@clisp.org>
56024         group-member: Document module.
56025         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
56026         module.
56028 2011-05-11  Bruno Haible  <bruno@clisp.org>
56030         fclose: Fix mistake earlier today.
56031         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
56033 2011-05-11  Eric Blake  <eblake@redhat.com>
56035         fclose: preserve fflush errors
56036         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
56037         Reported by Jim Meyering.
56039         bootstrap: support a prereq of 'rpcgen -' on RHEL5
56040         * build-aux/bootstrap (check_versions): When no specific version
56041         is required, merely check that the app produces an exit status
56042         that indicates its existence.
56044         maint.mk: drop redundant check
56045         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
56046         the same but better.
56048 2011-05-11  Bruno Haible  <bruno@clisp.org>
56050         fclose: Fix possible link error.
56051         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
56052         unregister_shadow_fd. Improve comments.
56053         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
56054         Eric Blake.
56056 2011-05-11  Jim Meyering  <meyering@redhat.com>
56058         maint.mk: improve "can not" detection and generalize rule name
56059         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
56060         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
56061         Use the same technique as in sc_prohibit_doubled_word, so that
56062         we recognize "can not" also when the words are separated by a newline.
56063         Suggested by Eric Blake.
56064         (perl_filename_lineno_text_): Define.  Factored out of...
56065         (prohibit_doubled_word_): ...here.  Use the new definition.
56066         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
56067         (prohibit_undesirable_word_seq_RE_): New overridable variable.
56068         (ignore_undesirable_word_sequence_RE_): New overridable variable.
56070 2011-05-10  Eric Blake  <eblake@redhat.com>
56072         fclose: avoid double close race when possible
56073         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
56074         all but WINDOWS_SOCKETS.
56076 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
56078         openat: correct new comment
56079         * lib/openat-proc.c (openat_proc_name): Correct the comment.
56081 2011-05-10  Jim Meyering  <meyering@redhat.com>
56083         openat: add comments
56084         * lib/openat-proc.c (openat_proc_name): Add comments,
56085         mostly from Eric Blake.
56087 2011-05-09  Eric Blake  <eblake@redhat.com>
56089         openat: reduce syscalls in first probe of /proc
56090         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
56091         be a directory.  Simplify the probe for .. bugs.
56092         * modules/openat (Depends-on): Drop same-inode.
56093         Reported by Bastien ROUCARIES.
56095 2011-05-09  Jim Meyering  <meyering@redhat.com>
56097         maint.mk: change semantics/name of tight_scope variables
56098         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
56099         Rename variables to align with semantics that make them more useful.
56101         maint.mk: tweak new rule's name not to impinge
56102         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
56103         (sc_tight_scope): Use new rule name rather than $@-0.
56105         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
56106         * top/maint.mk (sc_tight_scope): New rule.
56107         (sc_tight_scope-0): New rule, ifdef'd out.
56108         (_gl_TS_dir): Default.
56109         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
56110         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
56112 2011-05-09  Simon Josefsson  <simon@josefsson.org>
56114         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
56115         Haible <bruno@clisp.org>.
56117 2011-05-08  Bruno Haible  <bruno@clisp.org>
56119         Comments.
56120         * m4/isnanf.m4: Add comment.
56121         * m4/isnanl.m4: Likewise.
56123 2011-05-08  Bruno Haible  <bruno@clisp.org>
56125         glob: Remove obsolete macro.
56126         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
56128 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
56130         intprops: Sun C 5.11 supports __typeof__
56131         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
56132         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
56133         which is new.
56134         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
56136         intprops: switch to usual gnulib indenting and naming
56137         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
56138         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
56140         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
56142 2011-05-08  Jim Meyering  <meyering@redhat.com>
56144         maint.mk: suppress "Entering/Leaving directory" diag in announcement
56145         * top/maint.mk (release-prep): Use make's --no-print-directory
56146         option when generating the announcement.  This eliminates the
56147         pesky "make[2]: Entering/Leaving directory" diagnostics in the
56148         generated announcement template.
56150 2011-05-08  Bruno Haible  <bruno@clisp.org>
56152         tzset: Fix gettimeofday wrapper on Solaris 2.6.
56153         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
56154         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
56156 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
56158         ignore-value, verify: Omit include files from lib_SOURCES.
56159         * modules/ignore-value, modules/verify (Makefile.am):
56160         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
56161         that leads Automake to duplicate use of am__objects_... variables
56162         in Makefile.in.  See
56163         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
56165 2011-05-07  Bruno Haible  <bruno@clisp.org>
56167         fclose: Simplify autoconf macro.
56168         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
56169         defined.
56171 2011-05-07  Bruno Haible  <bruno@clisp.org>
56173         canonicalize-lgpl: Fix autoconf macro ordering bug.
56174         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
56175         gl_STDLIB_H_DEFAULTS.
56177 2011-05-06  Eric Blake  <eblake@redhat.com>
56179         maintainer-makefile: make sc_po_check easier to tune
56180         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
56181         to probe for strings, such as an alternate location for gnulib.
56183         fclose: guarantee behavior on seekable stdin
56184         * modules/fclose (Depends-on): Add fflush.
56185         * doc/posix-functions/fclose.texi (fclose): Document this.
56186         * tests/test-fclose.c (main): Make test for this unconditional.
56188 2011-05-06  Bruno Haible  <bruno@clisp.org>
56190         fflush, fpurge: Relicense under LGPLv2+.
56191         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
56192         * modules/fpurge (License): Likewise.
56193         With permission from Eric Blake and Jim Meyering.
56194         Suggested by Eric Blake.
56196 2011-05-06  Karl Berry  <karl@gnu.org>
56198         * MODULES.html.sh (func_all_modules): remove exit.
56200 2011-05-06  Jim Meyering  <meyering@redhat.com>
56202         maint.mk: use info-gnu@ as the default only for a stable release
56203         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
56204         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
56205         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
56206         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
56208 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56210         assert-h: new module, which supports C1X-style static_assert
56211         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
56212         * lib/verify.h: Revamp so that this can be copied into assert.h,
56213         while retaining the ability to use it standalone as before.
56214         Rename private identifiers so as not to encroach on the
56215         standard C namespace, since this is now used by assert.h.
56216         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
56217         the old verify_true.
56218         (_GL_VERIFY_TRUE): New macro, with much of the contents of
56219         the old verify_true.  Use _GL_VERIFY_TYPE.
56220         (_GL_VERIFY): New macro, with much of the contents of the old verify.
56221         (static_assert): New macro, if _GL_STATIC_ASSERT_H
56222         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
56223         defined when this file is copied into the replacement assert.h.
56224         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
56225         and _Static_assert is not built in.
56226         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
56227         defined, and use the new macros mentioned above.
56228         * doc/posix-headers/assert.texi: Document this.
56230 2011-05-05  Bruno Haible  <bruno@clisp.org>
56232         fclose, fflush: Respect rules for use of AC_LIBOBJ.
56233         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
56234         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
56235         gl_REPLACE_FCLOSE here.
56236         * modules/fflush (Depends-on): Remove fclose.
56237         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
56238         combination with module 'fclose'.
56240 2011-05-05  Bruno Haible  <bruno@clisp.org>
56242         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
56243         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
56244         gl_FUNC_FFLUSH.
56245         (gl_FUNC_FFLUSH): Use it.
56246         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
56247         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
56248         gl_REPLACE_FSEEKO here.
56250 2011-05-05  Bruno Haible  <bruno@clisp.org>
56252         tzset: Relicense under LGPL.
56253         * modules/tzset (License): Change to LGPL.
56254         No agreement needed; it's a no-op.
56256         strtoimax, strtoumax: Relicense under LGPL.
56257         * modules/strtoimax (License): Change to LGPL.
56258         * modules/strtoumax (License): Likewise.
56259         With permission from Jim Meyering, Paul Eggert:
56260         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
56261         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
56263         getgroups: Relicense under LGPL.
56264         * modules/getgroups (License): Change to LGPL.
56265         With permission from Jim Meyering, Paul Eggert, Eric Blake:
56266         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56267         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56268         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56270         nanosleep: Relicense under LGPL.
56271         * modules/nanosleep (License): Change to LGPL.
56272         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
56273         Haible:
56274         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
56275         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
56276         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56277         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56279         futimens: Relicense under LGPL.
56280         * modules/futimens (License): Change to LGPL.
56281         With permission from Eric Blake:
56282         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56284         fflush: Relicense under LGPL.
56285         * modules/fflush (License): Change to LGPL.
56286         With permission from Eric Blake, Bruno Haible, Jim Meyering:
56287         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
56288         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
56289         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
56291         tmpfile: Relicense under LGPL.
56292         * modules/tmpfile (License): Change to LGPL.
56293         With permission from Ben Pfaff:
56294         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56296         isfinite: Relicense under LGPL.
56297         * modules/isfinite (License): Change to LGPL.
56298         With permission from Ben Pfaff, Bruno Haible:
56299         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
56300         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
56302         acosl..tanl: Relicense under LGPL.
56303         * modules/acosl (License): Change to LGPL.
56304         * modules/asinl (License): Likewise.
56305         * modules/atanl (License): Likewise.
56306         * modules/cosl (License): Likewise.
56307         * modules/expl (License): Likewise.
56308         * modules/logl (License): Likewise.
56309         * modules/sinl (License): Likewise.
56310         * modules/sqrtl (License): Likewise.
56311         * modules/tanl (License): Likewise.
56312         Source code originally from glibc and Paolo Bonzini. Agreements:
56313         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
56314         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
56316 2011-05-05  Bruno Haible  <bruno@clisp.org>
56318         signal: Define sighandler_t.
56319         * lib/signal.in.h (sighandler_t): New type.
56320         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
56321         whether sighandler_t is defined.
56322         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
56323         * modules/signal (Depends-on): Add extensions.
56324         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
56325         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
56326         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
56328 2011-05-05  Eric Blake  <eblake@redhat.com>
56330         maint: remove useless REPLACE_*_H macros
56331         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
56332         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
56333         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
56334         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
56335         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
56336         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
56337         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
56338         * m4/btowc.m4: Update callers.
56339         * m4/dirfd.m4: Likewise.
56340         * m4/duplocale.m4: Likewise.
56341         * m4/fchdir.m4: Likewise.
56342         * m4/fdopendir.m4: Likewise.
56343         * m4/inet_ntop.m4: Likewise.
56344         * m4/inet_pton.m4: Likewise.
56345         * m4/ioctl.m4: Likewise.
56346         * m4/mbrlen.m4: Likewise.
56347         * m4/mbrtowc.m4: Likewise.
56348         * m4/mbsinit.m4: Likewise.
56349         * m4/mbsnrtowcs.m4: Likewise.
56350         * m4/mbsrtowcs.m4: Likewise.
56351         * m4/poll.m4: Likewise.
56352         * m4/setlocale.m4: Likewise.
56353         * m4/wcrtomb.m4: Likewise.
56354         * m4/wcsnrtombs.m4: Likewise.
56355         * m4/wcsrtombs.m4: Likewise.
56356         * m4/wctob.m4: Likewise.
56357         * m4/wcwidth.m4: Likewise.
56358         * modules/posix_spawn: Likewise.
56359         * modules/posix_spawn_file_actions_addclose: Likewise.
56360         * modules/posix_spawn_file_actions_adddup2: Likewise.
56361         * modules/posix_spawn_file_actions_addopen: Likewise.
56362         * modules/posix_spawn_file_actions_destroy: Likewise.
56363         * modules/posix_spawn_file_actions_init: Likewise.
56364         * modules/posix_spawnattr_destroy: Likewise.
56365         * modules/posix_spawnattr_getflags: Likewise.
56366         * modules/posix_spawnattr_getpgroup: Likewise.
56367         * modules/posix_spawnattr_getschedparam: Likewise.
56368         * modules/posix_spawnattr_getschedpolicy: Likewise.
56369         * modules/posix_spawnattr_getsigdefault: Likewise.
56370         * modules/posix_spawnattr_getsigmask: Likewise.
56371         * modules/posix_spawnattr_init: Likewise.
56372         * modules/posix_spawnattr_setflags: Likewise.
56373         * modules/posix_spawnattr_setpgroup: Likewise.
56374         * modules/posix_spawnattr_setschedparam: Likewise.
56375         * modules/posix_spawnattr_setschedpolicy: Likewise.
56376         * modules/posix_spawnattr_setsigdefault: Likewise.
56377         * modules/posix_spawnattr_setsigmask: Likewise.
56378         * modules/posix_spawnp: Likewise.
56380 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
56382         Add option to do-release-commit-and-tag to specify branch.
56383         * build-aux/do-release-commit-and-tag: Add --branch.
56385 2011-05-03  Bruno Haible  <bruno@clisp.org>
56387         Avoid unnecessary compilation units, through conditional dependencies.
56388         * modules/accept (Depends-on): Add conditions to the dependencies.
56389         * modules/acosl (Depends-on): Likewise.
56390         * modules/argz (Depends-on): Likewise.
56391         * modules/asinl (Depends-on): Likewise.
56392         * modules/atanl (Depends-on): Likewise.
56393         * modules/atoll (Depends-on): Likewise.
56394         * modules/bind (Depends-on): Likewise.
56395         * modules/btowc (Depends-on): Likewise.
56396         * modules/canonicalize-lgpl (Depends-on): Likewise.
56397         * modules/ceil (Depends-on): Likewise.
56398         * modules/ceilf (Depends-on): Likewise.
56399         * modules/ceill (Depends-on): Likewise.
56400         * modules/chdir-long (Depends-on): Likewise.
56401         * modules/chown (Depends-on): Likewise.
56402         * modules/close (Depends-on): Likewise.
56403         * modules/connect (Depends-on): Likewise.
56404         * modules/cosl (Depends-on): Likewise.
56405         * modules/dirfd (Depends-on): Likewise.
56406         * modules/dprintf (Depends-on): Likewise.
56407         * modules/dprintf-posix (Depends-on): Likewise.
56408         * modules/error (Depends-on): Likewise.
56409         * modules/euidaccess (Depends-on): Likewise.
56410         * modules/expl (Depends-on): Likewise.
56411         * modules/faccessat (Depends-on): Likewise.
56412         * modules/fchdir (Depends-on): Likewise.
56413         * modules/fclose (Depends-on): Likewise.
56414         * modules/fcntl (Depends-on): Likewise.
56415         * modules/fdopendir (Depends-on): Likewise.
56416         * modules/fflush (Depends-on): Likewise.
56417         * modules/floor (Depends-on): Likewise.
56418         * modules/floorf (Depends-on): Likewise.
56419         * modules/floorl (Depends-on): Likewise.
56420         * modules/fnmatch (Depends-on): Likewise.
56421         * modules/fopen (Depends-on): Likewise.
56422         * modules/fprintf-posix (Depends-on): Likewise.
56423         * modules/frexp (Depends-on): Likewise.
56424         * modules/frexp-nolibm (Depends-on): Likewise.
56425         * modules/frexpl (Depends-on): Likewise.
56426         * modules/frexpl-nolibm (Depends-on): Likewise.
56427         * modules/fseek (Depends-on): Likewise.
56428         * modules/fsusage (Depends-on): Likewise.
56429         * modules/ftell (Depends-on): Likewise.
56430         * modules/ftello (Depends-on): Likewise.
56431         * modules/futimens (Depends-on): Likewise.
56432         * modules/getcwd (Depends-on): Likewise.
56433         * modules/getcwd-lgpl (Depends-on): Likewise.
56434         * modules/getdelim (Depends-on): Likewise.
56435         * modules/getdomainname (Depends-on): Likewise.
56436         * modules/getgroups (Depends-on): Likewise.
56437         * modules/gethostname (Depends-on): Likewise.
56438         * modules/getline (Depends-on): Likewise.
56439         * modules/getlogin_r (Depends-on): Likewise.
56440         * modules/getopt-posix (Depends-on): Likewise.
56441         * modules/getpeername (Depends-on): Likewise.
56442         * modules/getsockname (Depends-on): Likewise.
56443         * modules/getsockopt (Depends-on): Likewise.
56444         * modules/getsubopt (Depends-on): Likewise.
56445         * modules/getusershell (Depends-on): Likewise.
56446         * modules/glob (Depends-on): Likewise.
56447         * modules/grantpt (Depends-on): Likewise.
56448         * modules/iconv_open (Depends-on): Likewise.
56449         * modules/iconv_open-utf (Depends-on): Likewise.
56450         * modules/inet_ntop (Depends-on): Likewise.
56451         * modules/inet_pton (Depends-on): Likewise.
56452         * modules/ioctl (Depends-on): Likewise.
56453         * modules/isapipe (Depends-on): Likewise.
56454         * modules/isfinite (Depends-on): Likewise.
56455         * modules/isinf (Depends-on): Likewise.
56456         * modules/lchown (Depends-on): Likewise.
56457         * modules/ldexpl (Depends-on): Likewise.
56458         * modules/link (Depends-on): Likewise.
56459         * modules/linkat (Depends-on): Likewise.
56460         * modules/listen (Depends-on): Likewise.
56461         * modules/logl (Depends-on): Likewise.
56462         * modules/lstat (Depends-on): Likewise.
56463         * modules/mbrlen (Depends-on): Likewise.
56464         * modules/mbrtowc (Depends-on): Likewise.
56465         * modules/mbsinit (Depends-on): Likewise.
56466         * modules/mbsnrtowcs (Depends-on): Likewise.
56467         * modules/mbsrtowcs (Depends-on): Likewise.
56468         * modules/mbtowc (Depends-on): Likewise.
56469         * modules/memcmp (Depends-on): Likewise.
56470         * modules/mkdir (Depends-on): Likewise.
56471         * modules/mkdtemp (Depends-on): Likewise.
56472         * modules/mkfifo (Depends-on): Likewise.
56473         * modules/mkfifoat (Depends-on): Likewise.
56474         * modules/mknod (Depends-on): Likewise.
56475         * modules/mkostemp (Depends-on): Likewise.
56476         * modules/mkostemps (Depends-on): Likewise.
56477         * modules/mkstemp (Depends-on): Likewise.
56478         * modules/mkstemps (Depends-on): Likewise.
56479         * modules/mktime (Depends-on): Likewise.
56480         * modules/nanosleep (Depends-on): Likewise.
56481         * modules/open (Depends-on): Likewise.
56482         * modules/openat (Depends-on): Likewise.
56483         * modules/perror (Depends-on): Likewise.
56484         * modules/poll (Depends-on): Likewise.
56485         * modules/popen (Depends-on): Likewise.
56486         * modules/posix_spawn (Depends-on): Likewise.
56487         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
56488         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56489         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56490         * modules/posix_spawnp (Depends-on): Likewise.
56491         * modules/pread (Depends-on): Likewise.
56492         * modules/printf-posix (Depends-on): Likewise.
56493         * modules/ptsname (Depends-on): Likewise.
56494         * modules/putenv (Depends-on): Likewise.
56495         * modules/pwrite (Depends-on): Likewise.
56496         * modules/readline (Depends-on): Likewise.
56497         * modules/readlink (Depends-on): Likewise.
56498         * modules/readlinkat (Depends-on): Likewise.
56499         * modules/recv (Depends-on): Likewise.
56500         * modules/recvfrom (Depends-on): Likewise.
56501         * modules/regex (Depends-on): Likewise.
56502         * modules/remove (Depends-on): Likewise.
56503         * modules/rename (Depends-on): Likewise.
56504         * modules/renameat (Depends-on): Likewise.
56505         * modules/rmdir (Depends-on): Likewise.
56506         * modules/round (Depends-on): Likewise.
56507         * modules/roundf (Depends-on): Likewise.
56508         * modules/roundl (Depends-on): Likewise.
56509         * modules/rpmatch (Depends-on): Likewise.
56510         * modules/select (Depends-on): Likewise.
56511         * modules/send (Depends-on): Likewise.
56512         * modules/sendto (Depends-on): Likewise.
56513         * modules/setenv (Depends-on): Likewise.
56514         * modules/setlocale (Depends-on): Likewise.
56515         * modules/setsockopt (Depends-on): Likewise.
56516         * modules/shutdown (Depends-on): Likewise.
56517         * modules/sigaction (Depends-on): Likewise.
56518         * modules/signbit (Depends-on): Likewise.
56519         * modules/sigprocmask (Depends-on): Likewise.
56520         * modules/sinl (Depends-on): Likewise.
56521         * modules/sleep (Depends-on): Likewise.
56522         * modules/snprintf (Depends-on): Likewise.
56523         * modules/snprintf-posix (Depends-on): Likewise.
56524         * modules/socket (Depends-on): Likewise.
56525         * modules/sprintf-posix (Depends-on): Likewise.
56526         * modules/sqrtl (Depends-on): Likewise.
56527         * modules/stat (Depends-on): Likewise.
56528         * modules/strchrnul (Depends-on): Likewise.
56529         * modules/strdup-posix (Depends-on): Likewise.
56530         * modules/strerror (Depends-on): Likewise.
56531         * modules/strerror_r-posix (Depends-on): Likewise.
56532         * modules/strndup (Depends-on): Likewise.
56533         * modules/strnlen (Depends-on): Likewise.
56534         * modules/strptime (Depends-on): Likewise.
56535         * modules/strsep (Depends-on): Likewise.
56536         * modules/strsignal (Depends-on): Likewise.
56537         * modules/strstr-simple (Depends-on): Likewise.
56538         * modules/strtod (Depends-on): Likewise.
56539         * modules/strtoimax (Depends-on): Likewise.
56540         * modules/strtok_r (Depends-on): Likewise.
56541         * modules/strtoumax (Depends-on): Likewise.
56542         * modules/symlink (Depends-on): Likewise.
56543         * modules/symlinkat (Depends-on): Likewise.
56544         * modules/tanl (Depends-on): Likewise.
56545         * modules/tcgetsid (Depends-on): Likewise.
56546         * modules/tmpfile (Depends-on): Likewise.
56547         * modules/trunc (Depends-on): Likewise.
56548         * modules/truncf (Depends-on): Likewise.
56549         * modules/truncl (Depends-on): Likewise.
56550         * modules/uname (Depends-on): Likewise.
56551         * modules/unlink (Depends-on): Likewise.
56552         * modules/unlockpt (Depends-on): Likewise.
56553         * modules/unsetenv (Depends-on): Likewise.
56554         * modules/usleep (Depends-on): Likewise.
56555         * modules/utimensat (Depends-on): Likewise.
56556         * modules/vasprintf (Depends-on): Likewise.
56557         * modules/vdprintf (Depends-on): Likewise.
56558         * modules/vdprintf-posix (Depends-on): Likewise.
56559         * modules/vfprintf-posix (Depends-on): Likewise.
56560         * modules/vprintf-posix (Depends-on): Likewise.
56561         * modules/vsnprintf (Depends-on): Likewise.
56562         * modules/vsnprintf-posix (Depends-on): Likewise.
56563         * modules/vsprintf-posix (Depends-on): Likewise.
56564         * modules/wcrtomb (Depends-on): Likewise.
56565         * modules/wcscasecmp (Depends-on): Likewise.
56566         * modules/wcscspn (Depends-on): Likewise.
56567         * modules/wcsdup (Depends-on): Likewise.
56568         * modules/wcsncasecmp (Depends-on): Likewise.
56569         * modules/wcsnrtombs (Depends-on): Likewise.
56570         * modules/wcspbrk (Depends-on): Likewise.
56571         * modules/wcsrtombs (Depends-on): Likewise.
56572         * modules/wcsspn (Depends-on): Likewise.
56573         * modules/wcsstr (Depends-on): Likewise.
56574         * modules/wcstok (Depends-on): Likewise.
56575         * modules/wcswidth (Depends-on): Likewise.
56576         * modules/wctob (Depends-on): Likewise.
56577         * modules/wctomb (Depends-on): Likewise.
56578         * modules/wctype (Depends-on): Likewise.
56579         * modules/wcwidth (Depends-on): Likewise.
56580         * modules/write (Depends-on): Likewise.
56582 2011-05-03  Bruno Haible  <bruno@clisp.org>
56584         Support for conditional dependencies.
56585         * doc/gnulib.texi (Module description): Document the syntax of
56586         conditional dependencies.
56587         * gnulib-tool: New option --conditional-dependencies.
56588         (func_usage): Document it.
56589         (cond_dependencies): New variable.
56590         (func_get_automake_snippet_conditional,
56591         func_get_automake_snippet_unconditional): New functions, extracted from
56592         func_get_automake_snippet.
56593         (func_get_automake_snippet): Use them.
56594         (sed_first_32_chars): New variable.
56595         (func_module_shellfunc_name): New function.
56596         (func_module_shellvar_name): New function.
56597         (func_module_conditional_name): New function.
56598         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
56599         func_cond_module_condition): New functions.
56600         (func_modules_transitive_closure): Add support for conditional
56601         dependencies.
56602         (func_emit_lib_Makefile_am): For a conditional module, enclose the
56603         conditional automake snippet in an automake conditional.
56604         (func_emit_autoconf_snippets): Emit shell functions that contain the
56605         code for conditional modules.
56606         (func_import, func_create_testdir): Update specification.
56608 2011-05-03  Eric Blake  <eblake@redhat.com>
56610         test-getaddrinfo: report error information
56611         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
56613 2011-05-03  Jim Meyering  <meyering@redhat.com>
56615         bootstrap: avoid build failure when $GZIP is set
56616         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
56617         program name.  If defined at all, it is supposed to list gzip options.
56618         Reported by Alan Curry in http://debbugs.gnu.org/8609
56620 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
56622         readme-release: new module with release instructions
56623         * modules/readme-release: New module.
56624         * top/README-release: New file, from coreutils, grep, diffutils.
56625         * MODULES.html.sh (Support for maintaining and releasing): Add it.
56627 2011-05-02  Eric Blake  <eblake@redhat.com>
56629         fflush: also replace fclose when fixing fflush
56630         * modules/fflush (Depends-on): Add fclose.
56631         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
56632         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
56633         memstreams with no backing fd.
56634         * doc/posix-functions/fclose.texi (fclose): Document the use of
56635         fflush module to fix the bug.
56636         * tests/test-fclose.c (main): Relax test when fclose is used in
56637         isolation.
56639         fclose: add some tests
56640         * modules/fclose-tests: New test module.
56641         * tests/test-fclose.c: New file.
56642         * doc/posix-functions/fclose.texi (fclose): Document the bug.
56644         fclose: reduced dependencies
56645         * modules/fclose (Depends-on): Switch from fflush/fseeko to
56646         simpler lseek.
56647         * lib/fclose.c (rpl_fclose): Likewise.
56648         Reported by Simon Josefsson.
56650         exit: drop remaining clients
56651         * modules/argmatch (Depends-on): Replace exit with stdlib.
56652         * modules/copy-file (Depends-on): Likewise.
56653         * modules/execute (Depends-on): Likewise.
56654         * modules/exitfail (Depends-on): Likewise.
56655         * modules/obstack (Depends-on): Likewise.
56656         * modules/pagealign_alloc (Depends-on): Likewise.
56657         * modules/pipe-filter-gi (Depends-on): Likewise.
56658         * modules/pipe-filter-ii (Depends-on): Likewise.
56659         * modules/savewd (Depends-on): Likewise.
56660         * modules/spawn-pipe (Depends-on): Likewise.
56661         * modules/wait-process (Depends-on): Likewise.
56662         * modules/xsetenv (Depends-on): Likewise.
56663         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
56664         * modules/git-merge-changelog (Depends-on): Likewise.
56665         * modules/long-options (Depends-on): Likewise.
56666         * modules/pt_chown (Depends-on): Likewise.
56667         * modules/sysexits (Depends-on): Likewise.
56669         freading: relax license from LGPLv3+ to LGPLv2+
56670         * modules/freading (License): Relax LGPL version.
56672 2011-05-02  Bruno Haible  <bruno@clisp.org>
56674         fchdir: Remove unused dependencies.
56675         * modules/fchdir (Depends-on): Remove include_next.
56677 2011-05-02  Bruno Haible  <bruno@clisp.org>
56679         gnulib-tool: Refactor.
56680         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
56681         from func_emit_autoconf_snippets.
56682         (func_emit_autoconf_snippets): Use it.
56684 2011-05-02  Simon Josefsson  <simon@josefsson.org>
56686         * NEWS: Document removal of 'exit'.
56687         * modules/exit: Remove file.
56689 2011-05-01  Bruno Haible  <bruno@clisp.org>
56691         Update DEPENDENCIES.
56692         * DEPENDENCIES (gettext): Recommend the newest release.
56693         Reported by Simon Josefsson.
56695 2011-05-01  Bruno Haible  <bruno@clisp.org>
56697         gnulib-tool: Reduce code duplication.
56698         * gnulib-tool (func_emit_autoconf_snippets): New function.
56699         (func_import, func_create_testdir): Use it.
56701 2011-04-30  Eric Blake  <eblake@redhat.com>
56703         fclose: don't fail on non-seekable input stream
56704         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
56705         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
56706         since fflush is allowed to fail in that case.
56708 2011-04-30  Bruno Haible  <bruno@clisp.org>
56710         dup3: cleanup
56711         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
56713 2011-04-30  Bruno Haible  <bruno@clisp.org>
56715         netdb: Make it work in C++ mode.
56716         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
56717         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
56718         module.
56719         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
56720         gl_MODULE_INDICATOR_FOR_TESTS.
56721         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
56722         * modules/netdb-c++-tests: New file.
56723         * tests/test-netdb-c++.cc: New file.
56725 2011-04-30  Bruno Haible  <bruno@clisp.org>
56727         New modules 'vfscanf', 'vscanf'.
56728         * modules/vfscanf: New file.
56729         * modules/vscanf: New file.
56730         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
56731         here.
56732         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
56733         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
56735 2011-04-30  Bruno Haible  <bruno@clisp.org>
56737         passfd: Add comments.
56738         * lib/passfd.c: Add comments about platforms.
56740 2011-04-30  Bruno Haible  <bruno@clisp.org>
56742         sys_uio: Make <sys/uio.h> self-contained.
56743         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
56744         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
56746 2011-04-30  Bruno Haible  <bruno@clisp.org>
56748         sys_socket: Ensure 'struct iovec' definition.
56749         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
56750         <sys/socket.h>.
56751         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
56753 2011-04-30  Bruno Haible  <bruno@clisp.org>
56755         sys_uio: Protect definition of 'struct iovec'.
56756         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
56757         it as a C struct.
56759 2011-04-30  Bruno Haible  <bruno@clisp.org>
56761         manywarnings: fix indentation
56762         * m4/manywarnings.m4: Indent by 2 spaces consistently.
56764 2011-04-30  Pádraig Brady  <P@draigBrady.com>
56766         manywarnings: add -Wno-missing-field-initializers if needed.
56767         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
56768         option if it's needed to allow initialization with { 0, }
56770 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
56772         announce-gen: cosmetic improvement
56773         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
56775 2011-04-29  Jim Meyering  <meyering@redhat.com>
56777         vc-list-files: indent with spaces, not TABs
56778         * build-aux/vc-list-files: Convert leading TABs to spaces,
56779         to match the style of most other files in gnulib.
56781         announce-gen: indent with spaces, not TABs
56782         * build-aux/announce-gen: Convert all TABs to spaces, to match
56783         the style of most other files in gnulib.
56785 2011-04-29  Eric Blake  <eblake@redhat.com>
56787         quotearg: avoid uninitialized variable use
56788         * lib/quotearg.c (quoting_options_from_style): Initialize
56789         remaining fields, and ensure that custom styles are only used via
56790         quoting_options rather than quoting_style.
56792 2011-04-29  Jim Meyering  <meyering@redhat.com>
56794         maint.mk: remove unused VC-tag variable
56795         * top/maint.mk (VC-tag): Remove unused variable.
56797 2011-04-29  Bruno Haible  <bruno@clisp.org>
56799         netdb: fix gai_strerror replacements
56800         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
56801         * modules/netdb: Substitute it.
56803 2011-04-29  Jim Meyering  <meyering@redhat.com>
56805         test-getcwd.c: avoid new set-but-not-used warning
56806         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
56807         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
56808         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
56809         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
56811         test-hash.c: avoid a new shadowing warning
56812         * tests/test-hash.c (main): Don't shadow "dup".
56814 2011-04-28  Eric Blake  <eblake@redhat.com>
56816         getaddrinfo: fix gai_strerror signature
56817         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
56818         and work around mingw with UNICODE defined.
56819         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
56820         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
56821         * modules/netdb (Makefile.am): Substitute it.
56822         * lib/netdb.in.h (gai_strerror): Declare replacement.
56823         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
56824         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
56825         the fix.
56827         getsockopt: avoid compiler warning
56828         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
56829         Reported by Matthias Bolte.
56831         tests: drop unused link dependency
56832         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
56833         * modules/dirent-safer-tests (Makefile.am): Likewise.
56834         * modules/fdopendir-tests (Makefile.am): Likewise.
56835         * modules/mkfifoat-tests (Makefile.am): Likewise.
56836         * modules/openat-safer-tests (Makefile.am): Likewise.
56837         * modules/openat-tests (Makefile.am): Likewise.
56838         * modules/readlinkat-tests (Makefile.am): Likewise.
56839         * modules/symlinkat-tests (Makefile.am): Likewise.
56840         * modules/linkat-tests (Makefile.am): Likewise.
56841         (Depends-on): Switch to filenamecat-lgpl.
56842         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
56843         LIBINTL.
56844         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
56845         * tests/test-linkat.c (main): Don't require xalloc.
56847         hash, mgetgroups: drop xalloc dependency
56848         * lib/hash.c (includes): Adjust includes.
56849         * lib/mgetgroups.c (includes): Likewise.
56850         (xgetgroups): Move...
56851         * lib/xgetgroups.c: ...to new file.
56852         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
56853         * modules/xgetgroups: New file, split from...
56854         * modules/mgetgroups: ...here.
56855         (Depends-on): Add xalloc-oversized.
56856         * modules/hash (Depends-on): Likewise.
56857         * modules/hash-tests (Depends-on): Drop xalloc.
56858         (test_hash_LDADD): Drop unused library.
56859         * tests/test-hash.c (main): Break xalloc dependency.
56860         (includes): Drop unused include.
56862         xalloc-oversized: new module
56863         * modules/xalloc-oversized: New module.
56864         * modules/xalloc (Depends-on): Add it.
56865         * lib/xalloc.h (xalloc_oversized): Move...
56866         * lib/xalloc-oversized.h: ...into new file.
56868         utimecmp: drop dependency on xmalloc
56869         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
56870         due to memory pressure.
56871         * modules/utimecmp (Depends-on): Drop xalloc.
56873 2011-04-27  Eric Blake  <eblake@redhat.com>
56875         getcwd: fix mingw bugs
56876         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
56877         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
56878         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
56880 2011-04-27  Bruno Haible  <bruno@clisp.org>
56882         mkstemps: Ensure declaration on MacOS X 10.5.
56883         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
56884         * doc/glibc-functions/mkstemps.texi: Document header file problem on
56885         MacOS X.
56887 2011-04-27  Bruno Haible  <bruno@clisp.org>
56889         mkstemp: More documentation.
56890         * doc/posix-functions/mkstemp.texi: Document header file problem on
56891         MacOS X.
56893 2011-04-27  Bruno Haible  <bruno@clisp.org>
56895         mkstemp: Tweak configure message when cross-compiling.
56896         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
56897         result as a guess.
56899 2011-04-27  Bruno Haible  <bruno@clisp.org>
56901         clean-temp: Clarify what it does.
56902         * lib/clean-temp.h: Add more comments.
56903         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
56904         module.
56905         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
56906         * doc/glibc-functions/mkstemps.texi: Likewise.
56907         * doc/glibc-functions/mkostemps.texi: Likewise.
56909 2011-04-27  Eric Blake  <eblake@redhat.com>
56911         fchdir: avoid extra chdir and fix test
56912         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
56913         getcwd-lgpl.
56914         * lib/fchdir.c (get_name): Any absolute name will do; it does not
56915         have to be canonical.
56916         (canonicalize_file_name): Drop unused macro.
56917         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
56919         filenamecat-lgpl: fix licence
56920         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
56921         when it was first created.
56923         linkat, renameat: add missing dependency
56924         * modules/linkat (Depends-on): Require getcwd-lgpl.
56925         * modules/renameat (Depends-on): Likewise.
56927         tests: reduce dependencies
56928         * tests/test-linkat.c (main): Use lighter-weight getcwd.
56929         * tests/test-renameat.c (main): Likewise.
56930         * modules/linkat-tests (Depends-on): Relax dependency.
56931         * modules/renameat-tests (Depends-on): Likewise.
56932         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
56933         dependency explicit.
56935         save-cwd: reduce default dependency
56936         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
56937         * lib/save-cwd.c: Update comments.
56938         * NEWS: Document the semantic change.
56940         getcwd: enhance tests
56941         * tests/test-getcwd-lgpl.c: New file, taken from...
56942         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
56943         repeat long path stress tests from m4 probe.
56944         * modules/getcwd-lgpl-tests: New module.
56945         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
56946         * m4/getcwd-abort-bug.m4: Update comment.
56947         * m4/getcwd-path-max.m4: Likewise.
56949         getcwd-lgpl: new module
56950         * modules/getcwd-lgpl: New module.
56951         * lib/getcwd-lgpl.c: New file.
56952         * doc/posix-functions/getcwd.texi (getcwd): Document it.
56953         * MODULES.html.sh (lacking POSIX:2008): Likewise.
56954         * modules/getcwd (configure.ac): Set C witness.
56955         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
56957         getcwd: tweak comments
56958         * m4/getcwd-abort-bug.m4: Fix comments.
56959         * m4/getcwd-path-max.m4: Likewise.
56960         * m4/getcwd.m4: Likewise.
56962 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56963         and Eric Blake  <eblake@redhat.com>
56965         mkstemp: replace if system version uses wrong permissions
56966         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
56967         read/write mode bits set in file created by mkstemp.
56968         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
56970 2011-04-27  Eric Blake  <eblake@redhat.com>
56972         passfd: avoid compiler warning
56973         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
56974         Reported by Laine Stump.
56976 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
56978         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
56979         required by the NetBSD (and perhaps other 4.4BSD derived) join.
56981 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56982         and Eric Blake  <eblake@redhat.com>
56984         mkstemp: mention clean-temp module
56985         * lib/mkstemp.c: Add comment.
56986         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
56988 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
56990         inttypes: also provide default values for 32-bit tests
56991         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
56992         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
56994 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56996         strtoumax: remove dependency on strtoimax
56997         This is like the strtoull change of yesterday.
56998         * modules/strtoumax (Files): Add lib/strtoimax.c.
56999         (Depends-on): Remove strtoimax and add verify.
57001         inttypes-incomplete: new module
57002         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
57003         all but the PRI* and SCN* parts of gl_INTTYPES_H.
57004         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
57005         of gl_INTTYPES_H.
57006         (gl_INTTYPES_H): Rewrite in terms of these new macros.
57007         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
57008         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
57009         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
57010         * modules/strtoumax, modules/xstrtol (Depends-on):
57011         Depend on inttypes-incomplete, not inttypes.
57012         * modules/inttypes-incomplete: New module, containing the contents
57013         of the old modules/inttypes module, except that the Files: section
57014         omits m4/inttypes-pri.m4, and the configure.ac section invokes
57015         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
57016         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
57017         (Depends-on): Depend only on inttypes-incomplete.
57018         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
57020         inttypes: omit now-redundant strtoimax and strtoumax work
57021         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
57022         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
57024         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
57025         This supports apps that need pointers to strtoimax and strtoumax,
57026         and ports to HP-UX 11.00 64.bit, which has macros that expand to
57027         nonexistent functions.  See
57028         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
57029         et seq.
57030         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
57031         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
57032         a macro.
57033         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57035 2011-04-25  Simon Josefsson  <simon@josefsson.org>
57037         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
57039 2011-04-25  Bruno Haible  <bruno@clisp.org>
57041         strtol, strtoul: Mark modules as obsolete.
57042         * modules/strtol (Status, Notice): New sections.
57043         * modules/strtoul (Status, Notice): New sections.
57045 2011-04-25  Bruno Haible  <bruno@clisp.org>
57047         strtod: Remove check for strtod, unless supporting old platforms.
57048         * modules/strtod-obsolete: New file.
57049         * m4/strtod-obsolete.m4: New file.
57050         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
57051         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
57052         * modules/strtod (Depends-on): Add strtod-obsolete.
57053         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
57055 2011-04-25  Bruno Haible  <bruno@clisp.org>
57057         strcase: Make module obsolete.
57058         * modules/strcase (Status, Notice): New sections.
57060 2011-04-25  Bruno Haible  <bruno@clisp.org>
57062         dup2: Remove check for dup2, unless supporting old obsolete platforms.
57063         * modules/dup2-obsolete: New file.
57064         * m4/dup2-obsolete.m4: New file.
57065         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
57066         gl_FUNC_DUP2_OBSOLETE is not also defined.
57067         * modules/dup2 (Depends-on): Add dup2-obsolete.
57068         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
57070 2011-04-25  Bruno Haible  <bruno@clisp.org>
57072         strnlen: Avoid memchr related link error on old obsolete platforms.
57073         * modules/memchr-obsolete: New file.
57074         * m4/memchr-obsolete.m4: New file.
57075         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
57076         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
57077         * modules/memchr (Depends-on): Add memchr-obsolete.
57078         * modules/strnlen (Depends-on): Likewise.
57079         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
57081 2011-04-25  Jim Meyering  <meyering@redhat.com>
57083         maint.mk: makefile_at_at_check extend and clean up
57084         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
57085         in addition to */Makefile.am.
57086         Exempt legitimate uses of @VAR@ notation, e.g.,
57087         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
57088         Remove obsolete coreutils-specific comment.
57089         Prompted by discussion here:
57090         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
57092 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57094         strtoul: remove dependency on strtol
57095         This is so that 'configure' need not check for strtol merely because
57096         the application needs strtoul.
57097         * modules/strtoul (Files): Add lib/strtol.c.
57098         (Depends-on): Remove strtol.
57100         strtoull: remove dependency on strtoul
57101         This is like the strtoll change.
57102         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
57103         (Depends-on): Remove strtoul.
57105         strtoll: remove dependency on strtol
57106         This is so that 'configure' need not check for strtol merely because
57107         the application needs strtoll.
57108         * modules/strtoll (Files): Add lib/strtol.c.
57109         (Depends-on): Remove strtol.
57111 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57113         inttypes: Move some configure check to module 'imaxdiv'.
57114         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
57115         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
57116         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
57118 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57120         inttypes: Move some configure check to module 'imaxabs'.
57121         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
57122         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
57123         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
57125 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57127         inttypes: Remove configure tests that are not needed since 2009-12-31.
57128         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
57129         gl_cv_header_working_inttypes_h.
57131 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
57133         * modules/strnlen (Depends-on): Remove memchr.
57134         The strnlen implementation doesn't need the memchr module's fixes; see
57135         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
57137         strtol: remove dependency on wchar
57138         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
57139         * modules/strtol (Depends-on): Remove wchar.
57141 2011-04-21  Eric Blake  <eblake@redhat.com>
57143         passfd: fix test regression on Linux
57144         * modules/passfd-tests (configure.ac): Correct socketpair check.
57146         passfd: speed up configure and drop unused code
57147         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
57148         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
57149         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
57150         Instead of probing at configure for unix_scm_rights_bsd44_way,
57151         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
57152         check to a struct member probe.
57153         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
57154         (sendfd, recvfd): Update preprocessor checks.
57155         * modules/passfd (Files): Reflect rename, and drop unused file.
57156         (Depends-on): Drop unused dependency.
57158         passfd: allow compilation on mingw
57159         * modules/sys_socket (Depends-on): Add sys_uio.
57160         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
57161         iovec and a minimal struct msghdr.
57162         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
57163         * tests/test-sys_socket.c (main): Enhance test.
57164         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
57165         guaranteed to provide what we need.
57166         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
57167         * modules/passfd-tests (Depends-on): Add sys_wait.
57168         * tests/test-passfd.c (main): Skip test on mingw, for now.
57169         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
57170         partial 'struct msghdr' implementation.
57172         sys_uio: new module
57173         * modules/sys_uio: New module.
57174         * modules/sys_uio-tests: Likewise.
57175         * lib/sys_uio.in.h: New file.
57176         * m4/sys_uio_h.m4: Likewise.
57177         * tests/test-sys_uio.c: Likewise.
57178         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
57179         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
57181 2011-04-20  Jim Meyering  <meyering@redhat.com>
57183         useless-if-before-free: avoid false-positive
57184         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
57185         disjunct so that it too requires a terminating ";".  Without that,
57186         this script would identify as useless one statement from gcc that
57187         was not:
57188           if (aligned_ptr)
57189             free (((void **) aligned_ptr) [-1]);
57191 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
57193         doc: update users.txt.
57194         * users.txt: Add barcode.
57196 2011-04-19  Bruno Haible  <bruno@clisp.org>
57198         ioctl: Remove link dependency on native Windows.
57199         * lib/fd-hook.h: Renamed from lib/close-hook.h.
57200         (gl_close_fn, gl_ioctl_fn): New types.
57201         (struct fd_hook): Renamed from struct close_hook. Change type of
57202         private_close_fn field. Add private_ioctl_fn field.
57203         (close_hook_fn): Add parameter for primary close method.
57204         (execute_close_hooks, execute_all_close_hooks): Likewise.
57205         (ioctl_hook_fn): New type.
57206         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
57207         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57208         argument.
57209         (unregister_fd_hook): Renamed from unregister_close_hook.
57210         * lib/fd-hook.c: Renamed from lib/close-hook.c.
57211         Don't include <unistd.h>.
57212         (close): Remove undef.
57213         (anchor): Update.
57214         (execute_close_hooks): Add argument for primary close method.
57215         (execute_all_close_hooks): Likewise.
57216         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
57217         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
57218         argument. Allow each argument to be NULL.
57219         (unregister_fd_hook): Renamed from unregister_close_hook.
57220         * lib/close.c (rpl_close): Pass 'close' function pointer to
57221         execute_all_close_hooks.
57222         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
57223         (primary_ioctl): New function.
57224         (ioctl): Don't call ioctlsocket here. Instead, call
57225         execute_all_ioctl_hooks.
57226         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
57227         close method.
57228         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
57229         (fd_sockets_hook): Renamed from close_sockets_hook.
57230         (gl_sockets_startup, gl_sockets_cleanup): Update.
57231         * modules/fd-hook: Renamed from modules/close-hook. Update.
57232         * modules/close (Depends-on): Add fd-hook, remove close-hook.
57233         * modules/sockets (Depends-on): Likewise.
57234         * modules/ioctl (Depends-on): Add fd-hook.
57235         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
57236         GNULIB_SOCKET.
57238 2011-04-19  Bruno Haible  <bruno@clisp.org>
57240         Move the support of O_NONBLOCK in open() to the 'open' module.
57241         * modules/nonblocking (Depends-on): Remove 'open'.
57242         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
57243         gl_cv_have_open_O_NONBLOCK.
57244         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
57245         O_NONBLOCK support.
57246         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
57248 2011-04-17  Bruno Haible  <bruno@clisp.org>
57250         pipe2: Simplify code.
57251         * lib/pipe2.c (pipe2): Reduce code duplication.
57253 2011-04-17  Bruno Haible  <bruno@clisp.org>
57255         nonblocking: Add comment.
57256         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
57258 2011-04-17  Bruno Haible  <bruno@clisp.org>
57260         nonblocking: Add tests for sockets.
57261         * tests/test-nonblocking-socket.sh: New file.
57262         * tests/test-nonblocking-socket-main.c: New file.
57263         * tests/test-nonblocking-socket-child.c: New file.
57264         * tests/test-nonblocking-socket.h: New file.
57265         * tests/socket-server.h: New file.
57266         * tests/socket-client.h: New file.
57267         * modules/nonblocking-socket-tests: New file.
57268         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
57270 2011-04-17  Bruno Haible  <bruno@clisp.org>
57272         nonblocking: Add tests for pipes.
57273         * tests/test-nonblocking-pipe.sh: New file.
57274         * tests/test-nonblocking-pipe-main.c: New file.
57275         * tests/test-nonblocking-pipe-child.c: New file.
57276         * tests/test-nonblocking-pipe.h: New file.
57277         * tests/test-nonblocking-writer.h: New file.
57278         * tests/test-nonblocking-reader.h: New file.
57279         * tests/test-nonblocking-misc.h: New file.
57280         * modules/nonblocking-pipe-tests: New file.
57281         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
57283 2011-04-16  Bruno Haible  <bruno@clisp.org>
57285         gettext: Clarify the needed programmer actions.
57286         * modules/gettext (Notice): New field.
57287         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57289 2011-04-16  Bruno Haible  <bruno@clisp.org>
57291         strchrnul: Tweak last commit.
57292         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
57293         bug.
57294         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
57295         as in _GL_FUNCDECL_SYS.
57296         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
57297         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
57299 2011-04-15  Eric Blake  <eblake@redhat.com>
57301         strchrnul: work around cygwin bug
57302         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
57303         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
57304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
57305         * modules/string (Makefile.am): Substitute it.
57306         * lib/string.in.h (strchrnul): Use it.
57308 2011-04-15  Bruno Haible  <bruno@clisp.org>
57310         Don't require lib/stdio-write.c when only module 'stdio' is used.
57311         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
57312         invocation.
57313         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
57315 2011-04-14  Bruno Haible  <bruno@clisp.org>
57317         Support non-blocking pipe I/O in read() on native Windows.
57318         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
57319         (read): New declaration.
57320         * lib/read.c: New file.
57321         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
57322         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
57323         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
57324         vscanf): New declarations.
57325         * lib/stdio-read.c: New file.
57326         * m4/read.m4: New file.
57327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
57328         REPLACE_READ.
57329         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
57330         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57331         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
57332         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
57333         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
57334         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57335         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57336         * modules/read: New file.
57337         * modules/nonblocking (Files): Add lib/stdio-read.c.
57338         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
57339         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
57340         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
57341         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
57342         * modules/pread (Depends-on): Add read.
57343         * modules/safe-read (Depends-on): Likewise.
57344         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
57345         gets, scanf, vfscanf, vscanf): Verify signatures.
57346         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
57347         problem with non-blocking pipes.
57348         * doc/posix-functions/fgetc.texi: Likewise.
57349         * doc/posix-functions/fgets.texi: Likewise.
57350         * doc/posix-functions/fread.texi: Likewise.
57351         * doc/posix-functions/fscanf.texi: Likewise.
57352         * doc/posix-functions/getc.texi: Likewise.
57353         * doc/posix-functions/getchar.texi: Likewise.
57354         * doc/posix-functions/gets.texi: Likewise.
57355         * doc/posix-functions/scanf.texi: Likewise.
57356         * doc/posix-functions/vfscanf.texi: Likewise.
57357         * doc/posix-functions/vscanf.texi: Likewise.
57359 2011-04-14  Bruno Haible  <bruno@clisp.org>
57361         Support non-blocking pipe I/O in write() on native Windows.
57362         * lib/write.c (rpl_write): Split a write request that failed merely
57363         because the byte count was larger than the pipe buffer's size.
57364         * doc/posix-functions/write.texi: Mention the problem with large byte
57365         counts.
57367 2011-04-14  Bruno Haible  <bruno@clisp.org>
57369         wchar: Ensure that wchar_t gets defined on uClibc.
57370         * lib/wchar.in.h: On uClibc, include <stddef.h>.
57371         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
57373 2011-04-13  Bruno Haible  <bruno@clisp.org>
57375         safe-write, full-read: Avoid unnecessary compilation units.
57376         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
57377         (Depends-on): Remove safe-read. Add ssize_t.
57378         * modules/full-read (Files): Add lib/full-write.c.
57379         (Depends-on): Add full-write.
57381 2011-04-13  Bruno Haible  <bruno@clisp.org>
57383         Support non-blocking pipe I/O and SIGPIPE in pwrite().
57384         * modules/pwrite (Depends-on): Add 'write'.
57386 2011-04-13  Bruno Haible  <bruno@clisp.org>
57388         Support non-blocking pipe I/O in write() on native Windows.
57389         * lib/unistd.in.h (write): Enable replacement also if
57390         GNULIB_UNISTD_H_NONBLOCKING is 1.
57391         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
57392         (rpl_write): When failing to write on a non-blocking pipe, change
57393         errno from ENOSPC to EAGAIN.
57394         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
57395         putchar, puts, vfprintf, vprintf): Enable replacement also if
57396         GNULIB_STDIO_H_NONBLOCKING is 1.
57397         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
57398         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
57399         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
57400         CALL_WITH_SIGPIPE_EMULATION.
57401         (CALL_WITH_SIGPIPE_EMULATION): Use them.
57402         * m4/nonblocking.m4: New file.
57403         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
57404         for non-blocking I/O support.
57405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57406         GNULIB_UNISTD_H_NONBLOCKING.
57407         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
57408         required for non-blocking I/O support.
57409         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
57410         * modules/nonblocking (Files): Add m4/nonblocking.m4,
57411         lib/stdio-write.c, m4/asm-underscore.m4.
57412         (Depends-on): Add stdio, unistd.
57413         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
57414         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
57415         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
57416         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
57417         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
57418         problem with non-blocking pipes.
57419         * doc/posix-functions/fputc.texi: Likewise.
57420         * doc/posix-functions/fputs.texi: Likewise.
57421         * doc/posix-functions/fwrite.texi: Likewise.
57422         * doc/posix-functions/printf.texi: Likewise.
57423         * doc/posix-functions/putc.texi: Likewise.
57424         * doc/posix-functions/putchar.texi: Likewise.
57425         * doc/posix-functions/puts.texi: Likewise.
57426         * doc/posix-functions/vfprintf.texi: Likewise.
57427         * doc/posix-functions/vprintf.texi: Likewise.
57428         * doc/posix-functions/write.texi: Likewise.
57430 2011-04-10  Jim Meyering  <meyering@redhat.com>
57432         maint.mk: prohibit doubled words
57433         Detect them also when they're separated by a newline.
57434         There are 3 ways to customize it:
57435           - disable the test on a per file basis, as usual with rules using
57436             $(VC_LIST_EXCEPT)
57437           - replace the default doubled-word-selecting regexp (affects all files)
57438           - ignore a particular file-vs-doubled-word match
57439         I nearly used that last one to ignore the "is is" match in
57440         coreutils' NEWS file, since the text was "ls -is is ..."
57441         To do that, I would have added this line to cfg.mk:
57442           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
57443         but it would have ignored any "is is" match in NEWS.
57444         Low probability, but still...
57445         Instead, I changed the text, slightly:
57446           -  ls -is is now consistent with ls -lis in ignoring values returned
57447           +  "ls -is" is now consistent with ls -lis in ignoring values returned
57448         * top/maint.mk (prohibit_double_word_RE_): Provide default.
57449         (prohibit_doubled_word_): Define.
57450         (sc_prohibit_doubled_word): New rule.
57451         (sc_prohibit_the_the): Remove.  Subsumed by the above.
57453 2011-04-10  Jim Meyering  <meyering@redhat.com>
57455         maint: fix doubled-word typo in comment
57456         * m4/gethostname.m4: s/is is/it is/
57457         * m4/getdomainname.m4: Likewise.
57459 2011-04-10  Jim Meyering  <meyering@redhat.com>
57461         maint: remove doubled word: s/it it/it/
57462         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
57464 2011-04-10  Jim Meyering  <meyering@redhat.com>
57466         maint.mk: remove useless semicolon and backslash
57467         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
57468         semicolon and backslash.
57470 2011-04-10  Bruno Haible  <bruno@clisp.org>
57472         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
57473         * modules/stdint-tests (Depends-on): Add wchar.
57475 2011-04-10  Jim Meyering  <meyering@redhat.com>
57477         maint: remove doubled words in comments, e.g., s/a a/a/
57478         * lib/strptime.c (day_of_the_week): s/the the/the/
57479         * tests/test-chown.h (test_chown): s/a a/a/
57481         test-chown.h: correct a cast
57482         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
57483         when the destination is a stat.st_gid.
57485 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
57487         getaddrinfo: Fix test for sa_len member.
57488         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
57489         include <sys/types.h> before <sys/socket.h>.
57491 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57493         maint: change "can not" to "cannot"
57494         * doc/posix-functions/iconv.texi (iconv): This one crossed line
57495         boundaries.
57497 2011-04-09  Jim Meyering  <meyering@redhat.com>
57499         maint: change "a a" to "a"
57500         * tests/test-lchown.h (test_lchown): s/a a/a/
57502         maint.mk: prohibit \<the the\>
57503         * top/maint.mk (sc_prohibit_the_the): New rule.
57505         maint: fix "the the" in comment
57506         * lib/count-one-bits.h: s/the the/the/
57508         maint: change "can not" to "cannot"
57509         But do not change the occurrences in maintain.texi or in
57510         build-aux/po/Makefile.in.in, which I presume comes from gettext.
57511         * doc/gnulib-tool.texi: s/can not/cannot/
57512         * doc/posix-functions/accept.texi (accept): Likewise.
57513         * doc/posix-functions/socket.texi (socket): Likewise.
57514         * lib/mbrtowc.c: Likewise.
57516         maint.mk: prohibit use of "can not"
57517         * top/maint.mk (sc_prohibit_can_not): New rule.
57518         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
57520 2011-04-09  Bruno Haible  <bruno@clisp.org>
57522         careadlinkat: Guard against misuse of careadlinkatcwd.
57523         * lib/careadlinkat.c: Include <stdlib.h>.
57524         (careadlinkatcwd): Check that the fd argument is as expected.
57526 2011-04-09  Bruno Haible  <bruno@clisp.org>
57528         careadlinkat: Use common coding style.
57529         * lib/careadlinkat.c: Move gnulib includes after system includes.
57531 2011-04-09  Bruno Haible  <bruno@clisp.org>
57533         careadlinkat: Clarify specification.
57534         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
57535         (careadlinkatcwd): Add comment.
57536         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
57538 2011-04-09  Bruno Haible  <bruno@clisp.org>
57540         areadlinkat: Avoid link error on many platforms.
57541         * modules/areadlinkat (Depends-on): Add areadlink.
57543 2011-04-09  Bruno Haible  <bruno@clisp.org>
57545         allocator, careadlinkat: Fix double-inclusion guard.
57546         * lib/allocator.h: Fix double-inclusion guard.
57547         * lib/careadlinkat.h: Likewise.
57549 2011-04-09  Bruno Haible  <bruno@clisp.org>
57551         relocatable-prog-wrapper: Update after module 'areadlink' changed.
57552         * lib/relocwrapper.c: Update dependencies hierarchy.
57553         * build-aux/install-reloc: Update list of files to be compiled.
57554         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
57555         lib/allocator.[hc].
57557 2011-04-08  Eric Blake  <eblake@redhat.com>
57559         strftime: silence gnulib-tool warning
57560         * modules/strftime-tests (Depends-on): Drop automatic dependency.
57562 2011-04-08  Bruno Haible  <bruno@clisp.org>
57564         verify: Fix syntax error with GCC 4.6 in C++ mode.
57565         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
57566         (HAVE_STATIC_ASSERT): New macro.
57567         (verify_true, verify): Use 'static_assert' if it is supported and
57568         '_Static_assert' is not supported.
57570 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
57572         allocator: New module.
57573         * modules/allocator, lib/allocator.c: New files.
57574         * lib/allocator.h (stdlib_allocator): New decl.
57575         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
57576         Remove.  Do not include <stdlib.h>.
57577         (careadlinkat): Use stdlib_allocator instead of rolling our own.
57578         * modules/careadlinkat (Files): Remove lib/allocator.h.
57579         (Depends-on): Add allocator.
57581         stdlib: let modules use system malloc, realloc
57582         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
57583         if !_GL_USE_STDLIB_ALLOC.
57584         (malloc, realloc): Limit this change to a smaller scope.
57586         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
57587         (malloc, realloc): Don't #undef; no longer needed.
57588         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57589         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57590         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57591         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57592         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57593         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57594         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57595         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57597         careadlinkat: rename members to avoid problem
57598         * lib/allocator.h (struct allocator): Rename members from
57599         malloc/realloc to allocate/reallocate, to avoid problems if malloc
57600         and realloc are #define'd.  Reported by Eric Blake in
57601         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
57602         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
57604 2011-04-08  Eric Blake  <eblake@redhat.com>
57606         nonblocking: reduce dependency
57607         * tests/test-nonblocking.c: Only test sockets when in use.
57608         * modules/nonblocking-tests (Depends-on): Drop socket.
57609         (Makefile.am): Link even if sockets are not present.
57610         * modules/pipe2-tests (Makefile.am): Likewise.
57611         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
57613         pipe2: fix O_NONBLOCK support on mingw
57614         * modules/pipe2 (Depends-on): Add nonblocking.
57615         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
57616         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
57617         * tests/test-nonblocking.c (main): Likewise.
57618         * modules/pipe2-tests (Makefile.am): Avoid link failure.
57620         fcntl-h: fix O_ACCMODE on cygwin
57621         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
57622         * lib/fcntl.in.h (O_ACCMODE): Fix it.
57624         pipe-filter: drop O_NONBLOCK workarounds
57625         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
57626         * modules/pipe-filter-ii (Depends-on): Likewise.
57627         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
57629         nonblocking: provide O_NONBLOCK for mingw
57630         * modules/nonblocking (Depends-on): Add open.
57631         (configure.ac): Set new witness macro.
57632         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
57633         * modules/fcntl-h (Makefile.am): Substitute it.
57634         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
57635         nonblocking module is in use.
57636         * lib/nonblocking.c: Adjust portability test.
57637         * lib/open.c (open): Don't let native open see gnulib flag.
57638         * tests/test-fcntl-h.c (main): Enhance test.
57639         * tests/test-open.h (test_open): Likewise.
57640         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
57642         careadlinkat: fix compilation error on mingw
57643         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
57644         within struct allocator.
57646 2011-04-06  Eric Blake  <eblake@redhat.com>
57648         binary-io: relicense under LGPLv2+
57649         * modules/binary-io (License): Relax to LGPLv2+.
57650         Requested for libvirt, and required by pipe2.
57652 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
57654         verify: use _Static_assert if available
57655         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
57656         (verify_true, verify): Use it if available.  This generates better
57657         diagnostics with GCC 4.6.0 and later.
57659 2011-04-05  Bruno Haible  <bruno@clisp.org>
57661         Remove leftover generated .h files after config.status changed.
57663         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
57664         GL_GENERATE_ALLOCA_H.
57665         * modules/alloca-opt (Makefile.am): Remove alloca.h if
57666         GL_GENERATE_ALLOCA_H evaluates to false.
57668         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
57669         GL_GENERATE_ARGZ_H.
57670         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
57671         evaluates to false.
57673         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
57674         GL_GENERATE_BYTESWAP_H.
57675         * modules/byteswap (Makefile.am): Remove byteswap.h if
57676         GL_GENERATE_BYTESWAP_H evaluates to false.
57678         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
57679         GL_GENERATE_ERRNO_H.
57680         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
57681         evaluates to false.
57683         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
57684         GL_GENERATE_FLOAT_H.
57685         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
57686         evaluates to false.
57688         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
57689         GL_GENERATE_FNMATCH_H.
57690         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
57691         GL_GENERATE_FNMATCH_H evaluates to false.
57693         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
57694         GL_GENERATE_GLOB_H.
57695         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
57696         evaluates to false.
57698         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
57699         automake conditional GL_GENERATE_ICONV_H.
57700         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
57701         evaluates to false.
57703         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
57704         GL_GENERATE_NETINET_IN_H.
57705         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
57706         GL_GENERATE_NETINET_IN_H evaluates to false.
57708         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
57709         conditional GL_GENERATE_PTHREAD_H.
57710         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
57711         * modules/pthread (Makefile.am): Remove pthread.h if
57712         GL_GENERATE_PTHREAD_H evaluates to false.
57714         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
57715         GL_GENERATE_SCHED_H.
57716         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
57717         evaluates to false.
57719         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
57720         conditional GL_GENERATE_SELINUX_CONTEXT_H.
57721         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
57722         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
57724         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
57725         GL_GENERATE_STDARG_H.
57726         * modules/stdarg (Makefile.am): Remove stdarg.h if
57727         GL_GENERATE_STDARG_H evaluates to false.
57729         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
57730         GL_GENERATE_STDBOOL_H.
57731         * modules/stdbool (Makefile.am): Remove stdbool.h if
57732         GL_GENERATE_STDBOOL_H evaluates to false.
57734         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
57735         conditional GL_GENERATE_STDDEF_H.
57736         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
57737         * modules/stddef (Makefile.am): Remove stddef.h if
57738         GL_GENERATE_STDDEF_H evaluates to false.
57740         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
57741         GL_GENERATE_STDINT_H.
57742         * modules/stdint (Makefile.am): Remove stdint.h if
57743         GL_GENERATE_STDINT_H evaluates to false.
57745         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
57746         GL_GENERATE_SYSEXITS_H.
57747         * modules/sysexits (Makefile.am): Remove sysexits.h if
57748         GL_GENERATE_SYSEXITS_H evaluates to false.
57750         Reported by Karl Berry and Ralf Wildenhues.
57752 2011-04-05  Bruno Haible  <bruno@clisp.org>
57754         Ensure to rebuild generated .h files when config.status has changed.
57755         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
57756         config.status.
57757         * modules/ctype (Makefile.am): Likewise.
57758         * modules/dirent (Makefile.am): Likewise.
57759         * modules/errno (Makefile.am): Likewise.
57760         * modules/fcntl-h (Makefile.am): Likewise.
57761         * modules/float (Makefile.am): Likewise.
57762         * modules/getopt-posix (Makefile.am): Likewise.
57763         * modules/glob (Makefile.am): Likewise.
57764         * modules/iconv-h (Makefile.am): Likewise.
57765         * modules/inttypes (Makefile.am): Likewise.
57766         * modules/langinfo (Makefile.am): Likewise.
57767         * modules/locale (Makefile.am): Likewise.
57768         * modules/math (Makefile.am): Likewise.
57769         * modules/netdb (Makefile.am): Likewise.
57770         * modules/netinet_in (Makefile.am): Likewise.
57771         * modules/poll-h (Makefile.am): Likewise.
57772         * modules/pthread (Makefile.am): Likewise.
57773         * modules/pty (Makefile.am): Likewise.
57774         * modules/sched (Makefile.am): Likewise.
57775         * modules/search (Makefile.am): Likewise.
57776         * modules/selinux-h (Makefile.am): Likewise.
57777         * modules/signal (Makefile.am): Likewise.
57778         * modules/spawn (Makefile.am): Likewise.
57779         * modules/stdarg (Makefile.am): Likewise.
57780         * modules/stdbool (Makefile.am): Likewise.
57781         * modules/stddef (Makefile.am): Likewise.
57782         * modules/stdint (Makefile.am): Likewise.
57783         * modules/stdio (Makefile.am): Likewise.
57784         * modules/stdlib (Makefile.am): Likewise.
57785         * modules/string (Makefile.am): Likewise.
57786         * modules/strings (Makefile.am): Likewise.
57787         * modules/sys_file (Makefile.am): Likewise.
57788         * modules/sys_ioctl (Makefile.am): Likewise.
57789         * modules/sys_select (Makefile.am): Likewise.
57790         * modules/sys_socket (Makefile.am): Likewise.
57791         * modules/sys_stat (Makefile.am): Likewise.
57792         * modules/sys_time (Makefile.am): Likewise.
57793         * modules/sys_times (Makefile.am): Likewise.
57794         * modules/sys_utsname (Makefile.am): Likewise.
57795         * modules/sys_wait (Makefile.am): Likewise.
57796         * modules/sysexits (Makefile.am): Likewise.
57797         * modules/termios (Makefile.am): Likewise.
57798         * modules/time (Makefile.am): Likewise.
57799         * modules/unistd (Makefile.am): Likewise.
57800         * modules/wchar (Makefile.am): Likewise.
57801         * modules/wctype-h (Makefile.am): Likewise.
57802         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
57804 2011-04-05  Bruno Haible  <bruno@clisp.org>
57806         pipe2: Relicense under LGPLv2+.
57807         * modules/pipe2 (License): Change to LGPLv2+.
57808         Requested by Eric Blake, for libvirt.
57810 2011-04-05  Bruce Korb  <bkorb@gnu.org>
57812         bootstrap: compute gnulib_extra_files after updating build_aux
57813         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
57814         change build_aux or also supply gnulib_extra_files.  Handle correctly.
57816 2011-04-05  Eric Blake  <eblake@redhat.com>
57818         bootstrap: preserve git whitelist item sorting
57819         * build-aux/bootstrap (sort_patterns): New function.
57820         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
57822 2011-04-05  Simon Josefsson  <simon@josefsson.org>
57824         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
57825         sc_space_tab check.
57827 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
57829         areadlink, areadlinkat: rewrite in terms of careadlinkat
57830         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
57831         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
57832         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
57833         (malloc, realloc): Remove #undefs.
57834         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
57835         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
57836         readlink, ssize_t, stdint, unistd.
57837         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
57838         areadlink, stdint.
57840         careadlinkat: new module
57841         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
57842         * modules/careadlinkat: New files, written by me with
57843         a review and feedback from Ben Pfaff in
57844         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
57846 2011-04-01  Bruno Haible  <bruno@clisp.org>
57848         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
57849         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
57850         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
57851         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
57852         Reported by Bruce Korb <bruce.korb@gmail.com>.
57854 2011-04-01  Bruno Haible  <bruno@clisp.org>
57856         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
57857         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
57858         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
57859         * modules/wcpcpy (Depends-on): Add extensions.
57860         * modules/wcpncpy (Depends-on): Likewise.
57861         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
57862         systems.
57863         * doc/posix-functions/wcpncpy.texi: Likewise.
57864         * doc/posix-functions/wcwidth.texi: Likewise.
57866 2011-03-31  Eric Blake  <eblake@redhat.com>
57868         nonblocking: fix mingw test failures
57869         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
57870         non-blocking flag on regular file.
57871         (get_nonblocking_flag): Set errno on invalid fd.
57872         * tests/test-nonblocking.c (main): Avoid test failure on
57873         directories if fchdir is not active.
57874         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
57876 2011-03-31  Bruno Haible  <bruno@clisp.org>
57878         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
57879         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
57880         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
57881         Reported by Simon Josefsson <simon@josefsson.org>.
57883 2011-03-31  Bruno Haible  <bruno@clisp.org>
57884         and Eric Blake  <eblake@redhat.com>
57886         nonblocking: new module
57887         * modules/nonblocking: New module.
57888         * modules/nonblocking-tests: Likewise.
57889         * lib/nonblocking.h: New file.
57890         * lib/nonblocking.c: Likewise.
57891         * tests/test-nonblocking.c: New test.
57892         * lib/ioctl.c (ioctl) [mingw]: Update comment.
57894 2011-03-30  Bruno Haible  <bruno@clisp.org>
57896         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
57897         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
57898         instead of 'printf' format for GCC >= 4.4.
57899         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
57900         (fprintf, printf, vfprintf, vprintf): Declare with
57901         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
57902         the system's vfprintf() function.
57903         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
57905 2011-03-30  Eric Blake  <eblake@redhat.com>
57907         passfd: fix scoping bug
57908         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
57909         before sendmsg/recvmsg.
57911         passfd: standardize coding conventions
57912         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
57913         can be learned at compile time.
57914         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
57915         ifdefs.
57916         (sendfd, recvfd): Follow gnulib code conventions.
57918         passfd: fix incorrect sendmsg arguments
57919         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
57920         incorrect msg_controllen value.
57921         * modules/passfd-tests (Depends-on): Check for alarm.
57922         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
57923         Reported by Bastien ROUCARIES.
57925 2011-03-30  Bruno Haible  <bruno@clisp.org>
57927         c-strcasestr: Relicense under LGPLv2+.
57928         * modules/c-strcasestr (License): Change to LGPLv2+.
57929         Requested by Eric Blake, for libvirt.
57931 2011-03-30  Simon Josefsson  <simon@josefsson.org>
57933         * users.txt: Add libidn2.  Fix libtasn1 link.
57935 2011-03-30  Jim Meyering  <meyering@redhat.com>
57937         tests: readlink* ("",... fails with EINVAL on newer kernels
57938         readlink and readlinkat have typically failed with ENOENT for
57939         the invalid, empty file name,  "".  However, with the advent
57940         of linux-2.6.39, they fail with EINVAL.
57941         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
57942         when operating on the empty file name.
57943         * tests/test-readlink.h (test_readlink): Likewise.
57945 2011-03-29  Bruno Haible  <bruno@clisp.org>
57947         Relicense some modules under LGPLv2+, for libidn2.
57948         * modules/array-mergesort (License): Change to LGPLv2+.
57949         * modules/c-strcaseeq (License): Likewise.
57950         * modules/striconveh (License): Likewise.
57951         * modules/striconveha (License): Likewise.
57952         * modules/uniconv/base (License): Likewise.
57953         * modules/uniconv/u8-conv-from-enc (License): Likewise.
57954         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
57955         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
57956         * modules/unictype/base (License): Likewise.
57957         * modules/unictype/bidiclass-of (License): Likewise.
57958         * modules/unictype/category-M (License): Likewise.
57959         * modules/unictype/category-none (License): Likewise.
57960         * modules/unictype/category-of (License): Likewise.
57961         * modules/unictype/category-test (License): Likewise.
57962         * modules/unictype/category-test-withtable (License): Likewise.
57963         * modules/unictype/combining-class (License): Likewise.
57964         * modules/unictype/joiningtype-of (License): Likewise.
57965         * modules/unictype/scripts (License): Likewise.
57966         * modules/uninorm/base (License): Likewise.
57967         * modules/uninorm/canonical-decomposition (License): Likewise.
57968         * modules/uninorm/composition (License): Likewise.
57969         * modules/uninorm/decompose-internal (License): Likewise.
57970         * modules/uninorm/decomposition-table (License): Likewise.
57971         * modules/uninorm/nfc (License): Likewise.
57972         * modules/uninorm/nfd (License): Likewise.
57973         * modules/uninorm/u32-normalize (License): Likewise.
57974         * modules/unistr/base (License): Likewise.
57975         * modules/unistr/u32-cpy (License): Likewise.
57976         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
57977         * modules/unistr/u32-to-u8 (License): Likewise.
57978         * modules/unistr/u32-uctomb (License): Likewise.
57979         * modules/unistr/u8-check (License): Likewise.
57980         * modules/unistr/u8-mblen (License): Likewise.
57981         * modules/unistr/u8-mbtouc (License): Likewise.
57982         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
57983         * modules/unistr/u8-mbtoucr (License): Likewise.
57984         * modules/unistr/u8-prev (License): Likewise.
57985         * modules/unistr/u8-strlen (License): Likewise.
57986         * modules/unistr/u8-to-u32 (License): Likewise.
57987         * modules/unistr/u8-uctomb (License): Likewise.
57988         * modules/unitypes (License): Likewise.
57989         Requested by Simon Josefsson.
57991 2011-03-29  Simon Josefsson  <simon@josefsson.org>
57993         lib-symbol-visibility: Add a notice.
57994         * modules/lib-symbol-visibility (Notice): New field.
57996 2011-03-29  Bruno Haible  <bruno@clisp.org>
57998         getaddrinfo: Doc fix.
57999         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
58000         section "fixed in Gnulib".
58002 2011-03-28  Simon Josefsson  <simon@josefsson.org>
58004         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
58005         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
58007 2011-03-26  Bruno Haible  <bruno@clisp.org>
58009         unictype/property-byname: Reduce the number of load-time relocations.
58010         * lib/unictype/pr_byname.c: Include <stdlib.h>.
58011         (UC_PROPERTY_INDEX_*): New enumeration values.
58012         (uc_property_byname): Convert an index from the lookup table to an
58013         uc_property_t.
58014         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
58015         values.
58017 2011-03-26  Bruno Haible  <bruno@clisp.org>
58019         unictype/property-byname: Allow omitted word separators and aliases.
58020         * lib/unictype/pr_byname.gperf: Add property names without word
58021         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
58022         for 'space'.
58024 2011-03-26  Bruno Haible  <bruno@clisp.org>
58026         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
58027         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
58028         also hyphens to space.
58029         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
58030         without spaces.
58031         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
58033 2011-03-26  Bruno Haible  <bruno@clisp.org>
58035         unictype/joiningtype-byname: Recognize long names as well.
58036         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
58037         a long name.
58038         * lib/unictype/joiningtype_byname.c: Include <string.h>,
58039         unictype/joiningtype_byname.h.
58040         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
58041         * lib/unictype/joiningtype_byname.gperf: New file.
58042         * modules/unictype/joiningtype-byname (Files): Add
58043         lib/unictype/joiningtype_byname.gperf.
58044         (Depends-on): Add gperf.
58045         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
58046         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
58047         long names.
58049         Tests for module 'unictype/joiningtype-longname'.
58050         * modules/unictype/joiningtype-longname-tests: New file.
58051         * tests/unictype/test-joiningtype_longname.c: New file.
58053         New module 'unictype/joiningtype-longname'.
58054         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
58055         * lib/unictype/joiningtype_longname.c: New file.
58056         * modules/unictype/joiningtype-longname: New file.
58057         * modules/unictype/joiningtype-all (Depends-on): Add
58058         unictype/joiningtype-longname.
58060 2011-03-26  Bruno Haible  <bruno@clisp.org>
58062         unictype/bidiclass-byname: Recognize long names as well.
58063         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
58064         name.
58065         * lib/unictype/bidi_byname.c: Include <string.h>,
58066         unictype/bidi_byname.h.
58067         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
58068         * lib/unictype/bidi_byname.gperf: New file.
58069         * modules/unictype/bidiclass-byname (Files): Add
58070         lib/unictype/bidi_byname.gperf.
58071         (Depends-on): Add gperf.
58072         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
58073         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
58074         long names.
58076         Tests for module 'unictype/bidiclass-longname'.
58077         * modules/unictype/bidiclass-longname-tests: New file.
58078         * tests/unictype/test-bidi_longname.c: New file.
58080         New module 'unictype/bidiclass-longname'.
58081         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
58082         * lib/unictype/bidi_longname.c: New file.
58083         * modules/unictype/bidiclass-longname: New file.
58084         * modules/unictype/bidiclass-all (Depends-on): Add
58085         unictype/bidiclass-longname.
58087 2011-03-26  Bruno Haible  <bruno@clisp.org>
58089         unictype/bidi*: Rename modules.
58090         * modules/unictype/bidiclass-all: Renamed from
58091         modules/unictype/bidicategory-all.
58092         * modules/unictype/bidiclass-name: Renamed from
58093         modules/unictype/bidiclass-name.
58094         (Description): Update.
58095         * modules/unictype/bidiclass-name-tests: Renamed from
58096         modules/unictype/bidicategory-name-tests.
58097         * modules/unictype/bidiclass-byname: Renamed from
58098         modules/unictype/bidicategory-byname.
58099         (Description): Update.
58100         * modules/unictype/bidiclass-byname-tests: Renamed from
58101         modules/unictype/bidicategory-byname-tests.
58102         * modules/unictype/bidiclass-of: Renamed from
58103         modules/unictype/bidicategory-of.
58104         (Description): Update.
58105         * modules/unictype/bidiclass-of-tests: Renamed from
58106         modules/unictype/bidicategory-of-tests.
58107         * modules/unictype/bidiclass-test: Renamed from
58108         modules/unictype/bidicategory-test.
58109         (Description): Update.
58110         * modules/unictype/bidiclass-test-tests: Renamed from
58111         modules/unictype/bidicategory-test-tests.
58112         * modules/unictype/bidicategory-all: New file, a simple redirection.
58113         * modules/unictype/bidicategory-name: Likewise.
58114         * modules/unictype/bidicategory-byname: Likewise.
58115         * modules/unictype/bidicategory-of: Likewise.
58116         * modules/unictype/bidicategory-test: Likewise.
58117         * modules/unictype/property-bidi-* (Dependencies): Update.
58118         * lib/unictype/bidi_*.c: Update comment.
58120 2011-03-26  Bruno Haible  <bruno@clisp.org>
58122         unictype/bidi*: Rename functions, part 2.
58123         * modules/unictype/bidicategory-name (configure.ac): Update required
58124         libunistring version.
58125         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
58127 2011-03-25  Bruno Haible  <bruno@clisp.org>
58129         New module 'unictype/combining-class-all'.
58130         * modules/unictype/combining-class-all: New file.
58132         Tests for module 'unictype/combining-class-byname'.
58133         * modules/unictype/combining-class-byname-tests: New file.
58134         * tests/unictype/test-combiningclass_byname.c: New file.
58136         New module 'unictype/combining-class-byname'.
58137         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
58138         * lib/unictype/combiningclass_byname.c: New file.
58139         * lib/unictype/combiningclass_byname.gperf: New file.
58140         * modules/unictype/combining-class-byname: New file.
58142         Tests for module 'unictype/combining-class-longname'.
58143         * modules/unictype/combining-class-longname-tests: New file.
58144         * tests/unictype/test-combiningclass_longname.c: New file.
58146         New module 'unictype/combining-class-longname'.
58147         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
58148         * lib/unictype/combiningclass_longname.c: New file.
58149         * modules/unictype/combining-class-longname: New file.
58151         Tests for module 'unictype/combining-class-name'.
58152         * modules/unictype/combining-class-name-tests: New file.
58153         * tests/unictype/test-combiningclass_name.c: New file.
58155         New module 'unictype/combining-class-name'.
58156         * lib/unictype.in.h (uc_combining_class_name): New declaration.
58157         * lib/unictype/combiningclass_name.c: New file.
58158         * modules/unictype/combining-class-name: New file.
58160 2011-03-25  Bruno Haible  <bruno@clisp.org>
58162         unictype/combining-class: Rename source files.
58163         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
58164         of unictype/combining.h.
58165         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
58166         Update.
58167         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
58168         * modules/unictype/combining-class (Description): Fix.
58169         (Files, Makefile.am): Update.
58170         * tests/unictype/test-combiningclass.c: Renamed from
58171         tests/unictype/test-combining.c.
58172         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
58174 2011-03-25  Bruno Haible  <bruno@clisp.org>
58176         unictype: Update list of canonical combining classes.
58177         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
58179 2011-03-25  Bruno Haible  <bruno@clisp.org>
58181         unictype/category-byname: Recognize long names as well.
58182         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
58183         a long name.
58184         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
58185         unictype/categ_byname.h.
58186         (UC_CATEGORY_INDEX_*): New enumeration values.
58187         (uc_general_category_byname): Use uc_general_category_lookup and
58188         convert from index to value.
58189         * lib/unictype/categ_byname.gperf: New file.
58190         * modules/unictype/category-byname (Files): Add
58191         lib/unictype/categ_byname.gperf.
58192         (Depends-on): Add gperf.
58193         (Makefile.am): Add rule for generating unictype/categ_byname.h.
58194         * tests/unictype/test-categ_byname.c (main): Test the recognition of
58195         long names.
58197         Tests for module 'unictype/category-longname'.
58198         * modules/unictype/category-longname-tests: New file.
58199         * tests/unictype/test-categ_longname.c: New file.
58201         New module 'unictype/category-longname'.
58202         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
58203         * lib/unictype/categ_longname.c: New file.
58204         * modules/unictype/category-longname: New file.
58205         * modules/unictype/category-all (Depends-on): Add it.
58207 2011-03-25  Bruno Haible  <bruno@clisp.org>
58209         Tests for module 'unictype/category-LC'.
58210         * modules/unictype/category-LC-tests: New file.
58211         * tests/unictype/test-categ_LC.c: New file, automatically generated.
58213         New module 'unictype/category-LC'.
58214         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
58215         (UC_CATEGORY_LC): New declaration.
58216         (UC_CASED_LETTER): New macro.
58217         * lib/gen-uni-tables.c (is_category_LC): New function.
58218         (output_categories): Also handle category LC.
58219         (UC_CATEGORY_MASK_LC): New enumeration value.
58220         (general_category_byname): Also handle category LC.
58221         * lib/unictype/categ_LC.c: New file.
58222         * lib/unictype/categ_LC.h: New file, automatically generated.
58223         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
58224         category LC.
58225         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
58226         * modules/unictype/category-LC: New file.
58227         * modules/unictype/category-byname (Depends-on): Add
58228         unictype/category-LC.
58229         * modules/unictype/category-all (Depends-on): Likewise.
58231 2011-03-25  Eric Blake  <eblake@redhat.com>
58233         xmalloc: revert yesterday's regression
58234         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
58235         realloc's underlying behavior (allowing allocation of zero-size
58236         objects, especially if malloc-gnu is also in use).
58238 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
58240         maint.mk: add missing version to VC-tag
58241         * top/maint.mk: git tag was missing actual tag name; add it.
58243         valgrind: do leak checking, and exit with code 1 on error (not 0)
58244         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
58245         to VALGRIND.
58247 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
58249         posix-modules: say what it does.
58250         * posix-modules: Add a line to the --help output saying what it does.
58252 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
58254         xmalloc: Do not leak if underlying realloc is C99 compatible.
58255         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
58256         This avoids a leak on C99-based systems.  See
58257         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
58259 2011-03-24  Eric Blake  <eblake@redhat.com>
58261         realloc: document portability problem
58262         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
58263         passing 0 size to realloc.
58265 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
58267         doc: update users.txt
58268         * users.txt: Add cvsps, tmpwatch
58270 2011-03-23  Matt Rice  <ratmice@gmail.com>
58272         doc: update users.txt
58273         * users.txt: Add gdb.
58275 2011-03-23  Jim Meyering  <meyering@redhat.com>
58277         doc: update users.txt
58278         Looking through matches up to the following URL (there are still
58279         several more pages), I found several projects that use gnulib:
58280         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
58281         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
58282         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
58284 2011-03-22  Bruno Haible  <bruno@clisp.org>
58286         unictype/bidi*: Rename functions.
58287         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
58288         uc_bidi_class, uc_is_bidi_class): New declarations.
58289         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
58290         uc_bidi_category_byname.
58291         (uc_bidi_category_byname): New function.
58292         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
58293         u_bidi_category_name.
58294         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
58295         (uc_bidi_category_name): New function.
58296         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
58297         uc_bidi_category.
58298         (uc_bidi_category): New function.
58299         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
58300         uc_is_bidi_category. Invoke uc_bidi_class.
58301         (uc_is_bidi_category): New function.
58302         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
58303         instead of uc_bidi_category_byname.
58304         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
58305         instead of uc_bidi_category_name.
58306         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
58307         uc_bidi_category.
58308         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
58309         instead of uc_is_bidi_category.
58311 2011-03-21  Bruno Haible  <bruno@clisp.org>
58313         New module 'unictype/joininggroup-all'.
58314         * modules/unictype/joininggroup-all: New file.
58316         Tests for module 'unictype/joininggroup-of'.
58317         * modules/unictype/joininggroup-of-tests: New file.
58318         * tests/unictype/test-joininggroup_of.c: New file.
58319         * tests/unictype/test-joininggroup_of.h: New file, automatically
58320         generated by gen-uni-tables.
58322         New module 'unictype/joininggroup-of'.
58323         * modules/unictype/joininggroup-of: New file.
58324         * lib/unictype/joininggroup_of.c: New file.
58325         * lib/unictype/joininggroup_of.h: New file, automatically generated by
58326         gen-uni-tables.
58328         Tests for module 'unictype/joininggroup-byname'.
58329         * modules/unictype/joininggroup-byname-tests: New file.
58330         * tests/unictype/test-joininggroup_byname.c: New file.
58332         New module 'unictype/joininggroup-byname'.
58333         * modules/unictype/joininggroup-byname: New file.
58334         * lib/unictype/joininggroup_byname.c: New file.
58335         * lib/unictype/joininggroup_byname.gperf: New file.
58337         Tests for module 'unictype/joininggroup-name'.
58338         * modules/unictype/joininggroup-name-tests: New file.
58339         * tests/unictype/test-joininggroup_name.c: New file.
58341         New module 'unictype/joininggroup-name'.
58342         * modules/unictype/joininggroup-name: New file.
58343         * lib/unictype/joininggroup_name.c: New file.
58344         * lib/unictype/joininggroup_name.h: New file.
58346         New module 'unictype/joiningtype-all'.
58347         * modules/unictype/joiningtype-all: New file.
58349         Tests for module 'unictype/joiningtype-of'.
58350         * modules/unictype/joiningtype-of-tests: New file.
58351         * tests/unictype/test-joiningtype_of.c: New file.
58352         * tests/unictype/test-joiningtype_of.h: New file, automatically
58353         generated by gen-uni-tables.
58355         New module 'unictype/joiningtype-of'.
58356         * modules/unictype/joiningtype-of: New file.
58357         * lib/unictype/joiningtype_of.c: New file.
58358         * lib/unictype/joiningtype_of.h: New file, automatically generated by
58359         gen-uni-tables.
58361         Tests for module 'unictype/joiningtype-byname'.
58362         * modules/unictype/joiningtype-byname-tests: New file.
58363         * tests/unictype/test-joiningtype_byname.c: New file.
58365         New module 'unictype/joiningtype-byname'.
58366         * modules/unictype/joiningtype-byname: New file.
58367         * lib/unictype/joiningtype_byname.c: New file.
58369         Tests for module 'unictype/joiningtype-name'.
58370         * modules/unictype/joiningtype-name-tests: New file.
58371         * tests/unictype/test-joiningtype_name.c: New file.
58373         New module 'unictype/joiningtype-name'.
58374         * modules/unictype/joiningtype-name: New file.
58375         * lib/unictype/joiningtype_name.c: New file.
58377         unictype: Add support for Arabic shaping properties.
58378         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
58379         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
58380         declarations.
58381         (UC_JOINING_GROUP_*): New enumeration values.
58382         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
58383         declarations.
58384         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
58385         (unicode_joining_type): New variable.
58386         (UC_JOINING_GROUP_*): New enumeration values.
58387         (unicode_joining_group): New variable.
58388         (fill_arabicshaping, joining_type_as_c_identifier,
58389         output_joining_type_test, output_joining_type,
58390         joining_group_as_c_identifier, output_joining_group_test,
58391         output_joining_group): New functions.
58392         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
58393         fill_arabicshaping and output_joining_type_test, output_joining_type,
58394         output_joining_group_test, output_joining_group.
58395         Reported by Simon Josefsson.
58397 2011-03-21  Jim Meyering  <meyering@redhat.com>
58399         strftime: fix a bug in yesterday's change
58400         * lib/strftime.c (add): Accommodate width's initial value of -1.
58401         Otherwise, nstrftime would copy uninitialized data into
58402         the result buffer.
58404 2011-03-21  Jim Meyering  <meyering@redhat.com>
58406         tests: add strftime-tests module
58407         * tests/test-strftime.c: New file.
58408         * modules/strftime-tests: New module.
58410 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58412         strftime: don't assume a byte count fits in 'int'
58413         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
58414         found this problem by static analysis, using gcc -Wstrict-overflow
58415         (GCC 4.5.2, x86-64).  This reported an optimization that depended
58416         on an integer overflow having undefined behavior, but it turns out
58417         that the argument is a size, which might not fit in 'int' anyway,
58419 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58421         stdio: don't require ignore_value around fwrite
58423         This patch works around libc bug 11959
58424         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
58425         Without this patch, applications must often write
58426         ignore_value (fwrite (...)) even though the ignore_value is
58427         not helpful here.  It's common to write many objects, using
58428         fwrite/printf/etc., and then use ferror to detect output error.
58430         I considered making this patch optional, but decided against it,
58431         because libc is obviously being inconsistent here: there is no
58432         reason libc should insist that user code must inspect fwrite
58433         return's value without also insisting that it inspect printf's,
58434         putchar's, etc.  If user code wants to have a strict style where
58435         all these functions' values are checked (so that ferror need not
58436         be checked), we could add support for that style in a new gnulib
58437         module, but in the meantime it's better to be consistent and to
58438         support common usage.
58440         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
58441         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
58442         that we are compiling in checking mode, and if not C++, and
58443         if not already wrapping fwrite for some other reason.
58444         (fwrite): #define to rpl_fwrite if the latter is defined.
58446 2011-03-20  Bruno Haible  <bruno@clisp.org>
58448         verror: Fix compilation error introduced on 2011-02-13.
58449         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
58450         instead of __attribute__.
58451         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58453 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58454             Bruno Haible  <bruno@clisp.org>
58456         socklen: do not depend on sys_socket
58457         While trying to modify Emacs to use gnulib's socklen module,
58458         I discovered a circular dependency: socklen depends on sys_socket
58459         and vice versa.  Emacs can use socklen, but it does not need
58460         sys_socket because it has its own substitute for sys/socket.h.
58461         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
58462         gl_TYPE_SOCKLEN_T.
58463         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
58464         gl_PREREQ_SYS_H_SOCKET.
58465         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
58466         gl_PREREQ_SYS_H_SOCKET.
58467         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
58468         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
58469         * modules/socklen (Depends-on): Do not depend on sys_socket.
58470         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
58472 2011-03-20  Jim Meyering  <meyering@redhat.com>
58474         maint.mk: sort file names *after* new transformation
58475         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
58476         prefix would have led to an unwarranted failure in GNU parted.
58477         Sort after that transformation.
58479 2011-03-19  Jim Meyering  <meyering@redhat.com>
58481         maint.mk: fix po-file syntax-check rule
58482         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
58483         Patch by Bruno Haible.
58485 2011-03-19  Bruno Haible  <bruno@clisp.org>
58487         socklen: Update comment.
58488         * m4/socklen.m4: Update comment about platforms.
58490 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58491             Bruno Haible  <bruno@clisp.org>
58493         inet_ntop, inet_pton: Simplify.
58494         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
58495         documented to provide socklen_t and we already depend on sys_socket.
58496         * modules/inet_pton (Depends-on): Likewise.
58497         * lib/arpa_inet.in.h: Adjust comment.
58499 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58500             Bruno Haible  <bruno@clisp.org>
58502         netdb: Simplify.
58503         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
58504         documented to provide socklen_t and we already depend on sys_socket.
58505         * lib/netdb.in.h: Adjust comment.
58507 2011-03-19  Bruno Haible  <bruno@clisp.org>
58509         sys_socket, netdb: Document problem with socklen_t.
58510         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
58511         platforms.
58512         * doc/posix-headers/netdb.texi: Likewise.
58514 2011-03-18  Eric Blake  <eblake@redhat.com>
58516         maint.mk: let po check work in VPATH build
58517         * top/maint.mk (po_file): Allow cfg.mk override.
58518         (sc_po_check): Allow VPATH use.
58519         Reported by Jiri Denemark.
58521 2011-03-16  Jim Meyering  <meyering@redhat.com>
58523         maint.mk: allow fine-grained syntax-check exclusion via Make variables
58524         Before, you would have had to create one .x-sc_ file per rule in order
58525         to exempt offending files.  Now, you may instead use a Make variable --
58526         usually defined in cfg.mk -- whose name identifies the affected rule.
58527         * top/maint.mk (_sc_excl): Define.
58528         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
58529         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
58531 2011-03-13  Bruno Haible  <bruno@clisp.org>
58533         ignore-value tests: Avoid warnings.
58534         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
58535         empty for gcc < 3.4.
58537 2011-03-13  Bruno Haible  <bruno@clisp.org>
58539         passfd: Fix link error on Solaris.
58540         * modules/passfd (Description): Correct.
58541         (Depends-on): Add socketlib.
58542         (Link): New section.
58543         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
58545 2011-03-13  Bruno Haible  <bruno@clisp.org>
58547         passfd: Fix link error on AIX 5.2.
58548         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
58550 2011-03-13  Bruno Haible  <bruno@clisp.org>
58552         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
58553         * lib/sys_socket.in.h: Include <stddef.h>.
58554         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
58555         CMSG_FIRSTHDR. Remove unused variable.
58557 2011-03-13  Bruno Haible  <bruno@clisp.org>
58559         passfd: Fix compilation error on OpenBSD.
58560         * lib/passfd.c: Include <sys/uio.h>.
58562 2011-03-13  Bruno Haible  <bruno@clisp.org>
58564         passfd test: Fix warnings.
58565         * tests/test-passfd.c: Include <sys/wait.h>.
58566         (main): Fix typo.
58568 2011-03-13  Bruno Haible  <bruno@clisp.org>
58570         passfd module, part 4, tweaks.
58571         * tests/test-passfd.c: Reorder includes.
58572         (main): Fix perror and printf calls.
58574 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58576         passfd module, part 4.
58577         * modules/passfd-tests: New file.
58578         * tests/test-passfd.c: New file.
58580 2011-03-13  Jim Meyering  <meyering@redhat.com>
58582         Makefile: rely on GNU make; derive syntax-check rule names
58583         Rather than requiring that each sc_ rule be listed as a dependent
58584         of "check", use features of GNU make to derive the list.
58585         * Makefile (syntax-check-rules): Define.
58586         (check): Depend on the new variable, not the hard-coded list.
58588 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
58589             Bruno Haible  <bruno@clisp.org>
58591         passfd module, part 3.
58592         * lib/passfd.h (recvfd): Add a flags argument.
58593         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
58594         (recvfd): Add a flags argument.
58595         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
58596         exists.
58597         * modules/passfd (Depends-on): Add cloexec.
58598         Suggested by Eric Blake.
58600 2011-03-13  Bruno Haible  <bruno@clisp.org>
58602         passfd module, part 2, tweaks.
58603         * modules/passfd (Files): Reorder.
58604         (Depends-on): Remove errno.
58605         (Include): Remove <sys/socket.h>, <sys/un.h>.
58606         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
58607         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
58608         specification header. Include <sys/socket.h> always. Don't include
58609         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
58610         (sendfd): Clarify that it sets errno when it fails.
58611         (recvfd): Fix specification.
58613 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58615         passfd module, part 2.
58616         * modules/passfd: New file.
58617         * lib/passfd.h: New file.
58618         * lib/passfd.c: New file.
58620 2011-03-12  Bruno Haible  <bruno@clisp.org>
58622         wcswidth, mbswidth: Avoid integer overflow.
58623         * lib/wcswidth.c: Include <limits.h>.
58624         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
58625         * lib/mbswidth.c: Include <limits.h>.
58626         (mbsnwidth): Avoid 'int' overflow.
58627         Reported by Jim Meyering.
58629 2011-03-12  Bruno Haible  <bruno@clisp.org>
58631         futimens, utimensat: Avoid endless recursion on Solaris 10.
58632         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
58633         Solaris.
58634         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
58635         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
58637 2011-03-11  Jim Meyering  <meyering@redhat.com>
58639         maint.mk: relax a regexp to accommodate other formatting styles
58640         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
58641         between "ngettext" and the following "(".
58643 2011-03-11  Pádraig Brady  <P@draigBrady.com>
58645         maint.mk: suppress a false positive warning
58646         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
58647         diagnostics are marked with ngettext.
58649 2011-03-10  Eric Blake  <eblake@redhat.com>
58651         wchar: add explicit dependencies, for Tru64
58652         * modules/mbmemcasecoll (Depends-on): Add wchar.
58653         * modules/mbtowc (Depends-on): Likewise.
58654         * modules/vasnprintf (Depends-on): Likewise.
58655         * modules/unistdio/u-printf-args (Depends-on): Likewise.
58656         * modules/wctomb (Depends-on): Likewise.
58657         Reported by Peter O'Gorman.
58659 2011-03-08  Bruno Haible  <bruno@clisp.org>
58661         passfd module, part 1, tweaks.
58662         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
58663         Improve indentation. Improve AC_MSG_CHECKING messages.
58664         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
58665         gl_SOCKET_FAMILIES.
58667 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58669         passfd module, part 1.
58670         * m4/afunix.m4: New file.
58671         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
58672         sockets.
58674 2011-03-08  Bruno Haible  <bruno@clisp.org>
58676         regex-quote: New API.
58677         * lib/regex-quote.h: Include <stdbool.h>.
58678         (struct regex_quote_spec): New type.
58679         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58680         New declarations.
58681         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58682         'const struct regex_quote_spec *' argument.
58683         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
58684         (pcre_special): New constant.
58685         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58686         New functions.
58687         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58688         'const struct regex_quote_spec *' argument.
58689         * modules/regex-quote (Depends-on): Add stdbool.
58690         * tests/test-regex-quote.c (check): Update for new API. Add test for
58691         anchored results.
58692         * NEWS: Mention the API change.
58693         Reported by Reuben Thomas and Eric Blake.
58695 2011-03-06  Bruno Haible  <bruno@clisp.org>
58697         regex-quote: Fix creation of POSIX extended regular expressions.
58698         * lib/regex-quote.c (ere_special): Add grouping and alternation
58699         operators.
58701 2011-03-05  Bruno Haible  <bruno@clisp.org>
58703         doc: Improve doc regarding autopoint vs. gnulib.
58704         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
58705         disable autopoint while running autoreconf.
58706         Suggested by Ralf Wildenhues.
58708 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58710         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
58711         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
58713 2011-03-03  Bruce Korb  <bkorb@gnu.org>
58715         parse-duration: remove xalloc.h dependency
58716         * lib/parse-duration.c (parse_period): handle NULL return from
58717         strdup instead of calling xstrdup().
58718         * modules/parse-duration: remove "xalloc" dependency
58720 2011-03-03  Matthew Booth  <mbooth@redhat.com>
58722         bootstrap: honor m4_base when running aclocal
58723         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
58725 2011-03-02  Jim Meyering  <meyering@redhat.com>
58727         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
58728         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
58729         on request from Matt Booth.
58731 2011-03-01  Eric Blake  <eblake@redhat.com>
58733         test-link: work on Hurd
58734         * tests/test-link.h (test_link): Hurd rejects linking directories
58735         with EISDIR instead of the POSIX-mandated EPERM.
58737 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
58739         stdio: simplify by moving files to printf-posix, sigpipe
58740         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
58741         since this symbol is needed only if printf is replaced.
58742         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
58743         Require gl_ASM_SYMBOL_PREFIX.
58744         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
58745         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
58746         (Depends-on): Add 'raise'.
58747         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
58748         * modules/stdio (Files): Remove lib/stdio-write.c,
58749         m4/asm-underscore.m4.
58750         (Depends-on): Remove 'raise'.
58752         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
58753         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
58754         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
58755         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
58757 2011-02-28  Bruno Haible  <bruno@clisp.org>
58759         localcharset: Assume ANSI C behaviour of free().
58760         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
58761         calling free().
58762         Suggested by Simon Josefsson <simon@josefsson.org>.
58764 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
58765             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
58766             Bruno Haible  <bruno@clisp.org>  (tiny change)
58768         On Cygwin, use /proc file system instead of win32 API.
58769         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
58770         Win32 file names.
58771         (DllMain): Simplify by removing Cygwin specific code.
58772         (find_shared_library_fullname): Use Linux specific implementation also
58773         for Cygwin.
58774         (get_shared_library_fullname): Update accordingly.
58775         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
58776         Win32 file names.
58777         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
58778         Cygwin specific code.
58780 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
58781             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
58783         Fix OpenMP flag detection for various Fortran compilers.
58784         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
58785         OpenMP-conditional compilation construct, to force compile
58786         failure with missing OpenMP flag.
58787         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
58789 2011-02-25  Eric Blake  <eblake@redhat.com>
58791         strstr: expand test coverage
58792         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
58793         compilation.
58794         * tests/test-memmem.c (main): Duplicate tests.
58795         * tests/test-strcasestr.c (main): Likewise.
58796         * tests/test-c-strcasestr.c (main): Likewise.
58798 2011-02-25  Jim Meyering  <meyering@redhat.com>
58800         maint.mk: detect missing-NL-at-EOF, too
58801         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
58802         it also detects when a file lacks a newline at EOF.
58803         (require_exactly_one_NL_at_EOF_): Renamed from
58804         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
58805         since people may well have .x-sc_... file names tied to the
58806         existing name.  Suggested by Eric Blake.
58808 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58810         dirname: move m4/dos.m4 functionality into lib/dosname.h
58812         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
58813         extracts symbols from it, puts them into config.h; but it's much
58814         easier to use the symbols directly.  filename.h already does this,
58815         but it disagrees with dos.m4 in some respects.  This patch
58816         introduces a different include file dosname.h that packages up
58817         dos.m4, and then later we can work on merging filename.h and
58818         dosname.h.  Applications that need only the easy-to-configure
58819         symbols should consider including dosname.h rather than dirname.h.
58820         * NEWS: Mention incompatible changes.
58821         * m4/dos.m4: Remove.
58822         * lib/dosname.h, modules/dosname: New files.
58823         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
58824         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
58825         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
58826         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
58827         Include dosname.h, not dirname.h.
58828         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
58829         Include dosname.h, for definitions of symbols like ISSLASH
58830         that used to be in config.h.
58831         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
58832         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
58833         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58834         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
58835         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
58836         * modules/rmdir (Files): Likewise.
58837         * modules/stat (Files): Likewise.
58838         * modules/unlink (Files): Likewise.
58839         * modules/dirname-lgpl (Depends-on): Add dosname.
58840         * modules/lstat (Depends-on): Likewise.
58841         * modules/openat (Depends-on): Likewise.
58842         * modules/rmdir (Depends-on): Likewise.
58843         * modules/savewd (Depends-on): Likewise.
58844         * modules/stat (Depends-on): Likewise.
58845         * modules/unlink (Depends-on): Likewise.
58846         * modules/openat (Depends-on): Remove dirname-lgpl.
58847         * modules/savewd (Depends-on): Likewise.
58848         * tests/test-dirname.c: Do not use removed symbols like
58849         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
58850         the remaining symbols, e.g., ISSLASH ('\\').
58852 2011-02-25  Eric Blake  <eblake@redhat.com>
58854         strstr: revert patches that introduced bug and pessimization
58855         * lib/str-two-way.h: Add another reference.
58856         (two_way_short_needle, two_way_long_needle): Revert changes from
58857         2011-02-24; they pessimize search speed.
58858         (critical_factorization): Partially revert changes from
58859         2010-06-22; they violate the requirement that the left half of the
58860         needle be smaller than the period of the needle.
58862 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58864         filenamecat: remove unnecessary dependency on dirname-lgpl
58865         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
58866         is no direct dependency, just an indirect one via filenamecat-lgpl.
58868         remove: remove unnecessary use of m4/dos.m4
58869         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
58870         * modules/remove (FILES): Remove m4/dos.m4.
58872         * lib/openat-proc.c: Don't include dirname.h; not needed.
58874         backupfile: remove unnecessary use of m4/dos.m4
58875         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
58876         of its symbols are used by the backupfile code.  backupfile.c does
58877         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
58878         for the rare case of programs that want all their backup file
58879         names to live within 8+3 limits, and dos.m4 doesn't address that.
58880         * modules/backupfile (Files): Remove m4/dos.m4.
58882 2011-02-24  Jim Meyering  <meyering@redhat.com>
58884         strstr: fix a bug whereby strstr would mistakenly return NULL
58885         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
58886         in period calculation.
58887         (two_way_long_needle): Likewise.
58888         The original problem was reported by Mike Stump in
58889         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
58890         Ralf Wildenhues provided the short needle and haystack.
58891         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
58892         Add a more involved test to trigger the bug in two_way_long_needle.
58894 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
58896         gnulib-tool: remove use of bold display in help screen
58897         * gnulib-tool (func_usage): Do not use bold display anymore in the
58898         help screen.  That was just meant to be a temporary emphasis for a
58899         backward-incompatible change.
58901 2011-02-23  Bruno Haible  <bruno@clisp.org>
58903         Fix misindentation of preprocessor directives.
58904         * lib/argp-namefrob.h: Reindent preprocessor directives.
58905         * lib/getopt_int.h (struct _getopt_data): Likewise.
58906         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
58907         * lib/vasnprintf.c (decode_long_double): Likewise.
58908         * tests/test-argmatch.c: Insert blank lines, for clarity.
58909         * tests/test-exclude.c: Likewise.
58911 2011-02-22  Bruno Haible  <bruno@clisp.org>
58913         ioctl: Fix for MacOS X in 64-bit mode.
58914         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
58915         value.
58916         Suggested by Eric Blake.
58917         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
58919 2011-02-22  Jim Meyering  <meyering@redhat.com>
58921         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
58922         * Makefile (sc_cpp_indent_check): Don't limit the check to files
58923         in lib/.
58925 2011-02-22  Eric Blake  <eblake@redhat.com>
58927         maint: avoid any CDPATH issue
58928         * Makefile (sc_cpp_indent_check): Anchor cd argument.
58930         maint: adjust cpp indentation for my modules, as well
58931         * Makefile (sc_cpp_indent_check): Add my name.
58932         * lib/fbufmode.c: Filter through cppi.
58933         * lib/fpurge.c: Likewise.
58934         * lib/freadable.c: Likewise.
58935         * lib/freading.c: Likewise.
58936         * lib/fwritable.c: Likewise.
58937         * lib/fwriting.c: Likewise.
58938         * lib/sigaction.c: Likewise.
58940 2011-02-22  Jim Meyering  <meyering@redhat.com>
58942         maint: adjust cpp indentation to reflect nesting depth
58943         I.e., in a block of code that begins with an unnested "#if",
58944         put one space between the "#" in column 1 and following token.
58945         For example,
58946         -#include <sys/vfs.h>
58947         +# include <sys/vfs.h>
58948         Do this only in .c files that are part of a module I maintain.
58949         * lib/linkat.c: Filter through cppi.
58950         * lib/nanosleep.c: Likewise.
58951         * lib/openat.c: Likewise.
58952         * lib/openat-die.c: Likewise.
58953         * lib/dup3.c: Likewise.
58954         * lib/fchownat.c: Likewise.
58955         * lib/flock.c: Likewise.
58956         * lib/fsync.c: Likewise.
58957         * lib/fts.c: Likewise.
58958         * lib/getpass.c: Likewise.
58959         * lib/gettimeofday.c: Likewise.
58960         * lib/userspec.c: Likewise.
58961         * Makefile (sc_cpp_indent_check): New rule, to check this.
58963 2011-02-22  Bruno Haible  <bruno@clisp.org>
58965         New module 'wctomb'.
58966         * lib/stdlib.in.h (wctomb): New declaration.
58967         * lib/wctomb.c: New file.
58968         * lib/wctomb-impl.h: New file.
58969         * m4/wctomb.m4: New file.
58970         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
58971         REPLACE_WCTOMB.
58972         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
58973         REPLACE_WCTOMB.
58974         * modules/wctomb: New file.
58975         * tests/test-stdlib-c++.cc: Test signature of wctomb.
58976         * doc/posix-functions/wctomb.texi: Mention the new module.
58977         * modules/wctob (Depends-on): Add wctomb.
58979 2011-02-22  Bruno Haible  <bruno@clisp.org>
58981         New module 'mbtowc'.
58982         * lib/stdlib.in.h (mbtowc): New declaration.
58983         * lib/mbtowc.c: New file.
58984         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
58985         * m4/mbtowc.m4: New file.
58986         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
58987         REPLACE_MBTOWC.
58988         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
58989         REPLACE_MBTOWC.
58990         * modules/mbtowc: New file.
58991         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
58992         * doc/posix-functions/mbtowc.texi: Mention the new module.
58993         * modules/btowc (Depends-on): Add mbtowc.
58995 2011-02-22  Bruno Haible  <bruno@clisp.org>
58997         wcrtomb: Add more tests for native Windows platforms.
58998         * tests/test-wcrtomb-w32-1.sh: New file.
58999         * tests/test-wcrtomb-w32-2.sh: New file.
59000         * tests/test-wcrtomb-w32-3.sh: New file.
59001         * tests/test-wcrtomb-w32-4.sh: New file.
59002         * tests/test-wcrtomb-w32-5.sh: New file.
59003         * tests/test-wcrtomb-w32.c: New file.
59004         * modules/wcrtomb-tests (Files): Add them.
59005         (Makefile.am): Arrange to run these tests.
59006         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
59007         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
59009 2011-02-20  Bruno Haible  <bruno@clisp.org>
59011         wcrtomb: Enhance test.
59012         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
59014 2011-02-20  Bruno Haible  <bruno@clisp.org>
59016         mbrtowc: Tiny optimization.
59017         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
59019 2011-02-20  Jim Meyering  <meyering@redhat.com>
59021         test-exclude.c: remove unmatched #endif
59022         * tests/test-exclude.c: Remove stray #endif, left over from
59023         the change of a week ago.
59025 2011-02-19  Jim Meyering  <meyering@redhat.com>
59027         git-version-gen: skip "-dirty" check when appropriate
59028         * build-aux/git-version-gen: Don't run any git commands when the
59029         version string comes from .tarball-version.  Prior to this, we
59030         would run git update-index --refresh even from a just-unpacked
59031         tarball directory, and that could affect a .git/ directory in a
59032         parent of the build directory.  Reported by Mike Frysinger.
59034 2011-02-19  Bruno Haible  <bruno@clisp.org>
59036         unictype/property-byname: Reduce the size of the 'data' segment.
59037         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
59039 2011-02-19  Bruno Haible  <bruno@clisp.org>
59041         unictype/scripts: Reduce the size of the 'data' segment.
59042         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
59043         '%pic'.
59044         * lib/unictype/scripts_byname.gperf: Regenerated.
59046 2011-02-19  Bruno Haible  <bruno@clisp.org>
59048         stdint: Update documentation.
59049         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
59051 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
59053         stdint: omit redundant check for wchar.h
59054         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
59055         always tests whether wchar.h exists, so remove the now-redundant test.
59057 2011-02-18  Bruno Haible  <bruno@clisp.org>
59059         stdint: Cut dependency to module 'wchar'.
59060         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
59061         include the necessary prerequisites.
59062         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
59063         * modules/stdint (Depends-on): Remove wchar.
59064         (Makefile.am): Substitute HAVE_WCHAR_H.
59065         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
59067 2011-02-18  Eric Blake  <eblake@redhat.com>
59069         longlong: skip, rather than fail, on cross-compilation
59070         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
59071         when cross-compiling; regression from 2011-02-16.
59073 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59075         * NEWS: Mention 2011-02-08 change to stdlib.
59077 2011-02-17  Bruno Haible  <bruno@clisp.org>
59079         getloadavg: Add comments about platforms.
59080         * m4/getloadavg.m4: Add comment.
59081         * lib/getloadavg.c: Likewise.
59083 2011-02-17  Bruno Haible  <bruno@clisp.org>
59085         getloadavg: Fix link error on Solaris 2.6.
59086         * modules/getloadavg (Link): New section.
59087         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
59088         linking test-getloadavg.
59089         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
59090         getloadavg.
59092 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
59094         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
59095         It was 'int', but this doesn't match the IRIX 6.5 manual.
59096         Suggested by Bruno Haible in
59097         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
59099 2011-02-17  Bruno Haible  <bruno@clisp.org>
59101         havelib: Fix comments.
59102         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
59103         change.
59105 2011-02-17  Bruno Haible  <bruno@clisp.org>
59107         havelib: Update config.rpath.
59108         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
59110 2011-02-17  Bruno Haible  <bruno@clisp.org>
59112         getloadavg test: Add some plausibility checks.
59113         * tests/test-getloadavg.c (check_avg): Print a warning when the value
59114         is improbable.
59116 2011-02-16  Eric Blake  <eblake@redhat.com>
59118         maintainer-makefile: make syntax-check a no-op from tarballs
59119         * top/maint.mk (no-vc-detected): New rule.
59120         (local-checks-available): Use it to avoid hanging if someone tries
59121         'make syntax-check' from a tarball.  Also append to any non-syntax
59122         checks already defined in cfg.mk.
59124 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
59126         longlong: tune, particularly for common case of c99
59128         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
59129         or running anything if c99, or if unsigned long long int does not
59130         work.  In either case, we know the answer without further tests.
59131         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
59132         it at most once, and use its results for both long long int and
59133         unsigned long long int.  This is more likely to be efficient in
59134         the common case where the program wants to check for both long
59135         long int and unsigned long long int.
59136         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
59137         since the answer is already known.
59139 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
59141         getloadavg: set errno
59142         * lib/getloadavg.c: Set errno when returning -1.  If no other
59143         error number looks appropriate, set it to ENOSYS if the getloadavg
59144         looks like it can't possibly ever work, ENOTSUP otherwise.
59145         Suggested by Bruno Haible in
59146         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
59148         getloadavg: trim unused parts and speed up 'configure'
59149         * NEWS: Document this.
59150         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
59151         always compiled if getloadavg is absent.
59152         Move test code to ...
59153         * tests/test-getloadavg.c: New file, containing previous
59154         contents of test from lib/getloadavg.c.  It also contains
59155         suggestions by Bruno Haible in
59156         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
59157         * modules/getloadavg-tests: New file.
59158         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
59159         Do tests in the same order as they're needed for getloadavg.c.
59160         Omit setgid-related tests that generate symbols KMEM_GROUP,
59161         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
59162         Do only the tests that are needed to see whether the system has
59163         getloadavg, moving the other tests into ...
59164         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
59165         NLIST_NAME_UNION; nobody should be using it.  Do not define
59166         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
59167         relevant, as the user of this module shouldn't care how getloadavg
59168         is implemented.
59170         getloadavg: omit unused var
59171         * lib/getloadavg.c (getloadavg): Omit unused local variable.
59173 2011-02-15  Jim Meyering  <meyering@redhat.com>
59175         doc: update users.txt
59176         * users.txt: Update iwhd's URL.
59178 2011-02-13  Bruno Haible  <bruno@clisp.org>
59180         Consistent macro naming for macros that use GCC __attribute__.
59181         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
59182         _ATTRIBUTE_NONNULL_.
59183         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
59184         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
59185         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
59186         ATTRIBUTE_DEPRECATED.
59187         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
59188         ATTRIBUTE_NORETURN.
59189         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59190         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59191         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59192         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
59193         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
59194         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
59195         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
59196         ATTRIBUTE_SENTINEL.
59197         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
59198         ATTRIBUTE_RETURN_CHECK.
59199         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
59200         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
59201         ATTRIBUTE_NORETURN.
59202         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
59203         Reported by Paul Eggert.
59205 2011-02-13  Bruno Haible  <bruno@clisp.org>
59207         Don't interfere with a program's definition of __attribute__.
59208         * lib/argp.h (__attribute__): Remove definition.
59209         (_GL_ATTRIBUTE_FORMAT): New macro.
59210         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
59211         * lib/argp-fmtstream.h (__attribute__): Remove definition.
59212         (_GL_ATTRIBUTE_FORMAT): New macro.
59213         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
59214         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
59215         GCC 3 or newer.
59216         * lib/error.h (__attribute__): Remove definition.
59217         (_GL_ATTRIBUTE_FORMAT): New macro.
59218         (error, error_at_line): Use it.
59219         * lib/hash.h (__attribute__): Remove definition.
59220         (ATTRIBUTE_WUR): Update definition. Define always.
59221         * lib/openat.h (__attribute__): Remove definition.
59222         (ATTRIBUTE_NORETURN): Update definition. Define always.
59223         * lib/sigpipe-die.h (__attribute__): Remove definition.
59224         (ATTRIBUTE_NORETURN): Update definition. Define always.
59225         * lib/vasnprintf.h (__attribute__): Remove definition.
59226         (_GL_ATTRIBUTE_FORMAT): New macro.
59227         (asnprintf, vasnprintf): Use it.
59228         * lib/xalloc.h (__attribute__): Remove definition.
59229         (ATTRIBUTE_NORETURN): Update definition. Define always.
59230         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
59231         * lib/xmemdup0.h (__attribute__): Remove definition.
59232         (ATTRIBUTE_NORETURN): Update definition. Define always.
59233         * lib/xprintf.h (__attribute__): Remove definition.
59234         (_GL_ATTRIBUTE_FORMAT): New macro.
59235         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
59236         * lib/xstrtol.h (__attribute__): Remove definition.
59237         (ATTRIBUTE_NORETURN): Update definition. Define always.
59238         * lib/xvasprintf.h (__attribute__): Remove definition.
59239         (_GL_ATTRIBUTE_FORMAT): New macro.
59240         (xasprintf, xvasprintf): Use it.
59241         * tests/test-argmatch.c (__attribute__): Remove definition.
59242         (ATTRIBUTE_NORETURN): Update definition. Define always.
59243         * tests/test-exclude.c (__attribute__): Remove definition.
59244         (ATTRIBUTE_NORETURN): Update definition. Define always.
59245         Reported by Paul Eggert.
59247 2011-02-13  Bruno Haible  <bruno@clisp.org>
59249         mbrtowc: Add more tests for native Windows platforms.
59250         * tests/test-mbrtowc-w32-1.sh: New file.
59251         * tests/test-mbrtowc-w32-2.sh: New file.
59252         * tests/test-mbrtowc-w32-3.sh: New file.
59253         * tests/test-mbrtowc-w32-4.sh: New file.
59254         * tests/test-mbrtowc-w32-5.sh: New file.
59255         * tests/test-mbrtowc-w32.c: New file.
59256         * modules/mbrtowc-tests (Files): Add them.
59257         (Makefile.am): Arrange to run these tests.
59258         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
59259         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
59261 2011-02-13  Bruno Haible  <bruno@clisp.org>
59263         mbrtowc: Work around native Windows bug.
59264         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
59265         guess when no suitable locale for testing was found.
59266         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
59268 2011-02-13  Bruno Haible  <bruno@clisp.org>
59270         mbsinit: Work around mingw bug.
59271         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
59272         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
59273         Windows.
59274         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
59276 2011-02-13  Bruno Haible  <bruno@clisp.org>
59278         mbsinit: Don't crash for a NULL argument.
59279         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
59280         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
59282 2011-02-13  Bruno Haible  <bruno@clisp.org>
59284         Don't interfere with a program's definition of __attribute__.
59285         * lib/stdio.in.h (__attribute__): Remove definition.
59286         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
59287         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
59288         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
59289         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
59290         * lib/string.in.h (__attribute__): Remove definition.
59291         Reported by Paul Eggert.
59293 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59295         stdlib: don't get in the way of non-GCC __attribute__
59296         See thread starting at
59297         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
59298         Revert previous stdlib change, installing the following instead:
59299         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
59300         to get in the way of a non-GCC compiler that supports __attribute__.
59301         (_GL_ATTRIBUTE_RETURN): New macro.
59302         (_Exit): Use it instead of __attribute__.
59304 2011-02-12  Bruno Haible  <bruno@clisp.org>
59306         quotearg test: Avoid test failure on mingw.
59307         * tests/test-quotearg.sh: Convert the locale identifier from native
59308         Windows syntax to Unix syntax.
59310 2011-02-12  Bruno Haible  <bruno@clisp.org>
59312         setlocale: Prefer gnulib's override over libintl's override.
59313         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
59314         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
59315         GNULIB_defined_setlocale is set.
59317 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59319         stdlib: support non-GCC __attribute__
59321         Fix a serious and tricky problem encountered when attempting to
59322         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
59323         5.5, but it crashed due to memory corruption on Solaris 10 with
59324         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
59325         bits that are otherwise zero.  This tagging is optional inside
59326         Emacs but is preferred and is used when __attribute__ ((__aligned
59327         (8))) works, as it does with both recent-enough GCC and with Sun C
59328         5.11.  However, Sun C 5.11 is not GCC and does not #define
59329         __GNUC__ and __GNUC_MINOR__.
59331         When I added the getloadavg module to Emacs, it brought in
59332         stdlib.in.h, which contained this fragment:
59334            #ifndef __attribute__
59335            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
59336            #  define __attribute__(Spec)   /* empty */
59337            # endif
59338            #endif
59340         When files that include <stdlib.h> were compiled with Sun C 5.11,
59341         the above code disabled __attribute__ ((__aligned (8))), which
59342         caused variables to not be properly aligned, which eventually led
59343         to the pointer corruption mentioned above.  (This was a bit hard
59344         to diagnose, unfortunately.)
59346         Several "#define __attribute__(X) /* empty */" code snippets need
59347         to be eradicated from Gnulib to work with non-GCC compilers that
59348         support __attribute__.  The Autoconf way to do this is to test for
59349         each kind of attribute that we want support for, and selectively
59350         enable that in source code.
59352         Fix this problem just for stdlib.h, by adding a test for the
59353         __noreturn__ attribute, and change stdlib.in.h to use that test
59354         when needed.  This technique can be easily generalized to the
59355         other *.in.h files and attributes, and a similar technique can be
59356         used for *.h and *.c files.  This patch is enough to solve the
59357         problem for Emacs + getloadavg, and I thought I'd publish it for
59358         feedback before undertaking further, similar fixes in other
59359         modules.
59361         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
59362         because it's not needed for stdlib.h.  It merely substitutes the
59363         value directly into stdlib.h.  We may well need to #define it, or
59364         similar symbols, for other modules, but it's nice to also have an
59365         option to not #define it for applications like Emacs that do not
59366         need it.
59368         * lib/stdlib.in.h (__attribute__): Do not #define.
59369         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
59370         be defined only if the _Exit module is also used.
59371         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
59372         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
59373         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
59374         platforms.
59375         * modules/_Exit (Files): Add m4/attribute.m4.
59376         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
59377         * m4/attribute.m4: New file.
59379 2011-02-12  Bruno Haible  <bruno@clisp.org>
59381         wcsrtombs: Work around bug on native Windows.
59382         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
59383         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
59384         instead of len.
59385         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
59387 2011-02-12  Bruno Haible  <bruno@clisp.org>
59389         mbsrtowcs: Work around bug on native Windows.
59390         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
59391         against mingw bug.
59392         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
59394 2011-02-12  Bruno Haible  <bruno@clisp.org>
59396         Avoid setlocale bugs in tests.
59397         * modules/btowc (Dependencies): Add setlocale.
59398         * modules/c-strcase (Dependencies): Likewise.
59399         * modules/mbmemcasecmp (Dependencies): Likewise.
59400         * modules/mbmemcasecoll (Dependencies): Likewise.
59401         * modules/mbrtowc (Dependencies): Likewise.
59402         * modules/mbscasecmp (Dependencies): Likewise.
59403         * modules/mbscasestr (Dependencies): Likewise.
59404         * modules/mbschr (Dependencies): Likewise.
59405         * modules/mbscspn (Dependencies): Likewise.
59406         * modules/mbsinit (Dependencies): Likewise.
59407         * modules/mbsncasecmp (Dependencies): Likewise.
59408         * modules/mbsnrtowcs (Dependencies): Likewise.
59409         * modules/mbspbrk (Dependencies): Likewise.
59410         * modules/mbspcasecmp (Dependencies): Likewise.
59411         * modules/mbsrchr (Dependencies): Likewise.
59412         * modules/mbsrtowcs (Dependencies): Likewise.
59413         * modules/mbsspn (Dependencies): Likewise.
59414         * modules/mbsstr (Dependencies): Likewise.
59415         * modules/nl_langinfo (Dependencies): Likewise.
59416         * modules/quotearg (Dependencies): Likewise.
59417         * modules/unicase/locale-language (Dependencies): Likewise.
59418         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
59419         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
59420         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
59421         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
59422         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
59423         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
59424         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
59425         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
59426         * modules/vasnprintf-posix (Dependencies): Likewise.
59427         * modules/wcrtomb (Dependencies): Likewise.
59428         * modules/wcsnrtombs (Dependencies): Likewise.
59429         * modules/wcsrtombs (Dependencies): Likewise.
59431 2011-02-12  Bruno Haible  <bruno@clisp.org>
59433         setlocale: Workaround native Windows bug.
59434         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
59435         succeeds but sets LC_CTYPE to "C", report a failure.
59436         * tests/test-setlocale2.sh: New file.
59437         * tests/test-setlocale2.c: New file.
59438         * modules/setlocale-tests (Files): Add the new files.
59439         (Makefile.am): Enable test-setlocale2.sh test.
59440         * doc/posix-functions/setlocale.texi: Mention workaround.
59442 2011-02-11  Bruno Haible  <bruno@clisp.org>
59444         Tests for module 'setlocale'.
59445         * modules/setlocale-tests: New file.
59446         * tests/test-setlocale1.sh: New file.
59447         * tests/test-setlocale1.c: New file.
59449         New module 'setlocale'.
59450         * lib/locale.in.h (setlocale): New declaration.
59451         * lib/setlocale.c: New file, based on
59452         gettext/gettext-runtime/intl/setlocale.c.
59453         * m4/setlocale.m4: New file.
59454         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
59455         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
59456         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
59457         REPLACE_SETLOCALE.
59458         * modules/setlocale: New file.
59459         * tests/test-locale-c++.cc: Test the declaration of setlocale.
59460         * doc/posix-functions/setlocale.texi: Mention the new module.
59462 2011-02-11  Bruno Haible  <bruno@clisp.org>
59464         Prepare for locale dependent tests on mingw.
59465         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
59466         because it has the wrong locale encoding.
59467         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
59468         French_France.1252 instead of "fr".
59469         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
59470         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
59471         because it has the wrong locale encoding.
59472         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
59473         native Windows, try Turkish_Turkey.65001.
59474         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
59475         Chinese_China.54936.
59477         Prepare for locale dependent tests on mingw.
59478         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
59479         differently.
59480         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
59481         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
59482         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59483         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59485 2011-02-11  Eric Blake  <eblake@redhat.com>
59487         strptime: avoid compiler warnings
59488         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
59489         compiler warnings about dead code.
59490         Reported by Daniel P. Berrange.
59492 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
59494         doc: update users.txt
59495         * users.txt: Add rcs.
59497 2011-02-10  John W. Eaton  <jwe@gnu.org>
59499         doc: update users.txt
59500         * users.txt: Add octave.
59502 2011-02-10  Jim Meyering  <meyering@redhat.com>
59504         doc: update users.txt
59505         * users.txt: Add iwhd.
59507 2011-02-09  Bruno Haible  <bruno@clisp.org>
59509         gnulib-tool: Make copyright notice adjustment more robust.
59510         * gnulib-tool (func_import): In sed_transform_main_lib_file,
59511         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
59512         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
59513         License".
59514         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
59516 2011-02-06  Bruno Haible  <bruno@clisp.org>
59518         New module 'towctrans'.
59519         * modules/towctrans: New file.
59520         * lib/wctype.in.h (towctrans): New declaration.
59521         * lib/towctrans.c: New file.
59522         * lib/towctrans-impl.h: New file.
59523         * m4/towctrans.m4: New file.
59524         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
59525         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
59526         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
59527         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
59528         * doc/posix-functions/towctrans.texi: Mention the new module.
59530 2011-02-06  Bruno Haible  <bruno@clisp.org>
59532         New module 'wctrans'.
59533         * modules/wctrans: New file.
59534         * lib/wctype.in.h (wctrans): New declaration.
59535         * lib/wctrans.c: New file.
59536         * lib/wctrans-impl.h: New file.
59537         * m4/wctrans.m4: New file.
59538         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
59539         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
59540         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
59541         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
59542         * doc/posix-functions/wctrans.texi: Mention the new module.
59544 2011-02-06  Bruno Haible  <bruno@clisp.org>
59546         New module 'iswctype'.
59547         * modules/iswctype: New file.
59548         * lib/wctype.in.h (iswctype): New declaration.
59549         * lib/iswctype.c: New file.
59550         * lib/iswctype-impl.h: New file.
59551         * m4/iswctype.m4: New file.
59552         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
59553         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
59554         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
59555         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
59556         * doc/posix-functions/iswctype.texi: Mention the new module and the
59557         HP-UX 11.00 problem.
59559 2011-02-06  Bruno Haible  <bruno@clisp.org>
59561         New module 'wctype'.
59562         * modules/wctype: Change to represent the wctype() substitute.
59563         * lib/wctype.in.h (wctype): New declaration.
59564         * lib/wctype.c: New file.
59565         * lib/wctype-impl.h: New file.
59566         * m4/wctype.m4: New file.
59567         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
59568         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
59569         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
59570         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
59571         * doc/posix-functions/wctype.texi: Mention the new module and the
59572         HP-UX 11.00 problem.
59574 2011-02-06  Bruno Haible  <bruno@clisp.org>
59576         wctype-h: Ensure wctype_t and wctrans_t are defined.
59577         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
59578         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59579         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59580         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
59581         HAVE_WCTRANS_T.
59582         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
59584 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
59586         flock: fix license typo
59588         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
59589         omitted.
59591 2011-02-08  Bruno Haible  <bruno@clisp.org>
59593         Split large sed scripts, for HP-UX sed.
59594         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
59595         to avoid HP-UX limit of 99 commands, in the near future.
59596         * modules/stdlib (Makefile.am): Likewise.
59597         * modules/unistd (Makefile.am): Likewise.
59598         * modules/wchar (Makefile.am): Likewise.
59599         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59600         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
59601         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
59603 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59604             Bruno Haible  <bruno@clisp.org>
59606         stdlib: improve random_r modularization
59607         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
59608         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
59609         you also need the random_r module to get this material right.
59610         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
59611         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
59612         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
59614 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59616         stdlib: don't depend on stdint
59617         * lib/stdlib.in.h: Don't include <stdint.h> merely because
59618         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
59619         be independent of whether stdint.h is needed.
59620         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
59621         here, instead of ...
59622         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
59623         struct random_data should be using the random_r module, not just
59624         the stdlib module (which wouldn't make sense: what package needs
59625         just struct random_data without also needing random_r?).
59626         * modules/stdlib (Depends-on): Remove stdint.
59628         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
59629         See the thread rooted at
59630         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
59631         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
59632         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
59633         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
59634         __VMS)); previously it was always included (via fcntl--.h).
59635         (getloadavg): Do not use c_strtod.  Instead, approximate it by
59636         hand; this is good enough for load averages.  Also, do not use
59637         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
59638         flags directly if available and don't bother otherwise.  (Packages
59639         that need the extra reliability should use the modules that define
59640         these flags on older platforms that lack them.)
59641         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
59642         fcntl-safer.
59644 2011-02-08  Jim Meyering  <meyering@redhat.com>
59646         di-set.h, ino-map.h: add multiple-inclusion guard
59647         Technically, the guard is required only for ino-map.h, due to its
59648         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
59649         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
59650         * lib/ino-map.h: Likewise.
59652 2011-02-06  Bruno Haible  <bruno@clisp.org>
59654         iswblank: Ensure declaration on glibc systems.
59655         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
59656         * modules/iswblank (Dependencies): Add 'extensions'.
59657         * doc/posix-functions/iswblank.texi: Document the glibc problem.
59659 2011-02-06  Bruno Haible  <bruno@clisp.org>
59661         New module 'iswblank'.
59662         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
59663         * modules/iswblank: New file.
59664         * modules/wctype-h (Files): Remove lib/iswblank.c.
59665         (Makefile.am): Substitute GNULIB_ISWBLANK.
59666         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
59667         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
59668         (gl_WCTYPE_H_DEFAULTS): New macro.
59669         (gl_WCTYPE_H): Require it. Remove iswblank related code.
59670         * modules/iswblank-tests: New file.
59671         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
59672         * tests/test-wctype-h.c (main): Remove iswblank tests.
59673         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
59674         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
59675         of 'wctype-h'.
59676         * NEWS: Mention the change.
59677         * modules/mbchar (Depends-on): Add iswblank.
59679 2011-02-08  Bruno Haible  <bruno@clisp.org>
59681         di-set tests: Refactor.
59682         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
59683         unnecessary includes.
59684         (ASSERT): Remove macro.
59685         (main): Make C90 compliant by avoiding variable declaration after
59686         statement.
59687         * modules/di-set-tests (Files): Add tests/macros.h.
59689 2011-02-08  Bruno Haible  <bruno@clisp.org>
59691         ino-map tests: Refactor.
59692         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
59693         unnecessary includes.
59694         (ASSERT): Remove macro.
59695         (main): Make C90 compliant by avoiding variable declaration after
59696         statement.
59697         * modules/ino-map-tests (Files): Add tests/macros.h.
59699 2011-02-08  Jim Meyering  <meyering@redhat.com>
59701         di-set: add "const" to a cast
59702         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
59703         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
59705 2011-02-06  Bruno Haible  <bruno@clisp.org>
59707         Rename module 'wctype' to 'wctype-h'.
59708         * modules/wctype-h: Renamed from modules/wctype.
59709         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
59710         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
59711         (Files, Depends-on, Makefile.am): Update.
59712         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
59713         (Files, Makefile.am): Update.
59714         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
59715         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
59716         * doc/posix-headers/wctype.texi: Update.
59717         * doc/posix-functions/iswalnum.texi: Update.
59718         * doc/posix-functions/iswalpha.texi: Update.
59719         * doc/posix-functions/iswblank.texi: Update.
59720         * doc/posix-functions/iswcntrl.texi: Update.
59721         * doc/posix-functions/iswdigit.texi: Update.
59722         * doc/posix-functions/iswgraph.texi: Update.
59723         * doc/posix-functions/iswlower.texi: Update.
59724         * doc/posix-functions/iswprint.texi: Update.
59725         * doc/posix-functions/iswpunct.texi: Update.
59726         * doc/posix-functions/iswspace.texi: Update.
59727         * doc/posix-functions/iswupper.texi: Update.
59728         * doc/posix-functions/iswxdigit.texi: Update.
59729         * doc/posix-functions/towlower.texi: Update.
59730         * doc/posix-functions/towupper.texi: Update.
59731         * NEWS: Mention the change.
59732         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
59733         * modules/mbchar (Dependencies): Likewise.
59734         * modules/mbswidth (Dependencies): Likewise.
59735         * modules/quotearg (Dependencies): Likewise.
59736         * modules/regex (Dependencies): Likewise.
59737         * modules/wcscasecmp (Dependencies): Likewise.
59738         * modules/wcsncasecmp (Dependencies): Likewise.
59739         * modules/wcwidth (Dependencies): Likewise.
59741 2011-02-06  Bruno Haible  <bruno@clisp.org>
59743         New module 'wcswidth'.
59744         * modules/wcswidth: New file.
59745         * lib/wchar.in.h (wcswidth): New declaration.
59746         * lib/wcswidth.c: New file.
59747         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
59748         * m4/wcswidth.m4: New file.
59749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
59750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
59751         REPLACE_WCSWIDTH.
59752         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
59753         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
59754         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
59755         * doc/posix-functions/wcswidth.texi: Mention the new module.
59757 2011-02-06  Bruno Haible  <bruno@clisp.org>
59759         New module 'wcstok'.
59760         * modules/wcstok: New file.
59761         * lib/wchar.in.h (wcstok): New declaration.
59762         * lib/wcstok.c: New file.
59763         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
59764         * m4/wcstok.m4: New file.
59765         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
59766         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
59767         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
59768         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
59769         * doc/posix-functions/wcstok.texi: Mention the new module.
59771 2011-02-06  Bruno Haible  <bruno@clisp.org>
59773         New module 'wcsstr'.
59774         * modules/wcsstr: New file.
59775         * lib/wchar.in.h (wcsstr): New declaration.
59776         * lib/wcsstr.c: New file.
59777         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
59778         * m4/wcsstr.m4: New file.
59779         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
59780         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
59781         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
59782         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
59783         * doc/posix-functions/wcsstr.texi: Mention the new module.
59785 2011-02-06  Bruno Haible  <bruno@clisp.org>
59787         New module 'wcspbrk'.
59788         * modules/wcspbrk: New file.
59789         * lib/wchar.in.h (wcspbrk): New declaration.
59790         * lib/wcspbrk.c: New file.
59791         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
59792         * m4/wcspbrk.m4: New file.
59793         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
59794         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
59795         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
59796         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
59797         * doc/posix-functions/wcspbrk.texi: Mention the new module.
59799 2011-02-06  Bruno Haible  <bruno@clisp.org>
59801         New module 'wcsspn'.
59802         * modules/wcsspn: New file.
59803         * lib/wchar.in.h (wcsspn): New declaration.
59804         * lib/wcsspn.c: New file.
59805         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
59806         * m4/wcsspn.m4: New file.
59807         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
59808         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
59809         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
59810         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
59811         * doc/posix-functions/wcsspn.texi: Mention the new module.
59813 2011-02-06  Bruno Haible  <bruno@clisp.org>
59815         New module 'wcscspn'.
59816         * modules/wcscspn: New file.
59817         * lib/wchar.in.h (wcscspn): New declaration.
59818         * lib/wcscspn.c: New file.
59819         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
59820         * m4/wcscspn.m4: New file.
59821         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
59822         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
59823         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
59824         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
59825         * doc/posix-functions/wcscspn.texi: Mention the new module.
59827 2011-02-06  Bruno Haible  <bruno@clisp.org>
59829         New module 'wcsrchr'.
59830         * modules/wcsrchr: New file.
59831         * lib/wchar.in.h (wcsrchr): New declaration.
59832         * lib/wcsrchr.c: New file.
59833         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
59834         * m4/wcsrchr.m4: New file.
59835         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
59836         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
59837         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
59838         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
59839         * doc/posix-functions/wcsrchr.texi: Mention the new module.
59841 2011-02-06  Bruno Haible  <bruno@clisp.org>
59843         New module 'wcschr'.
59844         * modules/wcschr: New file.
59845         * lib/wchar.in.h (wcschr): New declaration.
59846         * lib/wcschr.c: New file.
59847         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
59848         * m4/wcschr.m4: New file.
59849         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
59850         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
59851         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
59852         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
59853         * doc/posix-functions/wcschr.texi: Mention the new module.
59855 2011-02-06  Bruno Haible  <bruno@clisp.org>
59857         New module 'wcsdup'.
59858         * modules/wcsdup: New file.
59859         * lib/wchar.in.h (wcsdup): New declaration.
59860         * lib/wcsdup.c: New file.
59861         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
59862         * m4/wcsdup.m4: New file.
59863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
59864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
59865         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
59866         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
59867         * doc/posix-functions/wcsdup.texi: Mention the new module.
59869 2011-02-06  Bruno Haible  <bruno@clisp.org>
59871         New module 'wcsxfrm'.
59872         * modules/wcsxfrm: New file.
59873         * lib/wchar.in.h (wcsxfrm): New declaration.
59874         * lib/wcsxfrm.c: New file.
59875         * lib/wcsxfrm-impl.h: New file.
59876         * m4/wcsxfrm.m4: New file.
59877         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
59878         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
59879         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
59880         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
59881         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
59883 2011-02-06  Bruno Haible  <bruno@clisp.org>
59885         New module 'wcscoll'.
59886         * modules/wcscoll: New file.
59887         * lib/wchar.in.h (wcscoll): New declaration.
59888         * lib/wcscoll.c: New file.
59889         * lib/wcscoll-impl.h: New file.
59890         * m4/wcscoll.m4: New file.
59891         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
59892         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
59893         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
59894         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
59895         * doc/posix-functions/wcscoll.texi: Mention the new module.
59897 2011-02-06  Bruno Haible  <bruno@clisp.org>
59899         New module 'wcsncasecmp'.
59900         * modules/wcsncasecmp: New file.
59901         * lib/wchar.in.h (wcsncasecmp): New declaration.
59902         * lib/wcsncasecmp.c: New file.
59903         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
59904         * m4/wcsncasecmp.m4: New file.
59905         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
59906         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
59907         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
59908         HAVE_WCSNCASECMP.
59909         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
59910         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
59912 2011-02-06  Bruno Haible  <bruno@clisp.org>
59914         New module 'wcscasecmp'.
59915         * modules/wcscasecmp: New file.
59916         * lib/wchar.in.h (wcscasecmp): New declaration.
59917         * lib/wcscasecmp.c: New file.
59918         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
59919         * m4/wcscasecmp.m4: New file.
59920         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
59921         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
59922         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
59923         HAVE_WCSCASECMP.
59924         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
59925         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
59927 2011-02-05  Bruno Haible  <bruno@clisp.org>
59929         New module 'wcsncmp'.
59930         * modules/wcsncmp: New file.
59931         * lib/wchar.in.h (wcsncmp): New declaration.
59932         * lib/wcsncmp.c: New file.
59933         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
59934         * m4/wcsncmp.m4: New file.
59935         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
59936         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
59937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
59938         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
59939         * doc/posix-functions/wcsncmp.texi: Mention the new module.
59941 2011-02-05  Bruno Haible  <bruno@clisp.org>
59943         New module 'wcscmp'.
59944         * modules/wcscmp: New file.
59945         * lib/wchar.in.h (wcscmp): New declaration.
59946         * lib/wcscmp.c: New file.
59947         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
59948         * m4/wcscmp.m4: New file.
59949         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
59950         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
59951         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
59952         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
59953         * doc/posix-functions/wcscmp.texi: Mention the new module.
59955 2011-02-05  Bruno Haible  <bruno@clisp.org>
59957         New module 'wcsncat'.
59958         * modules/wcsncat: New file.
59959         * lib/wchar.in.h (wcsncat): New declaration.
59960         * lib/wcsncat.c: New file.
59961         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
59962         * m4/wcsncat.m4: New file.
59963         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
59964         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
59965         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
59966         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
59967         * doc/posix-functions/wcsncat.texi: Mention the new module.
59969 2011-02-05  Bruno Haible  <bruno@clisp.org>
59971         New module 'wcscat'.
59972         * modules/wcscat: New file.
59973         * lib/wchar.in.h (wcscat): New declaration.
59974         * lib/wcscat.c: New file.
59975         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
59976         * m4/wcscat.m4: New file.
59977         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
59978         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
59979         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
59980         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
59981         * doc/posix-functions/wcscat.texi: Mention the new module.
59983 2011-02-05  Bruno Haible  <bruno@clisp.org>
59985         New module 'wcpncpy'.
59986         * modules/wcpncpy: New file.
59987         * lib/wchar.in.h (wcpncpy): New declaration.
59988         * lib/wcpncpy.c: New file.
59989         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
59990         * m4/wcpncpy.m4: New file.
59991         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
59992         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
59993         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
59994         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
59995         * doc/posix-functions/wcpncpy.texi: Mention the new module.
59997 2011-02-05  Bruno Haible  <bruno@clisp.org>
59999         New module 'wcsncpy'.
60000         * modules/wcsncpy: New file.
60001         * lib/wchar.in.h (wcsncpy): New declaration.
60002         * lib/wcsncpy.c: New file.
60003         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
60004         * m4/wcsncpy.m4: New file.
60005         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
60006         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
60007         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
60008         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
60009         * doc/posix-functions/wcsncpy.texi: Mention the new module.
60011 2011-02-05  Bruno Haible  <bruno@clisp.org>
60013         New module 'wcpcpy'.
60014         * modules/wcpcpy: New file.
60015         * lib/wchar.in.h (wcpcpy): New declaration.
60016         * lib/wcpcpy.c: New file.
60017         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
60018         * m4/wcpcpy.m4: New file.
60019         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
60020         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
60021         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
60022         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
60023         * doc/posix-functions/wcpcpy.texi: Mention the new module.
60025 2011-02-05  Bruno Haible  <bruno@clisp.org>
60027         New module 'wcscpy'.
60028         * modules/wcscpy: New file.
60029         * lib/wchar.in.h (wcscpy): New declaration.
60030         * lib/wcscpy.c: New file.
60031         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
60032         * m4/wcscpy.m4: New file.
60033         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
60034         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
60035         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
60036         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
60037         * doc/posix-functions/wcscpy.texi: Mention the new module.
60039 2011-02-05  Bruno Haible  <bruno@clisp.org>
60041         New module 'wcsnlen'.
60042         * modules/wcsnlen: New file.
60043         * lib/wchar.in.h (wcsnlen): New declaration.
60044         * lib/wcsnlen.c: New file.
60045         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
60046         * m4/wcsnlen.m4: New file.
60047         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
60048         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
60049         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
60050         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
60051         * doc/posix-functions/wcsnlen.texi: Mention the new module.
60053 2011-02-05  Bruno Haible  <bruno@clisp.org>
60055         New module 'wcslen'.
60056         * modules/wcslen: New file.
60057         * lib/wchar.in.h (wcslen): New declaration.
60058         * lib/wcslen.c: New file.
60059         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
60060         * m4/wcslen.m4: New file.
60061         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
60062         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
60063         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
60064         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
60065         * doc/posix-functions/wcslen.texi: Mention the new module.
60067 2011-02-05  Bruno Haible  <bruno@clisp.org>
60069         New module 'wmemset'.
60070         * modules/wmemset: New file.
60071         * lib/wchar.in.h (wmemset): New declaration.
60072         * lib/wmemset.c: New file.
60073         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
60074         * m4/wmemset.m4: New file.
60075         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
60076         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
60077         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
60078         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
60079         * doc/posix-functions/wmemset.texi: Mention the new module.
60081 2011-02-05  Bruno Haible  <bruno@clisp.org>
60083         New module 'wmemmove'.
60084         * modules/wmemmove: New file.
60085         * lib/wchar.in.h (wmemmove): New declaration.
60086         * lib/wmemmove.c: New file.
60087         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
60088         * m4/wmemmove.m4: New file.
60089         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
60090         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
60091         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
60092         HAVE_WMEMMOVE.
60093         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
60094         * doc/posix-functions/wmemmove.texi: Mention the new module.
60096 2011-02-05  Bruno Haible  <bruno@clisp.org>
60098         New module 'wmemcpy'.
60099         * modules/wmemcpy: New file.
60100         * lib/wchar.in.h (wmemcpy): New declaration.
60101         * lib/wmemcpy.c: New file.
60102         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
60103         * m4/wmemcpy.m4: New file.
60104         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
60105         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
60106         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
60107         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
60108         * doc/posix-functions/wmemcpy.texi: Mention the new module.
60110 2011-02-05  Bruno Haible  <bruno@clisp.org>
60112         New module 'wmemcmp'.
60113         * modules/wmemcmp: New file.
60114         * lib/wchar.in.h (wmemcmp): New declaration.
60115         * lib/wmemcmp.c: New file.
60116         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
60117         * m4/wmemcmp.m4: New file.
60118         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
60119         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
60120         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
60121         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
60122         * doc/posix-functions/wmemcmp.texi: Mention the new module.
60124 2011-02-07  Jim Meyering  <meyering@redhat.com>
60126         di-set, ino-map: new modules, from coreutils
60127         * lib/di-set.c: New file.
60128         * lib/di-set.h: Likewise.
60129         * lib/ino-map.c: Likewise.
60130         * lib/ino-map.h: Likewise.
60131         * modules/di-set: Likewise.
60132         * modules/di-set-tests: Likewise.
60133         * modules/ino-map: Likewise.
60134         * modules/ino-map-tests: Likewise.
60135         * tests/test-di-set.c: Likewise.
60136         * tests/test-ino-map.c: Likewise.
60138 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
60140         getloadavg: merge minor changes from Emacs
60142         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
60143         (getloadavg): Use memset, not bzero.
60145         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
60146         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
60147         clash (bug#86).
60149 2010-11-14  Bruno Haible  <bruno@clisp.org>
60151         Allow multiple gnulib generated replacements to coexist.
60152         * lib/getopt.in.h (struct option): Avoid identical redefinition.
60153         * lib/inttypes.in.h (imaxdiv_t): Likewise.
60154         * lib/langinfo.in.h (nl_item): Likewise.
60155         * lib/math.in.h (_NaN, NAN): Likewise.
60156         * lib/netdb.in.h (struct addrinfo): Likewise.
60157         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
60158         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
60159         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
60160         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
60161         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
60162         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
60163         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
60164         pthread_mutexattr_init, pthread_mutexattr_settype,
60165         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
60166         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
60167         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
60168         pthread_spin_trylock, pthread_spin_unlock): Likewise.
60169         * lib/sched.in.h (struct sched_param): Likewise.
60170         * lib/se-selinux.in.h (security_class_t, security_context_t,
60171         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
60172         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
60173         lsetfilecon, fsetfilecon, security_check_context,
60174         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
60175         Likewise.
60176         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
60177         Likewise.
60178         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
60179         _gl_function_taking_int_returning_void_t, union sigval,
60180         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
60181         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
60182         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
60183         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
60184         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
60185         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
60186         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
60187         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
60188         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
60189         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
60190         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
60191         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
60192         socklen_t, rpl_fd_isset): Likewise.
60193         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
60194         * lib/sys_time.in.h (struct timeval): Likewise.
60195         * lib/sys_times.in.h (struct tms): Likewise.
60196         * lib/sys_utsname.in.h (struct utsname):
60197         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
60198         * lib/unistd.in.h (getpagesize): Likewise.
60199         * lib/wchar.in.h (mbstate_t): Likewise.
60200         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60201         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
60202         towlower, towupper): Likewise.
60203         Reported by Sam Steingold <sds@gnu.org>.
60205 2011-02-05  Eric Blake  <eblake@redhat.com>
60207         unsetenv: work around Haiku issues
60208         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
60209         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
60211 2010-12-30  Bruce Korb  <bkorb@gnu.org>
60213         libposix: avoid calling error() within libposix
60214         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
60215         is defined.
60217 2011-02-05  Eric Blake  <eblake@redhat.com>
60219         strerror_r-posix: port to cygwin
60220         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
60221         implementation.
60222         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
60223         * tests/test-strerror_r.c (main): Fix test.
60224         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
60225         issue.
60227 2011-02-05  Bruno Haible  <bruno@clisp.org>
60229         New module 'wmemchr'.
60230         * modules/wmemchr: New file.
60231         * lib/wchar.in.h (wmemchr): New declaration.
60232         * lib/wmemchr.c: New file.
60233         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
60234         * m4/wmemchr.m4: New file.
60235         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
60236         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
60237         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
60238         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
60239         * doc/posix-functions/wmemchr.texi: Mention the new module.
60241 2011-02-04  Eric Blake  <eblake@redhat.com>
60243         fdopendir: detect FreeBSD bug
60244         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
60245         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
60247 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60249         stdbool: do not define HAVE_STDBOOL_H
60250         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
60251         AC_HEADER_STDBOOL.  All uses changed.  Do not define
60252         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
60253         imported from the latest Autoconf git.  It was motivated by Emacs,
60254         which uses gnulib but does not need HAVE_STDBOOL_H.
60256 2011-02-04  Bruno Haible  <bruno@clisp.org>
60258         wcsnrtombs: Prepare for new module wwcsnrtombs.
60259         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
60260         * lib/wcsnrtombs.c: Include it.
60261         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
60263         wcsrtombs: Prepare for new module wwcsrtombs.
60264         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
60265         * lib/wcsrtombs.c: Include it.
60266         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
60268         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
60269         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
60270         * lib/mbsnrtowcs.c: Include it.
60271         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
60273         mbsrtowcs: Prepare for new module mbsrtowwcs.
60274         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
60275         * lib/mbsrtowcs.c: Include it.
60276         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
60278 2011-02-04  Bruno Haible  <bruno@clisp.org>
60280         vasnprintf: Reduce use of malloc for small format strings.
60281         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
60282         (arguments): Add room for the first 7 arguments.
60283         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
60284         (char_directives, u8_directives, u16_directives, u32_directives): Add
60285         room for the first 7 directives.
60286         * lib/printf-parse.c: Include <string.h>.
60287         (PRINTF_PARSE): Change memory handling code so that it uses the first
60288         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
60289         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
60290         Reported by Pádraig Brady <P@draigbrady.com>.
60292 2011-01-31  Eric Blake  <eblake@redhat.com>
60294         dup2: work around Haiku bug
60295         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
60296         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
60297         * doc/posix-functions/dup2.texi (dup2): Document the bug.
60298         * tests/test-dup2.c (main): Enhance test.
60300 2011-01-31  Simon Josefsson  <simon@josefsson.org>
60302         doc: off_t is not available in eglibc 2.11.2 stdio.h.
60303         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
60304         declared by eglibc 2.11.2.
60305         * lib/stdio.in.h: Likewise.
60307 2011-01-31  Eric Blake  <eblake@redhat.com>
60309         ignore-value: add missing test dependency
60310         * tests/test-ignore-value.c: Revert previous change; stdio.h
60311         provides off_t.
60312         * modules/ignore-value-tests (Depends-on): Add missing dependency.
60314 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60316         mktime: clarify long_int width checking
60317         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
60318         the top level, to make it clearer that the assumption about
60319         long_int width is being checked.  See
60320         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
60322 2011-01-30  Simon Josefsson  <simon@josefsson.org>
60324         ignore-value: Fix self-test.
60325         * tests/test-ignore-value.c: Include sys/types.h for off_t.
60327 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60329         TYPE_MAXIMUM: avoid theoretically undefined behavior
60330         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
60331         negative number, which the C Standard says has undefined behavior.
60332         In practice this is not a problem, but might as well do it by the book.
60333         Reported by Rich Felker and Eric Blake; see
60334         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
60335         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
60336         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60337         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60338         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
60339         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60340         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
60342         mktime: #undef mktime before #defining it
60343         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
60345         mktime: systematically normalize tm_isdst comparisons
60346         * lib/mktime.c (isdst_differ): New function.
60347         (__mktime_internal): Use it systematically for all isdst comparisons.
60348         This completes the fix for libc BZ #6723, and removes the need for
60349         normalizing tm_isdst.  See
60350         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
60351         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
60353         mktime: fix some integer overflow issues and sidestep the rest
60355         This was prompted by a bug report by Benjamin Lindner for MinGW
60356         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
60357         His bug is due to signed integer overflow (0 - INT_MIN), and I
60358         I scanned through mktime.c looking for other integer overflow
60359         problems, fixing all the bugs I found.
60361         Although the C Standard says the resulting code is still not safe
60362         in the presence of integer overflow, in practice it should be good
60363         enough for all real-world two's-complement implementations, except
60364         for debugging environments that deliberately trap on integer
60365         overflow (e.g., gcc -ftrapv).
60367         * lib/mktime.c (WRAPV): New macro.
60368         (SHR): Also check that long_int and time_t shift right in the
60369         usual way, before using the fast-but-unportable method.
60370         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
60371         used.  The code already assumed two's complement, so there's
60372         no need to test for alternatives.  All uses removed.
60373         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
60374         the C standard.  Problem reported by Rich Felker in
60375         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
60376         (twos_complement_arithmetic): Also check long_int and time_t.
60377         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
60378         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
60379         (__mktime_internal): Avoid integer overflow with unary subtraction
60380         in two instances where -1 - X is an adequate replacement for -X,
60381         since the calculations are approximate.
60383 2011-01-29  Eric Blake  <eblake@redhat.com>
60385         mktime: avoid infinite loop
60386         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
60387         type; behavior is still undefined but portable to all known targets.
60388         Reported by Rich Felker.
60390 2011-01-29  Simon Josefsson  <simon@josefsson.org>
60392         rename, unlink, same-inode: Relicense.
60393         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
60394         * modules/unlink (License): Likewise.
60395         * modules/same-inode (License): Likewise.
60397 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60399         mktime: avoid problems on NetBSD 5 / i386
60400         * lib/mktime.c (long_int): New type.  This works around a problem
60401         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
60402         but time_t is 64 bits, and where I expect the existing code is
60403         wrong in some cases.
60404         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
60405         (ydhms_diff): Bring back the compile-time check for wide-enough
60406         year and yday.
60408         mktime: fix misspelling in comment
60409         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
60410         This merges all recent glibc changes of importance.
60412 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60414         move-if-change: cope with concurrent mv of identical file.
60415         * build-aux/move-if-change (CMPPROG): Accept environment
60416         variable as an override for `cmp'.
60417         (usage): Document CMPPROG.
60418         Adjust comparison to drop stdout.  Cope with failure of mv if
60419         the target file exists and is identical to the source, for
60420         parallel builds.
60421         Report from H.J. Lu against binutils in PR binutils/12283.
60423 2011-01-28  Bruce Korb  <bkorb@gnu.org>
60425         * users.txt: Mention sharutils.
60427 2011-01-28  Simon Josefsson  <simon@josefsson.org>
60429         * users.txt: Mention OATH Toolkit.
60431 2011-01-27  Bruno Haible  <bruno@clisp.org>
60433         Prepare for supporting FreeBSD 10.
60434         * build-aux/config.libpath: Remove handling of freebsd1*.
60436 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
60438         Prepare for supporting FreeBSD 10.
60439         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
60440         match FreeBSD 10.0.
60442 2011-01-27  Bruno Haible  <bruno@clisp.org>
60444         vma-iter, get-rusage-as: Add OpenBSD support.
60445         * modules/vma-iter (configure.ac): Test for mquery.
60446         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
60447         * lib/vma-iter.c: Include <sys/mman.h>.
60448         (vma_iterate): Add an implementation based on mquery().
60449         * lib/resource-ext.h (get_rusage_as): Update comments.
60450         * lib/get-rusage-as.c: Likewise.
60451         * lib/get-rusage-data.c: Likewise.
60453 2011-01-26  Karl Berry  <karl@gnu.org>
60455         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
60456         variables to make it easier to override the makeinfo program used.
60458 2011-01-26  Eric Blake  <eblake@redhat.com>
60460         fcntl: work around Haiku F_DUPFD bugs
60461         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
60462         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
60463         cloexec bit on duplication.
60464         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
60466 2011-01-26  Bruno Haible  <bruno@clisp.org>
60468         Enable memory leak tests on AIX.
60469         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
60470         * tests/test-fprintf-posix3.c (main): Likewise.
60472 2011-01-26  Bruno Haible  <bruno@clisp.org>
60474         Tests for module 'get-rusage-data'.
60475         * modules/get-rusage-data-tests: New file.
60476         * tests/test-get-rusage-data.c: New file.
60478         New module 'get-rusage-data'.
60479         * lib/resource-ext.h (get_rusage_data): New declaration.
60480         * lib/get-rusage-data.c: New file.
60481         * modules/get-rusage-data: New file.
60483 2011-01-25  Bruno Haible  <bruno@clisp.org>
60485         get-rusage-as: Allow for easier testing.
60486         * lib/resource-ext.h (get_rusage_as): Add comment.
60487         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
60488         (main): New function for interactive testing.
60490 2011-01-25  Bruno Haible  <bruno@clisp.org>
60492         vma-iter: Treat Haiku like BeOS.
60493         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
60494         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
60496 2011-01-25  Eric Blake  <eblake@redhat.com>
60498         c-stack: fix regression on cygwin when libsigsegv is present
60499         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
60501 2011-01-24  Bruno Haible  <bruno@clisp.org>
60503         vma-iter: Avoid empty intervals.
60504         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
60505         on an empty interval.
60507 2011-01-24  Jim Meyering  <meyering@redhat.com>
60509         u64: remove unnecessary #include
60510         * lib/u64.h: Don't include <stddef.h>.  It was not used.
60512 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60514         Allow the user to avoid the HAVE_RAW_DECL_* macros.
60515         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
60517 2011-01-23  Bruno Haible  <bruno@clisp.org>
60519         New module 'vma-iter'.
60520         * lib/vma-iter.h: New file.
60521         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
60522         * modules/vma-iter: New file.
60523         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
60524         for get_rusage_as_via_iterator.
60525         (vma_iterate_callback): New function.
60526         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
60527         * modules/get-rusage-as (Depends-on): Add vma-iter.
60529 2011-01-23  Bruno Haible  <bruno@clisp.org>
60531         uninorm: Tweak includes.
60532         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
60533         Reported by Jim Meyering.
60535 2011-01-23  Bruno Haible  <bruno@clisp.org>
60537         get-rusage-as: Improve on NetBSD.
60538         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
60539         /proc, like on FreeBSD.
60541 2011-01-23  Jim Meyering  <meyering@redhat.com>
60543         xreadlink.h: remove unnecessary #include
60544         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
60546         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
60547         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
60549 2011-01-23  Bruno Haible  <bruno@clisp.org>
60551         get-rusage-as: Fix bug.
60552         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
60553         original limit when aborting the first loop.
60555 2011-01-23  Bruno Haible  <bruno@clisp.org>
60557         wctype: Ensure valid C syntax.
60558         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
60559         unconditionally, instead of gl_NEXT_HEADERS conditionally.
60561 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
60563         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
60564         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
60565         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
60566         as they are needed only for configure's test case.
60567         This removes two unnecessary symbols from config.h.
60569         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
60570         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
60571         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
60572         AC_CHECK_HEADERS_ONCE on a header that we also invoke
60573         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
60574         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
60575         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
60576         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
60577         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60578         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60579         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
60580         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60581         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
60582         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
60583         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
60584         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60585         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
60586         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
60588 2011-01-21  Eric Blake  <eblake@redhat.com>
60590         maintainer-makefile: work with older git for submodule check
60591         * top/maint.mk (public-submodule-commit): Rewrite to avoid
60592         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
60593         Reported by Matthias Bolte.
60595         bootstrap: minor portability fixes
60596         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
60597         (usage): Omit leading capital and trailing . on help phrases, per
60598         GNU Coding Standards.
60599         (check_versions, top level): Prefix messages with script name.
60601 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
60603         bootstrap: support --no-git option
60604         * build-aux/bootstrap: Add --no-git option, to be used when
60605         --gnulib-srcdir points to the exact desired checkout.
60607 2011-01-21  Eric Blake  <eblake@redhat.com>
60609         strerror_r-posix: work with glibc 2.13
60610         * lib/strerror_r.c (strerror_r): Fix return type.
60612 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60613             Bruno Haible  <bruno@clisp.org>
60615         uN_strstr: New unit tests.
60616         * modules/unistr/u8-strstr-tests: New file.
60617         * modules/unistr/u16-strstr-tests: New file.
60618         * modules/unistr/u32-strstr-tests: New file.
60619         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
60620         * tests/unistr/test-u8-strstr.c: New file.
60621         * tests/unistr/test-u16-strstr.c: New file.
60622         * tests/unistr/test-u32-strstr.c: New file.
60624 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60625             Bruno Haible  <bruno@clisp.org>
60627         Make uN_strstr functions O(n) worst-case.
60628         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
60629         16-bit and 32-bit unit cases, use the unibyte algorithm from
60630         lib/mbsstr.c.
60631         * lib/unistr/u8-strstr.c: Include <string.h>.
60632         (UNIT_IS_UINT8_T): New macro.
60633         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
60634         (U_STRLEN, U_STRNLEN): New macros.
60635         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
60636         (U_STRLEN, U_STRNLEN): New macros.
60637         * modules/unistr/u8-strstr (Depends-on): Add strstr.
60638         (configure.ac): Update required libunistring version.
60639         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
60640         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
60641         malloca.
60642         (configure.ac): Update required libunistring version.
60643         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
60644         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
60645         malloca.
60646         (configure.ac): Update required libunistring version.
60648 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60649             Bruno Haible  <bruno@clisp.org>
60651         Prepare for faster uN_strstr functions.
60652         * lib/str-kmp.h: Support definable UNITs.
60653         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
60654         needle_len argument.
60655         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
60656         * lib/mbscasestr.c (mbscasestr): Likewise.
60658 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60660         malloca-tests: make faster by unsetting MALLOC_PERTURB_
60661         * tests/test-malloca.c (main): Unset the environment variable
60662         to greatly speed up the test.
60663         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
60664         * modules/malloca-tests: Depend on unsetenv.
60666 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60668         ignore-value: remove stdint dependency
60669         * lib/ignore-value.h: Remove <stdint.h>
60670         * modules/ignore-value: Remove stdint dependency.
60672 2011-01-21  Jim Meyering  <meyering@redhat.com>
60674         maint.mk: adjust variable name to be consistent with other gl_ vars
60675         * top/maint.mk (gl_public_submodule_commit): Rename the variable
60676         to be lower case.
60678 2011-01-20  Jim Meyering  <meyering@redhat.com>
60680         maint.mk: make "check" depend on public-submodule-commit by default
60681         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
60683 2011-01-20  Bruno Haible  <bruno@clisp.org>
60685         mbfile, mbiter: Complete change from 2008-12-21.
60686         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
60687         * m4/mbiter.m4 (gl_MBITER): Likewise.
60689 2011-01-20  Jim Meyering  <meyering@redhat.com>
60691         init.sh: insert space between each function name and "()"
60692         * tests/init.sh: Make it a little easier to see that a function's
60693         name is "warn_", and not "warn" when looking at the first part of
60694         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
60696 2011-01-20  Jim Meyering  <meyering@redhat.com>
60698         mountlist: clean up code formatting
60699         * lib/mountlist.c (read_file_system_list): Split a long line,
60700         correct bracing style, use NULL in place of "(struct statfs *)0",
60701         don't parenthesize return value, add spaces around "=" and after
60702         ";-in-for-stmt".
60704 2011-01-14  Markus Duft  <mduft@gentoo.org>
60706         mountlist: add support for Interix
60707         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
60708         Apply statvfs to all entries of /dev/fs.
60709         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
60710         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
60712 2011-01-20  Jim Meyering  <meyering@redhat.com>
60714         maint.mk: improve the public-submodule-commit rule
60715         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
60716         to suppress printing of its commands... unless V=1.
60717         Add git submodule's --quiet option to suppress printing of e.g.,
60718         "Entering gnulib" output.
60719         "cd" into $(srcdir) before running git submodule.
60721 2011-01-20  Bruno Haible  <bruno@clisp.org>
60723         include_next: Fix bug introduced on 2011-01-18.
60724         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
60725         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
60726         ac_cv_header_... variable if the second argument is not 'check'.
60727         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
60728         gl_NEXT_HEADERS_INTERNAL.
60730 2011-01-20  Bruno Haible  <bruno@clisp.org>
60732         Allow the user to avoid the GNULIB_TEST_* macros.
60733         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
60734         Suggested by Paul Eggert.
60736 2011-01-14  Jim Meyering  <meyering@redhat.com>
60738         bootstrap: avoid failure when there is no .gitmodules file
60739         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
60740         has been assigned to, even when its value is the empty string.
60741         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
60742         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
60743         Reported by John W. Eaton <jwe@gnu.org>.
60745 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60747         assume <ctype.h>, ..., <time.h> exist
60748         For years gnulib has been assuming the existence of the headers
60749         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
60750         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
60751         them, since they don't appear to be needed.
60752         * README (Portability guidelines): Document this.
60753         * lib/flock.c: Assume <fcntl.h> exists.
60754         * lib/regex_internal.h: Assume <locale.h> exists.
60755         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
60756         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
60757         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
60758         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
60759         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
60760         * m4/regex.m4 (gl_REGEX): Likewise.
60761         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
60762         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
60763         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
60764         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
60765         * tests/test-argp.c: Likewise.
60766         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
60768         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
60769         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
60770         AA_APPLE_UNIVERSAL_BUILD.  See
60771         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
60772         * NEWS: Document this.
60774 2011-01-19  Eric Blake  <eblake@redhat.com>
60776         c-stack: assume stack overflow if SA_SIGINFO unsupported
60777         * lib/c-stack.c (SIGACTION_WORKS): Rename...
60778         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
60779         sigaction will work.
60780         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
60781         behavior match Linux.
60782         * tests/test-c-stack.c (main): Prefer NULL for pointers.
60784         stdbool-tests: accommodate Haiku
60785         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
60787         binary-io: fix O_TEXT on Haiku
60788         * modules/binary-io (Depends-on): Add fcntl-h.
60789         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
60790         than blindly undefining O_TEXT.
60791         Reported by Scott McCreary.
60793 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60795         include_next: do not check for standard headers like stddef.h
60797         I found this problem when modifying Emacs to use gnulib.
60798         I noticed that it added HAVE_STDDEF_H to config.h, even though
60799         gnulib always assumes <stddef.h> exists as per README and this
60800         symbol is unnecessary.
60801         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
60802         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
60803         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
60804         faster for headers like stddef.h that are known to exist.
60805         (gl_CHECK_NEXT_HEADERS): Use it.
60806         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
60807         rather than gl_CHECK_NEXT_HEADERS.
60808         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
60809         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
60811 2011-01-18  Eric Blake  <eblake@redhat.com>
60813         ansi-c++-opt: skip C++ dependency style if C++ is unused
60814         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
60815         tests when we know C++ compilation is not desired.
60816         Reported by Scott McCreary.
60818 2011-01-18  Bruno Haible  <bruno@clisp.org>
60820         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
60821         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
60822         (main): Perform test also when getrlimit and setrlimit don't exist or
60823         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
60824         limiting the address space size using setrlimit, compare the address
60825         space size before and after the test.
60826         * tests/test-dprintf-posix2.c: Likewise.
60827         * tests/test-fprintf-posix3.sh: Update skip messages.
60828         * tests/test-dprintf-posix2.sh: Likewise.
60829         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
60830         * modules/dprintf-posix-tests (Depends-on): Likewise.
60831         Reported by Bruce Korb <bkorb@gnu.org> and
60832         Gary V. Vaughan <gary@gnu.org>.
60834 2011-01-18  Bruno Haible  <bruno@clisp.org>
60836         get-rusage-as: Improvement for Cygwin.
60837         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
60838         areas that are merely reserved.
60840 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60842         strftime: remove dependencies on multibyte modules
60844         strftime depended on mbrlen, mbsinit, and wchar, but these modules
60845         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
60846         only if __osf__ is defined, and I suspect OSF doesn't need these
60847         other modules.  If my guess is wrong, we'll need to come up with a
60848         variant of strftime that doesn't need the multibyte modules.
60850         I discovered this problem when attempting modify Emacs to use the
60851         strftime module.  With the previous gnulib, this caused Emacs to
60852         need 31 new files, ranging from lib/config.charset to
60853         m4/wint_t.m4.  This was overkill and I expect would be offputting
60854         to the Emacs maintainers.  After this change, only 6 new files are
60855         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
60856         stdbool.m4, and tm_gmtoff.m4.
60858         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
60859         Suggested by Bruno Haible in
60860         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
60861         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
60862         and do not check for wchar.h.
60863         * modules/strftime (Files): Remove m4/mbstate_t.m4.
60864         (Depends-on): Remove mbrlen, mbsinit, wchar.
60866 2011-01-18  Bruno Haible  <bruno@clisp.org>
60868         Tests for module 'get-rusage-as'.
60869         * modules/get-rusage-as-tests: New file.
60870         * tests/test-get-rusage-as.c: New file.
60872         New module 'get-rusage-as'.
60873         * modules/get-rusage-as: New file.
60874         * lib/resource-ext.h: New file.
60875         * lib/get-rusage-as.c: New file.
60877 2011-01-17  Eric Blake  <eblake@redhat.com>
60879         sigaction: relax license from LGPLv3+ to LGPLv2+
60880         * modules/sigaction (License): Relax to LGPLv2+.
60882 2011-01-14  Bruno Haible  <bruno@clisp.org>
60884         filemode: Make function declarations usable in C++ mode.
60885         * lib/filemode.h: Enclose function declarations in extern "C" block.
60886         Reported by John W. Eaton <jwe@gnu.org>.
60888 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
60890         save-cwd: no longer include "xgetcwd.h"
60891         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
60892         This avoids a compilation failure in projects that use save-cwd
60893         without also using the xgetcwd module.
60895 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60897         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
60898         This is so that a program like Emacs, which needs only dtoastr,
60899         does not have to bother with distributing and compiling ftoastr
60900         and ldtoastr.
60901         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
60902         * modules/dtoastr, modules/ldtoastr: New files.
60903         * modules/ftoastr: Now works just for 'float'.
60904         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
60905         (Makefile.am): Remove ftoastr.h (not needed and no effect),
60906         dtoastr.c, ldtoastr.c.
60908 2011-01-11  Jim Meyering  <meyering@redhat.com>
60910         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
60911         There is no need to work around the lack of the fchdir function,
60912         since gnulib can now provide a replacement when required.
60913         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
60914         * modules/save-cwd (Depends-on): Add fchdir.
60916 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60918         openat, save-cwd: avoid xmalloc
60920         This removes a direct (but undocumented) dependency of openat on
60921         xalloc, along with an indirect dependency via save-cwd.  It also
60922         removes a dependency of save-cwd on xgetcwd, and thereby
60923         indirectly on xalloc.  This change causes the openat substitute
60924         to fall back on save_cwd when memory is tight, and for save_cwd to
60925         fail instead of dying when memory is tight, but that's good enough.
60926         Problem and initial idea for fix reported by Bastien Roucaries in
60927         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
60929         * lib/openat-proc.c: Include stdlib.h (for malloc), not
60930         xalloc.h (for xmalloc).
60931         (openat_proc_name): Use malloc, not xmalloc.
60932         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
60933         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
60935         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
60936         This avoids heap allocation for file names whose lengths are in
60937         the range 512..1023, with the upper bound increasing to at most
60938         4031 depending on the platform's PATH_MAX.  (We do not want
60939         pathmax.h here as it might supply a non-constant PATH_MAX.)
60940         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
60941         Perhaps they should be moved to malloca.h?
60942         (OPENAT_BUFFER_SIZE): Use them.
60944 2011-01-10  Bruno Haible  <bruno@clisp.org>
60946         doc: Update users.txt.
60947         * users.txt: Add recutils.
60949 2011-01-09  Karl Berry  <karl@gnu.org>
60951         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
60953         * doc/configmake.texi: New file.
60954         * doc/gnulib.texi: Include it.
60955         * modules/configmake: Move documentation from here.
60957 2011-01-09  Bruno Haible  <bruno@clisp.org>
60959         Update to Unicode 6.0.0.
60960         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
60961         (get_lbp): Update for Unicode 6.0.0.
60962         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
60963         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
60964         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
60965         U+11001, U+11038..U+11046. Remove U+06DE.
60966         (uc_width): Fix bounds of planes.
60967         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60968         lib/uniwidth/width.c.
60969         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
60970         trailing whitespace removed.
60971         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
60972         without comments, but with the original copyright notice.
60973         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
60974         * lib/unicase/ignorable.h: Likewise.
60975         * lib/unicase/tocasefold.h: Likewise.
60976         * lib/unicase/tolower.h: Likewise.
60977         * lib/unicase/totitle.h: Likewise.
60978         * lib/unicase/toupper.h: Likewise.
60979         * lib/unictype/bidi_of.h: Likewise.
60980         * lib/unictype/blocks.h: Likewise.
60981         * lib/unictype/categ_C.h: Likewise.
60982         * lib/unictype/categ_Cn.h: Likewise.
60983         * lib/unictype/categ_L.h: Likewise.
60984         * lib/unictype/categ_Ll.h: Likewise.
60985         * lib/unictype/categ_Lm.h: Likewise.
60986         * lib/unictype/categ_Lo.h: Likewise.
60987         * lib/unictype/categ_Lu.h: Likewise.
60988         * lib/unictype/categ_M.h: Likewise.
60989         * lib/unictype/categ_Mc.h: Likewise.
60990         * lib/unictype/categ_Me.h: Likewise.
60991         * lib/unictype/categ_Mn.h: Likewise.
60992         * lib/unictype/categ_N.h: Likewise.
60993         * lib/unictype/categ_Nd.h: Likewise.
60994         * lib/unictype/categ_No.h: Likewise.
60995         * lib/unictype/categ_P.h: Likewise.
60996         * lib/unictype/categ_Po.h: Likewise.
60997         * lib/unictype/categ_S.h: Likewise.
60998         * lib/unictype/categ_Sc.h: Likewise.
60999         * lib/unictype/categ_Sk.h: Likewise.
61000         * lib/unictype/categ_Sm.h: Likewise.
61001         * lib/unictype/categ_So.h: Likewise.
61002         * lib/unictype/categ_of.h: Likewise.
61003         * lib/unictype/combining.h: Likewise.
61004         * lib/unictype/ctype_alnum.h: Likewise.
61005         * lib/unictype/ctype_alpha.h: Likewise.
61006         * lib/unictype/ctype_graph.h: Likewise.
61007         * lib/unictype/ctype_lower.h: Likewise.
61008         * lib/unictype/ctype_print.h: Likewise.
61009         * lib/unictype/ctype_punct.h: Likewise.
61010         * lib/unictype/ctype_upper.h: Likewise.
61011         * lib/unictype/decdigit.h: Likewise.
61012         * lib/unictype/digit.h: Likewise.
61013         * lib/unictype/numeric.h: Likewise.
61014         * lib/unictype/pr_alphabetic.h: Likewise.
61015         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61016         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61017         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61018         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61019         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61020         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61021         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61022         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61023         * lib/unictype/pr_case_ignorable.h: Likewise.
61024         * lib/unictype/pr_cased.h: Likewise.
61025         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
61026         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
61027         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
61028         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
61029         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
61030         * lib/unictype/pr_combining.h: Likewise.
61031         * lib/unictype/pr_composite.h: Likewise.
61032         * lib/unictype/pr_currency_symbol.h: Likewise.
61033         * lib/unictype/pr_decimal_digit.h: Likewise.
61034         * lib/unictype/pr_deprecated.h: Likewise.
61035         * lib/unictype/pr_format_control.h: Likewise.
61036         * lib/unictype/pr_grapheme_base.h: Likewise.
61037         * lib/unictype/pr_grapheme_extend.h: Likewise.
61038         * lib/unictype/pr_grapheme_link.h: Likewise.
61039         * lib/unictype/pr_id_continue.h: Likewise.
61040         * lib/unictype/pr_id_start.h: Likewise.
61041         * lib/unictype/pr_ideographic.h: Likewise.
61042         * lib/unictype/pr_lowercase.h: Likewise.
61043         * lib/unictype/pr_math.h: Likewise.
61044         * lib/unictype/pr_numeric.h: Likewise.
61045         * lib/unictype/pr_other_alphabetic.h: Likewise.
61046         * lib/unictype/pr_other_id_continue.h: Likewise.
61047         * lib/unictype/pr_other_math.h: Likewise.
61048         * lib/unictype/pr_punctuation.h: Likewise.
61049         * lib/unictype/pr_sentence_terminal.h: Likewise.
61050         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61051         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61052         * lib/unictype/pr_unified_ideograph.h: Likewise.
61053         * lib/unictype/pr_uppercase.h: Likewise.
61054         * lib/unictype/pr_xid_continue.h: Likewise.
61055         * lib/unictype/pr_xid_start.h: Likewise.
61056         * lib/unictype/scripts.h: Likewise.
61057         * lib/unictype/scripts_byname.gperf: Likewise.
61058         * lib/unictype/sy_java_ident.h: Likewise.
61059         * lib/unigbrk/gbrkprop.h: Likewise.
61060         * lib/unilbrk/lbrkprop1.h: Likewise.
61061         * lib/unilbrk/lbrkprop2.h: Likewise.
61062         * lib/uninorm/decomposition-table2.h: Likewise.
61063         * lib/uniwbrk/wbrkprop.h: Likewise.
61064         * tests/unicase/test-cased.c: Likewise.
61065         * tests/unicase/test-ignorable.c: Likewise.
61066         * tests/unicase/test-uc_tolower.c: Likewise.
61067         * tests/unicase/test-uc_totitle.c: Likewise.
61068         * tests/unicase/test-uc_toupper.c: Likewise.
61069         * tests/unictype/test-categ_C.c: Likewise.
61070         * tests/unictype/test-categ_Cn.c: Likewise.
61071         * tests/unictype/test-categ_L.c: Likewise.
61072         * tests/unictype/test-categ_Ll.c: Likewise.
61073         * tests/unictype/test-categ_Lm.c: Likewise.
61074         * tests/unictype/test-categ_Lo.c: Likewise.
61075         * tests/unictype/test-categ_Lu.c: Likewise.
61076         * tests/unictype/test-categ_M.c: Likewise.
61077         * tests/unictype/test-categ_Mc.c: Likewise.
61078         * tests/unictype/test-categ_Me.c: Likewise.
61079         * tests/unictype/test-categ_Mn.c: Likewise.
61080         * tests/unictype/test-categ_N.c: Likewise.
61081         * tests/unictype/test-categ_Nd.c: Likewise.
61082         * tests/unictype/test-categ_No.c: Likewise.
61083         * tests/unictype/test-categ_P.c: Likewise.
61084         * tests/unictype/test-categ_Po.c: Likewise.
61085         * tests/unictype/test-categ_S.c: Likewise.
61086         * tests/unictype/test-categ_Sc.c: Likewise.
61087         * tests/unictype/test-categ_Sk.c: Likewise.
61088         * tests/unictype/test-categ_Sm.c: Likewise.
61089         * tests/unictype/test-categ_So.c: Likewise.
61090         * tests/unictype/test-ctype_alnum.c: Likewise.
61091         * tests/unictype/test-ctype_alpha.c: Likewise.
61092         * tests/unictype/test-ctype_graph.c: Likewise.
61093         * tests/unictype/test-ctype_lower.c: Likewise.
61094         * tests/unictype/test-ctype_print.c: Likewise.
61095         * tests/unictype/test-ctype_punct.c: Likewise.
61096         * tests/unictype/test-ctype_upper.c: Likewise.
61097         * tests/unictype/test-decdigit.h: Likewise.
61098         * tests/unictype/test-digit.h: Likewise.
61099         * tests/unictype/test-numeric.h: Likewise.
61100         * tests/unictype/test-pr_alphabetic.c: Likewise.
61101         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61102         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61103         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61104         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61105         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61106         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61107         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61108         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61109         * tests/unictype/test-pr_case_ignorable.c: Likewise.
61110         * tests/unictype/test-pr_cased.c: Likewise.
61111         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
61112         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
61113         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
61114         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
61115         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
61116         * tests/unictype/test-pr_combining.c: Likewise.
61117         * tests/unictype/test-pr_composite.c: Likewise.
61118         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61119         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61120         * tests/unictype/test-pr_deprecated.c: Likewise.
61121         * tests/unictype/test-pr_format_control.c: Likewise.
61122         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61123         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61124         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61125         * tests/unictype/test-pr_id_continue.c: Likewise.
61126         * tests/unictype/test-pr_id_start.c: Likewise.
61127         * tests/unictype/test-pr_ideographic.c: Likewise.
61128         * tests/unictype/test-pr_lowercase.c: Likewise.
61129         * tests/unictype/test-pr_math.c: Likewise.
61130         * tests/unictype/test-pr_numeric.c: Likewise.
61131         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61132         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61133         * tests/unictype/test-pr_other_math.c: Likewise.
61134         * tests/unictype/test-pr_punctuation.c: Likewise.
61135         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61136         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61137         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61138         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61139         * tests/unictype/test-pr_uppercase.c: Likewise.
61140         * tests/unictype/test-pr_xid_continue.c: Likewise.
61141         * tests/unictype/test-pr_xid_start.c: Likewise.
61142         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61143         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61144         changes.
61145         * lib/unictype/categ_Cc.h: Likewise.
61146         * lib/unictype/categ_Cf.h: Likewise.
61147         * lib/unictype/categ_Co.h: Likewise.
61148         * lib/unictype/categ_Cs.h: Likewise.
61149         * lib/unictype/categ_Lt.h: Likewise.
61150         * lib/unictype/categ_Nl.h: Likewise.
61151         * lib/unictype/categ_Pc.h: Likewise.
61152         * lib/unictype/categ_Pd.h: Likewise.
61153         * lib/unictype/categ_Pe.h: Likewise.
61154         * lib/unictype/categ_Pf.h: Likewise.
61155         * lib/unictype/categ_Pi.h: Likewise.
61156         * lib/unictype/categ_Ps.h: Likewise.
61157         * lib/unictype/categ_Z.h: Likewise.
61158         * lib/unictype/categ_Zl.h: Likewise.
61159         * lib/unictype/categ_Zp.h: Likewise.
61160         * lib/unictype/categ_Zs.h: Likewise.
61161         * lib/unictype/ctype_blank.h: Likewise.
61162         * lib/unictype/ctype_cntrl.h: Likewise.
61163         * lib/unictype/ctype_digit.h: Likewise.
61164         * lib/unictype/ctype_space.h: Likewise.
61165         * lib/unictype/ctype_xdigit.h: Likewise.
61166         * lib/unictype/mirror.h: Likewise.
61167         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61168         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61169         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61170         * lib/unictype/pr_bidi_control.h: Likewise.
61171         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61172         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61173         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61174         * lib/unictype/pr_bidi_pdf.h: Likewise.
61175         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61176         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61177         * lib/unictype/pr_dash.h: Likewise.
61178         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61179         * lib/unictype/pr_diacritic.h: Likewise.
61180         * lib/unictype/pr_extender.h: Likewise.
61181         * lib/unictype/pr_hex_digit.h: Likewise.
61182         * lib/unictype/pr_hyphen.h: Likewise.
61183         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61184         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61185         * lib/unictype/pr_ignorable_control.h: Likewise.
61186         * lib/unictype/pr_iso_control.h: Likewise.
61187         * lib/unictype/pr_join_control.h: Likewise.
61188         * lib/unictype/pr_left_of_pair.h: Likewise.
61189         * lib/unictype/pr_line_separator.h: Likewise.
61190         * lib/unictype/pr_logical_order_exception.h: Likewise.
61191         * lib/unictype/pr_non_break.h: Likewise.
61192         * lib/unictype/pr_not_a_character.h: Likewise.
61193         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61194         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61195         * lib/unictype/pr_other_id_start.h: Likewise.
61196         * lib/unictype/pr_other_lowercase.h: Likewise.
61197         * lib/unictype/pr_other_uppercase.h: Likewise.
61198         * lib/unictype/pr_paired_punctuation.h: Likewise.
61199         * lib/unictype/pr_paragraph_separator.h: Likewise.
61200         * lib/unictype/pr_pattern_syntax.h: Likewise.
61201         * lib/unictype/pr_pattern_white_space.h: Likewise.
61202         * lib/unictype/pr_private_use.h: Likewise.
61203         * lib/unictype/pr_quotation_mark.h: Likewise.
61204         * lib/unictype/pr_radical.h: Likewise.
61205         * lib/unictype/pr_soft_dotted.h: Likewise.
61206         * lib/unictype/pr_space.h: Likewise.
61207         * lib/unictype/pr_titlecase.h: Likewise.
61208         * lib/unictype/pr_variation_selector.h: Likewise.
61209         * lib/unictype/pr_white_space.h: Likewise.
61210         * lib/unictype/pr_zero_width.h: Likewise.
61211         * lib/unictype/sy_c_ident.h: Likewise.
61212         * lib/unictype/sy_c_whitespace.h: Likewise.
61213         * lib/unictype/sy_java_whitespace.h: Likewise.
61214         * lib/uninorm/composition-table.gperf: Likewise.
61215         * lib/uninorm/decomposition-table1.h: Likewise.
61216         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
61217         LB8.
61218         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61219         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61220         * modules/unictype/*: Bump version number of expected libunistring
61221         version.
61223 2011-01-09  Bruno Haible  <bruno@clisp.org>
61225         Update to Unicode 5.2.0.
61226         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
61227         trailing whitespace removed.
61229 2011-01-09  Bruno Haible  <bruno@clisp.org>
61231         New Unicode character properties, from Unicode 5.2.0.
61232         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
61233         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
61234         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
61235         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
61236         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
61237         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
61238         uc_is_property_cased, uc_is_property_case_ignorable,
61239         uc_is_property_changes_when_lowercased,
61240         uc_is_property_changes_when_uppercased,
61241         uc_is_property_changes_when_titlecased,
61242         uc_is_property_changes_when_casefolded,
61243         uc_is_property_changes_when_casemapped): New declarations.
61244         * lib/unictype/pr_byname.gperf: Add the new properties.
61245         * modules/unictype/property-byname (Depends-on): Depend on the new
61246         properties modules.
61247         * modules/unictype/property-all (Depends-on): Likewise.
61248         * MODULES.html.sh (Unicode string functions): Add
61249         unictype/property-case-ignorable, unictype/property-cased,
61250         unictype/property-changes-when-casefolded,
61251         unictype/property-changes-when-casemapped,
61252         unictype/property-changes-when-lowercased,
61253         unictype/property-changes-when-titlecased,
61254         unictype/property-changes-when-uppercased.
61256         New module 'unictype/property-changes-when-casemapped'.
61257         * modules/unictype/property-changes-when-casemapped: New file.
61258         * lib/unictype/pr_changes_when_casemapped.c: New file.
61259         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
61260         generated by gen-uni-tables.
61261         * modules/unictype/property-changes-when-casemapped-tests: New file.
61262         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
61263         automatically generated by gen-uni-tables.
61265         New module 'unictype/property-changes-when-casefolded'.
61266         * modules/unictype/property-changes-when-casefolded: New file.
61267         * lib/unictype/pr_changes_when_casefolded.c: New file.
61268         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
61269         generated by gen-uni-tables.
61270         * modules/unictype/property-changes-when-casefolded-tests: New file.
61271         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
61272         automatically generated by gen-uni-tables.
61274         New module 'unictype/property-changes-when-titlecased'.
61275         * modules/unictype/property-changes-when-titlecased: New file.
61276         * lib/unictype/pr_changes_when_titlecased.c: New file.
61277         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
61278         generated by gen-uni-tables.
61279         * modules/unictype/property-changes-when-titlecased-tests: New file.
61280         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
61281         automatically generated by gen-uni-tables.
61283         New module 'unictype/property-changes-when-uppercased'.
61284         * modules/unictype/property-changes-when-uppercased: New file.
61285         * lib/unictype/pr_changes_when_uppercased.c: New file.
61286         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
61287         generated by gen-uni-tables.
61288         * modules/unictype/property-changes-when-uppercased-tests: New file.
61289         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
61290         automatically generated by gen-uni-tables.
61292         New module 'unictype/property-changes-when-lowercased'.
61293         * modules/unictype/property-changes-when-lowercased: New file.
61294         * lib/unictype/pr_changes_when_lowercased.c: New file.
61295         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
61296         generated by gen-uni-tables.
61297         * modules/unictype/property-changes-when-lowercased-tests: New file.
61298         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
61299         automatically generated by gen-uni-tables.
61301         New module 'unictype/property-case-ignorable'.
61302         * modules/unictype/property-case-ignorable: New file.
61303         * lib/unictype/pr_case_ignorable.c: New file.
61304         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
61305         by gen-uni-tables.
61306         * modules/unictype/property-case-ignorable-tests: New file.
61307         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
61308         generated by gen-uni-tables.
61310         New module 'unictype/property-cased'.
61311         * modules/unictype/property-cased: New file.
61312         * lib/unictype/pr_cased.c: New file.
61313         * lib/unictype/pr_cased.h: New file, automatically generated by
61314         gen-uni-tables.
61315         * modules/unictype/property-cased-tests: New file.
61316         * tests/unictype/test-pr_cased.c: New file, automatically generated by
61317         gen-uni-tables.
61319 2011-01-09  Bruno Haible  <bruno@clisp.org>
61321         Update to Unicode 5.2.0.
61322         * lib/gen-uni-tables.c (output_predicate, output_category,
61323         output_combclass, output_bidi_category, output_decimal_digit_test,
61324         output_decimal_digit, output_digit_test, output_digit,
61325         output_numeric_test, output_numeric, output_mirror, output_scripts,
61326         output_scripts_byname, output_blocks, output_ident_category): Fix
61327         comment header.
61328         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
61329         get_wbp.
61330         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
61331         items.
61332         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
61333         Changes_When_Lowercased, Changes_When_Uppercased,
61334         Changes_When_Titlecased, Changes_When_Casefolded,
61335         Changes_When_Casemapped.
61336         (is_property_alphabetic, is_property_default_ignorable_code_point):
61337         Update for Unicode 5.2.0.
61338         (is_property_cased, is_property_case_ignorable,
61339         is_property_changes_when_lowercased,
61340         is_property_changes_when_uppercased,
61341         is_property_changes_when_titlecased,
61342         is_property_changes_when_casefolded,
61343         is_property_changes_when_casemapped): New functions.
61344         (output_properties): Output also the properties cased, case_ignorable,
61345         changes_when_lowercased, changes_when_uppercased,
61346         changes_when_titlecased, changes_when_casefolded,
61347         changes_when_casemapped.
61348         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
61349         Unicode TR#11 revision 17 -> 19.
61350         (LBP_CP): New enumeration value.
61351         (LBP_*): Adjust values accordingly.
61352         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61353         TR#14 revision 22 -> 24.
61354         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
61355         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
61356         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
61357         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
61358         is_WBP_MIDLETTER.
61359         (output_composition_tables): Allow for 24 bits instead of 16 bits in
61360         the code1 and code2 of each composition rule.
61361         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
61362         * lib/unicase/ignorable.h: Likewise.
61363         * lib/unicase/tocasefold.h: Likewise.
61364         * lib/unicase/tolower.h: Likewise.
61365         * lib/unicase/totitle.h: Likewise.
61366         * lib/unicase/toupper.h: Likewise.
61367         * lib/unictype/bidi_of.h: Likewise.
61368         * lib/unictype/blocks.h: Likewise.
61369         * lib/unictype/categ_C.h: Likewise.
61370         * lib/unictype/categ_Cf.h: Likewise.
61371         * lib/unictype/categ_Cn.h: Likewise.
61372         * lib/unictype/categ_L.h: Likewise.
61373         * lib/unictype/categ_Ll.h: Likewise.
61374         * lib/unictype/categ_Lm.h: Likewise.
61375         * lib/unictype/categ_Lo.h: Likewise.
61376         * lib/unictype/categ_Lu.h: Likewise.
61377         * lib/unictype/categ_M.h: Likewise.
61378         * lib/unictype/categ_Mc.h: Likewise.
61379         * lib/unictype/categ_Mn.h: Likewise.
61380         * lib/unictype/categ_N.h: Likewise.
61381         * lib/unictype/categ_Nd.h: Likewise.
61382         * lib/unictype/categ_Nl.h: Likewise.
61383         * lib/unictype/categ_No.h: Likewise.
61384         * lib/unictype/categ_P.h: Likewise.
61385         * lib/unictype/categ_Pd.h: Likewise.
61386         * lib/unictype/categ_Po.h: Likewise.
61387         * lib/unictype/categ_S.h: Likewise.
61388         * lib/unictype/categ_Sc.h: Likewise.
61389         * lib/unictype/categ_So.h: Likewise.
61390         * lib/unictype/categ_of.h: Likewise.
61391         * lib/unictype/combining.h: Likewise.
61392         * lib/unictype/ctype_alnum.h: Likewise.
61393         * lib/unictype/ctype_alpha.h: Likewise.
61394         * lib/unictype/ctype_graph.h: Likewise.
61395         * lib/unictype/ctype_lower.h: Likewise.
61396         * lib/unictype/ctype_print.h: Likewise.
61397         * lib/unictype/ctype_punct.h: Likewise.
61398         * lib/unictype/ctype_upper.h: Likewise.
61399         * lib/unictype/decdigit.h: Likewise.
61400         * lib/unictype/digit.h: Likewise.
61401         * lib/unictype/numeric.h: Likewise.
61402         * lib/unictype/pr_alphabetic.h: Likewise.
61403         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61404         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61405         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61406         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61407         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61408         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61409         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61410         * lib/unictype/pr_combining.h: Likewise.
61411         * lib/unictype/pr_composite.h: Likewise.
61412         * lib/unictype/pr_currency_symbol.h: Likewise.
61413         * lib/unictype/pr_dash.h: Likewise.
61414         * lib/unictype/pr_decimal_digit.h: Likewise.
61415         * lib/unictype/pr_deprecated.h: Likewise.
61416         * lib/unictype/pr_diacritic.h: Likewise.
61417         * lib/unictype/pr_extender.h: Likewise.
61418         * lib/unictype/pr_grapheme_base.h: Likewise.
61419         * lib/unictype/pr_grapheme_extend.h: Likewise.
61420         * lib/unictype/pr_grapheme_link.h: Likewise.
61421         * lib/unictype/pr_id_continue.h: Likewise.
61422         * lib/unictype/pr_id_start.h: Likewise.
61423         * lib/unictype/pr_ideographic.h: Likewise.
61424         * lib/unictype/pr_ignorable_control.h: Likewise.
61425         * lib/unictype/pr_logical_order_exception.h: Likewise.
61426         * lib/unictype/pr_lowercase.h: Likewise.
61427         * lib/unictype/pr_numeric.h: Likewise.
61428         * lib/unictype/pr_other_alphabetic.h: Likewise.
61429         * lib/unictype/pr_punctuation.h: Likewise.
61430         * lib/unictype/pr_sentence_terminal.h: Likewise.
61431         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61432         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61433         * lib/unictype/pr_unified_ideograph.h: Likewise.
61434         * lib/unictype/pr_uppercase.h: Likewise.
61435         * lib/unictype/pr_xid_continue.h: Likewise.
61436         * lib/unictype/pr_xid_start.h: Likewise.
61437         * lib/unictype/pr_zero_width.h: Likewise.
61438         * lib/unictype/scripts.h: Likewise.
61439         * lib/unictype/scripts_byname.gperf: Likewise.
61440         * lib/unictype/sy_java_ident.h: Likewise.
61441         * lib/unigbrk/gbrkprop.h: Likewise.
61442         * lib/unilbrk/lbrkprop1.h: Likewise.
61443         * lib/unilbrk/lbrkprop2.h: Likewise.
61444         * lib/unilbrk/lbrktables.h: Likewise.
61445         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
61446         LBP_CP. Implement rule LB30.
61447         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
61448         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
61449         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
61450         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
61451         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
61452         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
61453         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
61454         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
61455         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
61456         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
61457         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
61458         bits instead of 16 bits in the code1 and code2 of each composition
61459         rule.
61460         (uc_composition): Update for Unicode 5.2.0.
61461         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
61462         * lib/uninorm/decomposition-table2.h: Likewise.
61463         * lib/uniwbrk/wbrkprop.h: Likewise.
61464         * tests/unicase/test-cased.c: Likewise.
61465         * tests/unicase/test-ignorable.c: Likewise.
61466         * tests/unicase/test-uc_tolower.c: Likewise.
61467         * tests/unicase/test-uc_totitle.c: Likewise.
61468         * tests/unicase/test-uc_toupper.c: Likewise.
61469         * tests/unictype/test-categ_C.c: Likewise.
61470         * tests/unictype/test-categ_Cf.c: Likewise.
61471         * tests/unictype/test-categ_Cn.c: Likewise.
61472         * tests/unictype/test-categ_L.c: Likewise.
61473         * tests/unictype/test-categ_Ll.c: Likewise.
61474         * tests/unictype/test-categ_Lm.c: Likewise.
61475         * tests/unictype/test-categ_Lo.c: Likewise.
61476         * tests/unictype/test-categ_Lu.c: Likewise.
61477         * tests/unictype/test-categ_M.c: Likewise.
61478         * tests/unictype/test-categ_Mc.c: Likewise.
61479         * tests/unictype/test-categ_Mn.c: Likewise.
61480         * tests/unictype/test-categ_N.c: Likewise.
61481         * tests/unictype/test-categ_Nd.c: Likewise.
61482         * tests/unictype/test-categ_Nl.c: Likewise.
61483         * tests/unictype/test-categ_No.c: Likewise.
61484         * tests/unictype/test-categ_P.c: Likewise.
61485         * tests/unictype/test-categ_Pd.c: Likewise.
61486         * tests/unictype/test-categ_Po.c: Likewise.
61487         * tests/unictype/test-categ_S.c: Likewise.
61488         * tests/unictype/test-categ_Sc.c: Likewise.
61489         * tests/unictype/test-categ_So.c: Likewise.
61490         * tests/unictype/test-ctype_alnum.c: Likewise.
61491         * tests/unictype/test-ctype_alpha.c: Likewise.
61492         * tests/unictype/test-ctype_graph.c: Likewise.
61493         * tests/unictype/test-ctype_lower.c: Likewise.
61494         * tests/unictype/test-ctype_print.c: Likewise.
61495         * tests/unictype/test-ctype_punct.c: Likewise.
61496         * tests/unictype/test-ctype_upper.c: Likewise.
61497         * tests/unictype/test-decdigit.h: Likewise.
61498         * tests/unictype/test-digit.h: Likewise.
61499         * tests/unictype/test-numeric.h: Likewise.
61500         * tests/unictype/test-pr_alphabetic.c: Likewise.
61501         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61502         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61503         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61504         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61505         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61506         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61507         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61508         * tests/unictype/test-pr_combining.c: Likewise.
61509         * tests/unictype/test-pr_composite.c: Likewise.
61510         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61511         * tests/unictype/test-pr_dash.c: Likewise.
61512         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61513         * tests/unictype/test-pr_deprecated.c: Likewise.
61514         * tests/unictype/test-pr_diacritic.c: Likewise.
61515         * tests/unictype/test-pr_extender.c: Likewise.
61516         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61517         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61518         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61519         * tests/unictype/test-pr_id_continue.c: Likewise.
61520         * tests/unictype/test-pr_id_start.c: Likewise.
61521         * tests/unictype/test-pr_ideographic.c: Likewise.
61522         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61523         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61524         * tests/unictype/test-pr_lowercase.c: Likewise.
61525         * tests/unictype/test-pr_numeric.c: Likewise.
61526         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61527         * tests/unictype/test-pr_punctuation.c: Likewise.
61528         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61529         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61530         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61531         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61532         * tests/unictype/test-pr_uppercase.c: Likewise.
61533         * tests/unictype/test-pr_xid_continue.c: Likewise.
61534         * tests/unictype/test-pr_xid_start.c: Likewise.
61535         * tests/unictype/test-pr_zero_width.c: Likewise.
61536         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
61537         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
61538         changed behaviour: line breaking is now disallowed between a letter
61539         or '=' and '('.
61540         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
61541         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
61542         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
61543         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
61544         * tests/uniwidth/test-uc_width2.sh: Same updates as in
61545         lib/uniwidth/width.c.
61546         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
61547         without comments, but with the original copyright notice.
61548         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
61549         changes.
61550         * lib/unictype/categ_Cc.h: Likewise.
61551         * lib/unictype/categ_Co.h: Likewise.
61552         * lib/unictype/categ_Cs.h: Likewise.
61553         * lib/unictype/categ_Lt.h: Likewise.
61554         * lib/unictype/categ_Me.h: Likewise.
61555         * lib/unictype/categ_Pc.h: Likewise.
61556         * lib/unictype/categ_Pe.h: Likewise.
61557         * lib/unictype/categ_Pf.h: Likewise.
61558         * lib/unictype/categ_Pi.h: Likewise.
61559         * lib/unictype/categ_Ps.h: Likewise.
61560         * lib/unictype/categ_Sk.h: Likewise.
61561         * lib/unictype/categ_Sm.h: Likewise.
61562         * lib/unictype/categ_Z.h: Likewise.
61563         * lib/unictype/categ_Zl.h: Likewise.
61564         * lib/unictype/categ_Zp.h: Likewise.
61565         * lib/unictype/categ_Zs.h: Likewise.
61566         * lib/unictype/ctype_blank.h: Likewise.
61567         * lib/unictype/ctype_cntrl.h: Likewise.
61568         * lib/unictype/ctype_digit.h: Likewise.
61569         * lib/unictype/ctype_space.h: Likewise.
61570         * lib/unictype/ctype_xdigit.h: Likewise.
61571         * lib/unictype/mirror.h: Likewise.
61572         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61573         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61574         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61575         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61576         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61577         * lib/unictype/pr_bidi_control.h: Likewise.
61578         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61579         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61580         * lib/unictype/pr_bidi_pdf.h: Likewise.
61581         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61582         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61583         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61584         * lib/unictype/pr_format_control.h: Likewise.
61585         * lib/unictype/pr_hex_digit.h: Likewise.
61586         * lib/unictype/pr_hyphen.h: Likewise.
61587         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61588         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61589         * lib/unictype/pr_iso_control.h: Likewise.
61590         * lib/unictype/pr_join_control.h: Likewise.
61591         * lib/unictype/pr_left_of_pair.h: Likewise.
61592         * lib/unictype/pr_line_separator.h: Likewise.
61593         * lib/unictype/pr_math.h: Likewise.
61594         * lib/unictype/pr_non_break.h: Likewise.
61595         * lib/unictype/pr_not_a_character.h: Likewise.
61596         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61597         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61598         * lib/unictype/pr_other_id_continue.h: Likewise.
61599         * lib/unictype/pr_other_id_start.h: Likewise.
61600         * lib/unictype/pr_other_lowercase.h: Likewise.
61601         * lib/unictype/pr_other_math.h: Likewise.
61602         * lib/unictype/pr_other_uppercase.h: Likewise.
61603         * lib/unictype/pr_paired_punctuation.h: Likewise.
61604         * lib/unictype/pr_paragraph_separator.h: Likewise.
61605         * lib/unictype/pr_pattern_syntax.h: Likewise.
61606         * lib/unictype/pr_pattern_white_space.h: Likewise.
61607         * lib/unictype/pr_private_use.h: Likewise.
61608         * lib/unictype/pr_quotation_mark.h: Likewise.
61609         * lib/unictype/pr_radical.h: Likewise.
61610         * lib/unictype/pr_soft_dotted.h: Likewise.
61611         * lib/unictype/pr_space.h: Likewise.
61612         * lib/unictype/pr_titlecase.h: Likewise.
61613         * lib/unictype/pr_variation_selector.h: Likewise.
61614         * lib/unictype/pr_white_space.h: Likewise.
61615         * lib/unictype/sy_c_ident.h: Likewise.
61616         * lib/unictype/sy_c_whitespace.h: Likewise.
61617         * lib/unictype/sy_java_whitespace.h: Likewise.
61618         * modules/uni*/*: Bump version number of expected libunistring version.
61619         Reported by Simon Josefsson.
61621 2011-01-09  Karl Heuer  <kwzh@gnu.org>
61623         useless-if-before-free: fix typo in --help and make the internal,
61624         automatic version date update process work once again.
61625         --help output contained a NUL character instead of the
61626         backslash-zero that was intended.  Also, the "must lie within
61627         the first 8 lines" line is on line 9, and hence not getting
61628         automatically updated.
61629         * build-aux/useless-if-before-free: Fix the former by adding a
61630         backslash, and the latter by condensing the three lines of what-it-does
61631         to a single line, leaving one line of slack for the future.
61633 2011-01-09  Bruno Haible  <bruno@clisp.org>
61635         uniwidth/width: Fix width of U+1D173..U+1D17A.
61636         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
61637         symbolic_width, output_width_property_test): New functions.
61638         (main): Invoke output_nonspacing_property, output_width_property_test.
61639         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
61640         U+1D173..U+1D17A.
61641         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
61642         1.
61643         * modules/uniwidth/*: Bump version number of expected libunistring
61644         version.
61645         * modules/unilbrk/*: Likewise.
61647 2011-01-08  Bruno Haible  <bruno@clisp.org>
61649         uninorm tests: Preserve copyright of Unicode data file.
61650         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
61651         Mention modifications.
61653 2011-01-08  Bruno Haible  <bruno@clisp.org>
61655         gen-uni-tables: Prepare for Unicode 5.2.0.
61656         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
61657         (debug_output_lbp, output_lbp): Update.
61659 2011-01-08  Bruno Haible  <bruno@clisp.org>
61661         unilbrk: Clarify gen-uni-tables.c code.
61662         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
61663         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
61664         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
61666 2011-01-07  Bruno Haible  <bruno@clisp.org>
61668         strtod: Restore errno when successfully parsing Infinity or NaN.
61669         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
61670         restore the original errno.
61672 2011-01-07  Bruno Haible  <bruno@clisp.org>
61674         remove test: Avoid failure on HP-UX 11.
61675         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
61677 2011-01-07  Bruno Haible  <bruno@clisp.org>
61679         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
61680         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
61681         error code.
61683 2011-01-07  Pádraig Brady  <P@draigBrady.com>
61685         ignore-value: fixup comments, and add Eric Blake
61686         as an author since he rewrote the macros.
61687         * lib/ignore-value.h (ignore_value):  State that
61688         we now support aggregates.  Also specify exactly
61689         when the GCC warn_unused_result feature was added.
61691 2011-01-06  Eric Blake  <eblake@redhat.com>
61693         ignore-value: support aggregate types
61694         * lib/ignore-value.h (ignore_value): Provide separate gcc
61695         definition.
61696         * modules/ignore-value-tests: New test module.
61697         * tests/test-ignore-value.c: New test.
61699         maint.mk: improve sc_prohibit_strcmp regex
61700         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
61701         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
61702         definition of STRNEQ.
61704         signal: work around Haiku issue with SIGBUS
61705         * lib/siglist.h: Add comment.
61706         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
61707         strsignal's favoring of SIGSEGV.
61708         * tests/test-signal.c (main): Avoid test failure.
61709         * doc/posix-headers/signal.texi (signal.h): Document the issue.
61710         Reported by Scott McCreary.
61712         maint.mk: add pre-release check to ensure submodule commits are public
61713         * top/maint.mk (public-submodule-commit): New rule.
61714         (submodule-checks): New variable.
61715         (alpha beta stable): Depend on the variable.
61717 2011-01-05  Pádraig Brady  <P@draigBrady.com>
61718         and Jim Meyering  <meyering@redhat.com>
61720         ignore-value: make ignore_value more generic; deprecate ignore_ptr
61721         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
61722         (ATTRIBUTE_DEPRECATED): Define.
61723         (_ignore_case): New function.
61724         (ignore_value): New macro, to replace the old function.
61725         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
61726         * modules/ignore-value (Depends-on): Add stdint.
61728 2011-01-04  Eric Blake  <eblake@redhat.com>
61730         doc: regenerate INSTALL
61731         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
61732         @firstparagraphindent support, now that autoconf dropped it.
61733         (INSTALL_PRELUDE): Reinstate old macro.
61734         * doc/install.texi: Resync from autoconf.
61735         * doc/INSTALL: Reflect recent autoconf update.
61736         * doc/INSTALL.ISO: Likewise.
61737         * doc/INSTALL.UTF-8: Likewise.
61738         Reported by Karl Berry.
61740 2011-01-04  Bruce Korb  <address@hidden>
61742         git-version-gen: avoid a sub-shell
61743         * build-aux/git-version-gen: Redirect stderr in `...` via
61744         "exec 2>...", rather than via an added sub-shell.
61746 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
61748         git-version-gen: use (...) rather than sh -c '...'
61749         * build-aux/git-version-gen: Rather than hard-coding a shell's name
61750         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
61752 2011-01-03  Jim Meyering  <meyering@redhat.com>
61754         git-version-gen: convert leading TABs to spaces
61755         * build-aux/git-version-gen: Expand leading TABs.
61757         git-version-gen: handle failed "git rev-list"
61758         * build-aux/git-version-gen: Rather than leaking a "fatal" error
61759         from git and proceeding as if it had succeeded but printed no SHA1
61760         checksums, suppress the diagnostic and handle the failure.
61761         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
61763         git-version-gen: include command name in one more diagnostic
61764         * build-aux/git-version-gen: When the required .tarball-version file
61765         was missing or unreadable, you might see the diagnostic from "cat",
61766         but no trace of the name of the invoking script.  Now, you still see
61767         the diagnostic from cat, but also get one from "git-version-gen: ".
61768         Inspired by a patch from Bruce Korb.
61770         update-copyright: adjust test to match changed code
61771         * tests/test-update-copyright.sh: Change test's expected output
61772         to match new actual output.
61774 2011-01-02  Bruno Haible  <bruno@clisp.org>
61776         getlogin_r: Avoid test failure on HP-UX 11.
61777         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
61778         ERANGE when the second argument is zero.
61779         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
61780         portability problem.
61782 2011-01-02  Bruce Korb  <bkorb@gnu.org>
61784         * build-aux/update-copyright: doc Simon's changes
61786 2011-01-02  Simon Josefsson  <simon@josefsson.org>
61788         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
61789         environment variable.
61791 2011-01-02  Bruno Haible  <bruno@clisp.org>
61793         unigbrk: Avoid gcc warnings.
61794         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
61795         unused variable.
61796         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
61797         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
61798         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
61799         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
61800         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
61801         Change type of first argument to 'const char *'.
61802         (main): Remove unused variable.
61803         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
61804         type of first argument to 'const char *'.
61805         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
61806         Likewise.
61807         (main): Change type of variable 's'.
61808         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
61809         to 'int'.
61811 2011-01-02  Bruno Haible  <bruno@clisp.org>
61813         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
61814         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
61815         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
61816         bug.
61817         * lib/pwrite.c: Undo 2010-12-31 patch.
61818         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
61820 2011-01-02  Bruno Haible  <bruno@clisp.org>
61822         pread: Fix test whether it works.
61823         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
61825 2011-01-02  Bruno Haible  <bruno@clisp.org>
61827         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
61828         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
61829         ends in "6". Don't require a specific month name. Try also the locale
61830         names found on HP-UX 11 and Solaris 7.
61832 2011-01-02  Bruno Haible  <bruno@clisp.org>
61834         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
61835         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
61836         C linkage.
61837         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
61839 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61841         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
61842         for consistency, since the "cluster" term is not used elsewhere.
61843         * lib/unigbrk.in.h: Update name.
61844         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
61845         * lib/unigbrk/u16-grapheme-next.c: Update name.
61846         * lib/unigbrk/u16-grapheme-prev.c: Update name.
61847         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
61848         * lib/unigbrk/u32-grapheme-next.c: Update name.
61849         * lib/unigbrk/u32-grapheme-prev.c: Update name.
61850         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
61851         * lib/unigbrk/u8-grapheme-next.c: Update name.
61852         * lib/unigbrk/u8-grapheme-prev.c: Update name.
61853         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
61854         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
61855         Suggested by Bruno Haible.
61857 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61859         Remove module 'u8-grapheme-len' as too redundant with
61860         'u8-grapheme-next'.
61861         * modules/unigbrk/u8-grapheme-len: Delete file.
61862         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
61863         * lib/unigbrk.in.h: Remove prototype for deleted function.
61864         * lib/unigbrk/u8-grapheme-len.c: Delete file.
61865         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
61867         Remove module 'u16-grapheme-len' as too redundant with
61868         'u16-grapheme-next'.
61869         * modules/unigbrk/u16-grapheme-len: Delete file.
61870         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
61871         * lib/unigbrk.in.h: Remove prototype for deleted function.
61872         * lib/unigbrk/u16-grapheme-len.c: Delete file.
61873         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
61875         Remove module 'u32-grapheme-len' as too redundant with
61876         'u32-grapheme-next'.
61877         * modules/unigbrk/u32-grapheme-len: Delete file.
61878         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
61879         * lib/unigbrk.in.h: Remove prototype for deleted function.
61880         * lib/unigbrk/u32-grapheme-len.c: Delete file.
61881         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
61883         Suggested by Bruno Haible.
61885 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61887         * unigbrk.in.h: Fix typo: "ben" => "been".
61888         Reported by Bruno Haible.
61890 2011-01-01  Jim Meyering  <meyering@redhat.com>
61892         maint: update almost all copyright ranges to include 2011
61893         Run the new "make update-copyright" rule.
61895 2011-01-01  Jim Meyering  <meyering@redhat.com>
61897         maint: update-copyright: exempt doc/INSTALL*
61898         * Makefile (update-copyright): Also exclude doc/INSTALL*,
61899         since they are generated.  Suggested by Bruno Haible.
61901 2011-01-01  Jim Meyering  <meyering@redhat.com>
61903         maint: refine the update-copyright rule
61904         * Makefile (update-copyright): Also exclude any file that includes
61905         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
61906         code that merely generates the comment.
61908 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61910         New module 'u8-grapheme-len'.
61911         * modules/unigbrk/u8-grapheme-len: New file.
61912         * modules/unigbrk/u8-grapheme-len-tests: New file.
61913         * lib/unigbrk.in.h: Add prototype for new function.
61914         * lib/unigbrk/u8-grapheme-len.c: New file.
61915         * tests/unigbrk/test-u8-grapheme-len.c: New file.
61917         New module 'u16-grapheme-len'.
61918         * modules/unigbrk/u16-grapheme-len: New file.
61919         * modules/unigbrk/u16-grapheme-len-tests: New file.
61920         * lib/unigbrk.in.h: Add prototype for new function.
61921         * lib/unigbrk/u16-grapheme-len.c: New file.
61922         * tests/unigbrk/test-u16-grapheme-len.c: New file.
61924         New module 'u32-grapheme-len'.
61925         * modules/unigbrk/u32-grapheme-len: New file.
61926         * modules/unigbrk/u32-grapheme-len-tests: New file.
61927         * lib/unigbrk.in.h: Add prototype for new function.
61928         * lib/unigbrk/u32-grapheme-len.c: New file.
61929         * tests/unigbrk/test-u32-grapheme-len.c: New file.
61931         New module 'u8-grapheme-next'.
61932         * modules/unigbrk/u8-grapheme-next: New file.
61933         * modules/unigbrk/u8-grapheme-next-tests: New file.
61934         * lib/unigbrk.in.h: Add prototype for new function.
61935         * lib/unigbrk/u8-grapheme-next.c: New file.
61936         * tests/unigbrk/test-u8-grapheme-next.c: New file.
61938         New module 'u16-grapheme-next'.
61939         * modules/unigbrk/u16-grapheme-next: New file.
61940         * modules/unigbrk/u16-grapheme-next-tests: New file.
61941         * lib/unigbrk.in.h: Add prototype for new function.
61942         * lib/unigbrk/u16-grapheme-next.c: New file.
61943         * tests/unigbrk/test-u16-grapheme-next.c: New file.
61945         New module 'u32-grapheme-next'.
61946         * modules/unigbrk/u32-grapheme-next: New file.
61947         * modules/unigbrk/u32-grapheme-next-tests: New file.
61948         * lib/unigbrk.in.h: Add prototype for new function.
61949         * lib/unigbrk/u32-grapheme-next.c: New file.
61950         * tests/unigbrk/test-u32-grapheme-next.c: New file.
61952         New module 'u8-grapheme-prev'.
61953         * modules/unigbrk/u8-grapheme-prev: New file.
61954         * modules/unigbrk/u8-grapheme-prev-tests: New file.
61955         * lib/unigbrk.in.h: Add prototype for new function.
61956         * lib/unigbrk/u8-grapheme-prev.c: New file.
61957         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
61959         New module 'u16-grapheme-prev'.
61960         * modules/unigbrk/u16-grapheme-prev: New file.
61961         * modules/unigbrk/u16-grapheme-prev-tests: New file.
61962         * lib/unigbrk.in.h: Add prototype for new function.
61963         * lib/unigbrk/u16-grapheme-prev.c: New file.
61964         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
61966         New module 'u32-grapheme-prev'.
61967         * modules/unigbrk/u32-grapheme-prev: New file.
61968         * modules/unigbrk/u32-grapheme-prev-tests: New file.
61969         * lib/unigbrk.in.h: Add prototype for new function.
61970         * lib/unigbrk/u32-grapheme-prev.c: New file.
61971         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
61973         New module 'u8-grapheme-breaks'.
61974         * modules/unigbrk/u8-grapheme-breaks: New file.
61975         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
61976         * lib/unigbrk.in.h: Add prototype for new function.
61977         * lib/unigbrk/u8-grapheme-breaks.c: New file.
61978         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
61980         New module 'u16-grapheme-breaks'.
61981         * modules/unigbrk/u16-grapheme-breaks: New file.
61982         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
61983         * lib/unigbrk.in.h: Add prototype for new function.
61984         * lib/unigbrk/u16-grapheme-breaks.c: New file.
61985         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
61987         New module 'u32-grapheme-breaks'.
61988         * modules/unigbrk/u32-grapheme-breaks: New file.
61989         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
61990         * lib/unigbrk.in.h: Add prototype for new function.
61991         * lib/unigbrk/u32-grapheme-breaks.c: New file.
61992         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
61994         New module 'ulc-grapheme-breaks'.
61995         * modules/unigbrk/ulc-grapheme-breaks: New file.
61996         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
61997         * m4/locale-ar.m4: New file.
61998         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
61999         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
62000         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
62002 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
62004         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
62005         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
62006         modified how this file was generated before I initially submitted
62007         the module, but failed to regenerate it.  This meant that several
62008         of the level2 entries were wrong.
62009         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
62010         Remove the division-by-2 that is folded into the table now that
62011         gbrkprop.h has been regenerated properly.  Now -1 entries are
62012         handled correctly.
62014         New module 'unigbrk/uc-gbrk-prop-tests'.
62015         * modules/unigbrk/uc-gbrk-prop-tests: New file.
62016         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
62017         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
62018         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
62020 2011-01-01  Bruno Haible  <bruno@clisp.org>
62022         Avoid use of hexadecimal escapes.
62023         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
62024         instead of hexadecimal escapes.
62026 2011-01-01  Jim Meyering  <meyering@redhat.com>
62028         maint: new rule to update copyright year ranges
62029         * Makefile (update-copyright): New rule.
62031         maint: indent with TABs in Makefile
62032         * Makefile: Expand leading sequences of spaces to TABs
62034         version-etc: update the copyright year it reports
62035         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
62037 2010-12-31  Bruno Haible  <bruno@clisp.org>
62039         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
62040         * lib/isfinite.c (zerof, zerod, zerol): New variables.
62041         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
62042         zero.
62044 2010-12-31  Bruno Haible  <bruno@clisp.org>
62046         pwrite: Work around HP-UX 11.11 bug.
62047         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
62048         works and set REPLACE_PWRITE if not.
62049         * lib/pwrite.c (pwrite): Add an implementation that uses the system
62050         function.
62051         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
62053 2010-12-31  Bruno Haible  <bruno@clisp.org>
62055         pread: Work around HP-UX 11 bugs.
62056         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
62057         and set REPLACE_PREAD if not.
62058         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
62060 2010-12-31  Eric Blake  <eblake@redhat.com>
62062         nl_langinfo: fix YESEXPR on Irix 6.5
62063         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
62064         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
62065         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
62066         it.
62068 2010-12-31  Bruno Haible  <bruno@clisp.org>
62070         iconv: Document HP-UX 11 bug.
62071         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
62073 2010-12-31  Bruno Haible  <bruno@clisp.org>
62075         ldexpl: Fix link error on HP-UX 11.
62076         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
62077         LDEXPL_LIBM, using $ISNANL_LIBM.
62079 2010-12-31  Eric Blake  <eblake@redhat.com>
62081         ftello: avoid compilation failure with SunStudio c89
62082         * lib/ftello.c (ftello): Use lseek, not llseek.
62084         tests: avoid failing coreutils tests on cygwin
62085         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
62086         (create_exe_shims_): Return 0 when skipping.
62088 2010-12-31  Bruno Haible  <bruno@clisp.org>
62090         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
62091         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
62093 2010-12-31  Bruno Haible  <bruno@clisp.org>
62095         waitpid: Fix link error in C++ mode.
62096         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
62098 2010-12-31  Bruno Haible  <bruno@clisp.org>
62100         isnan: Use GCC built-ins when possible.
62101         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
62102         __builtin_isnan.
62103         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
62104         (isnan): Define using GCC built-ins for GCC >= 4.0.
62106 2010-12-31  Bruno Haible  <bruno@clisp.org>
62108         isnand: Fix mistake.
62109         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
62110         __builtin_isnand.
62112 2010-12-31  Bruno Haible  <bruno@clisp.org>
62114         open: Avoid C++ error on HP-UX 11.
62115         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
62117 2010-12-31  Bruno Haible  <bruno@clisp.org>
62119         time_r: Add missing declarations on HP-UX 11.
62120         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
62121         instead of HAVE_LOCALTIME_R.
62122         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
62123         HAVE_LOCALTIME_R always.
62124         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
62125         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
62126         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
62127         HAVE_LOCALTIME_R.
62128         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
62129         * doc/posix-functions/localtime_r.texi: Likewise.
62131 2010-12-29  Eric Blake  <eblake@redhat.com>
62133         mountlist: tweak previous commit
62134         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
62135         Reported by Paul Eggert.
62137         mountlist: fix local drive detection on cygwin
62138         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
62139         that works for cygwin.
62141 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62143         ftoastr, snprintf: ftoastr + snprintf module
62144         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
62145         since the snprintf module now should be good enough here.
62146         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
62147         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
62148         and gl_MODULE_INDICATOR([snprintf]), but the former enables
62149         GNULIB_SNPRINTF only for the test directory, and the latter
62150         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
62151         seems to suffice by itself.
62153 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62155         alloca: one step towards thread-safety
62156         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
62157         need for a static variable.  All callers changed.  This does not
62158         make the alloca replacement thread-safe, but it's one step.
62160         tests: minor indenting change
62161         * tests/init.sh: Sync from coreutils housekeeping patch
62162         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
62163         to keep lines within 80 columns.
62165 2010-12-28  Jim Meyering  <meyering@redhat.com>
62167         regex: don't infloop on persistent failing calloc
62168         * lib/regexec.c (build_trtable): Return failure indication upon
62169         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
62170         In glibc, this was fixed for version 2.13:
62171         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
62173 2010-12-28  Bruno Haible  <bruno@clisp.org>
62174             Paul Eggert <eggert@cs.ucla.edu>
62176         linkat: Make implementation robust against system behaviour variations.
62177         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
62178         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
62179         way, and to -2 if it needs a generic runtime test.
62180         * lib/linkat.c (solaris_optimized_link_immediate,
62181         solaris_optimized_link_follow): New functions.
62182         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
62183         (check_same_link): Use it.
62185 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
62187         New module 'unigbrk/base'.
62188         * modules/unigbrk/base: New file.
62189         * lib/unigbrk.in.h: New file.
62191         New module 'unigbrk/uc-gbrk-prop'.
62192         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
62193         * modules/unigbrk/uc-gbrk-prop: New file.
62194         * lib/unigbrk/gbrkprop.h: New file.
62195         * lib/unigbrk/uc-gbrk-prop.c: New file.
62197         New module 'unigbrk/uc-is-grapheme-break'.
62198         * modules/unigbrk/uc-is-grapheme-break: New file.
62199         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
62200         * lib/unigbrk/uc-is-grapheme-break.c: New file.
62201         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
62202         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
62203         * tests/unigbrk/GraphemeBreakTest.txt: New file.
62205         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
62207 2010-12-27  Bruno Haible  <bruno@clisp.org>
62209         linkat test: Avoid failure on Solaris 11 2010-11.
62210         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
62212 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62214         utimens: work around glibc rounding bug on more platforms
62215         * lib/utimens.c (fdutimens): Work around rounding bug even if
62216         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
62217         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
62219 2010-12-27  Bruno Haible  <bruno@clisp.org>
62221         select tests: Improve comments.
62222         * tests/test-select.c (do_select): Add comments.
62224 2010-12-27  Bruno Haible  <bruno@clisp.org>
62226         select tests: Safer way of handling timeout.
62227         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
62228         at every invocation.
62230 2010-12-27  Bruno Haible  <bruno@clisp.org>
62232         select tests: Use 'bool' where appropriate.
62233         * tests/test-select.c (connect_to_socket): Change argument type to
62234         'bool'.
62236 2010-12-27  Bruno Haible  <bruno@clisp.org>
62238         select tests: Use existing modules.
62239         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
62240         (configure.ac): Don't test for unistd.h.
62241         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
62242         declared in <unistd.h>.
62244 2010-12-27  Bruno Haible  <bruno@clisp.org>
62246         mbrtowc: Work around a Solaris 7 bug.
62247         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
62248         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
62249         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
62250         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
62251         MBRTOWC_NULL_ARG1_BUG.
62252         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
62253         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
62254         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
62255         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
62257 2010-12-27  Jim Meyering  <meyering@redhat.com>
62259         read-file.c: tweak syntax
62260         * lib/read-file.c (fread_file): Remove space after "*" in function
62261         definitions.
62263 2010-12-27  Bruno Haible  <bruno@clisp.org>
62265         times test: Avoid gcc warnings on OSF/1.
62266         * tests/test-times.c (main): Cast printf arguments from clock_t to
62267         'long int'.
62269 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
62271         utimens: work around glibc rounding bug on older Linux kernels
62272         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
62273         on Linux with a glibc whose utimes might not work, then work
62274         around a longstanding glibc bug involving rounding rather than
62275         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
62276         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62278 2010-12-26  Bruno Haible  <bruno@clisp.org>
62280         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
62281         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
62282         _GL_CXXALIAS_SYS.
62283         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62285 2010-12-26  Bruno Haible  <bruno@clisp.org>
62287         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
62288         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
62289         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
62290         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
62291         looking for the declaration.
62292         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
62293         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
62294         problem.
62295         * doc/posix-functions/inet_pton.texi: Likewise.
62297 2010-12-26  Bruno Haible  <bruno@clisp.org>
62299         arpa_inet: Use the common idioms with C++ support.
62300         * lib/arpa_inet.in.h: Include c++defs.h.
62301         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
62302         support.
62303         * modules/arpa_inet (Depends-on): Add c++defs.
62304         (Makefile.am): Substitute the contents of c++defs.h.
62305         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
62306         * modules/arpa_inet-c++-tests: New file.
62307         * tests/test-arpa_inet-c++.cc: New file.
62309 2010-12-25  Bruno Haible  <bruno@clisp.org>
62311         Fix more C++ link errors on Solaris 8.
62312         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
62313         $(LIB_EACCESS).
62314         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
62315         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
62316         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
62317         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
62318         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
62320 2010-12-25  Bruno Haible  <bruno@clisp.org>
62322         printf-posix: Fix link error when a non-GCC compiler is used.
62323         * lib/stdio.in.h (printf): When not using GCC, override printf
62324         correctly.
62325         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62327 2010-12-25  Bruno Haible  <bruno@clisp.org>
62329         strerror_r-posix: Update doc.
62330         * doc/posix-functions/strerror_r.texi: Update doc about the return
62331         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
62333 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62335         utimens: simplify the logic of the previous change
62336         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
62337         This should not affect whether the test succeeds or fails.
62339         utimens: configure better on hosts with NFS clock skew
62340         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
62341         uses the clock of the local host.  It might use the clock of the
62342         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
62343         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
62345 2010-12-25  Bruno Haible  <bruno@clisp.org>
62347         ptsname test: Avoid failure on Solaris.
62348         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
62349         open a pseudo-terminal; don't use BSD-style ptys.
62350         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
62352 2010-12-25  Bruno Haible  <bruno@clisp.org>
62354         ptsname: Avoid ERANGE failure on some systems.
62355         * lib/ptsname.c (buffer): Increase size.
62357 2010-12-25  Bruno Haible  <bruno@clisp.org>
62359         rename, renameat: Avoid test failures at NFS mounted locations.
62360         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
62361         so that subsequent mkdir calls succeed.
62363 2010-12-25  Bruno Haible  <bruno@clisp.org>
62365         iswblank: Fix C++ link error on Solaris 8.
62366         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
62367         _GL_FUNCDECL_SYS.
62369 2010-12-25  Bruno Haible  <bruno@clisp.org>
62371         unistd: Fix C++ link error on Solaris 8.
62372         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
62374 2010-12-25  Bruno Haible  <bruno@clisp.org>
62376         readlink doc: Mention an old glibc bug.
62377         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
62379 2010-12-25  Bruno Haible  <bruno@clisp.org>
62381         fcntl-h: Fix for use of C++ on glibc systems.
62382         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
62383         also on glibc systems in C++ mode.
62384         Reported by Gary V. Vaughan <gary@gnu.org>.
62386 2010-12-25  Bruno Haible  <bruno@clisp.org>
62388         roundl-ieee: Make it work on OSF/1 5.1 with cc.
62389         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
62391 2010-12-25  Bruno Haible  <bruno@clisp.org>
62393         truncl-ieee: Make it work on OSF/1 5.1 with cc.
62394         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
62395         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
62396         test whether truncl works according to ISO C 99 with IEC 60559.
62397         * m4/truncl-ieee.m4: New file.
62398         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
62399         m4/signbit.m4.
62400         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
62402 2010-12-25  Bruno Haible  <bruno@clisp.org>
62404         ceill-ieee: Make it work on OSF/1 5.1 with cc.
62405         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
62406         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
62407         test whether ceill works according to ISO C 99 with IEC 60559.
62408         * m4/ceill-ieee.m4: New file.
62409         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
62410         m4/signbit.m4.
62411         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
62413 2010-12-25  Bruno Haible  <bruno@clisp.org>
62415         Ensure all prerequisites of <wchar.h> are included.
62416         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
62417         before <wchar.h>.
62418         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
62419         gl_MBRLEN_NUL_RETVAL): Likewise.
62420         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62421         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
62422         AC_FUNC_MBRTOWC): Likewise.
62423         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62424         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
62425         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62426         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
62427         Likewise.
62428         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
62429         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
62430         (gl_WCHAR_H): Improve comments.
62431         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
62433 2010-12-25  Bruno Haible  <bruno@clisp.org>
62435         strtok_r: Fix C syntax error in autoconf macro.
62436         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
62437         characters in test program.
62439 2010-12-24  Bruno Haible  <bruno@clisp.org>
62441         ceil, trunc, round: Fix gcc warnings.
62442         * lib/ceil.c (MIN): Undefine before redefining.
62443         * lib/trunc.c (MIN): Likewise.
62444         * lib/round.c (MIN): Likewise.
62445         Include <math.h> first.
62447 2010-12-24  Bruno Haible  <bruno@clisp.org>
62449         select tests: Avoid failures on OSF/1 5.1.
62450         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
62451         failure of closing the last socket; it may fail with ECONNRESET.
62453 2010-12-24  Eric Blake  <eblake@redhat.com>
62455         stdint: avoid HP-UX 10.20 preprocessor bug
62456         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
62457         than #if.
62458         * tests/test-floor2.c (main): Likewise.
62459         Reported by Peter O'Gorman.
62461         pipe: make obsoletion transition easier
62462         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
62463         * modules/pipe (Files): Include revived file.
62464         (Include): Drop reference, to mirror getdate's behavior.
62466 2010-12-24  Bruno Haible  <bruno@clisp.org>
62468         sys_socket: Hide mismatch of declarations on NonStop Kernel.
62469         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
62470         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
62471         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62473 2010-12-24  Bruno Haible  <bruno@clisp.org>
62475         gethostname: Ensure declaration on NonStop Kernel.
62476         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
62477         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62479 2010-12-24  Bruno Haible  <bruno@clisp.org>
62481         sys_select: Ensure all necessary types on NonStop Kernel.
62482         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
62483         include <sys/time.h>.
62484         * doc/posix-headers/sys_select.texi: Mention that it's missing on
62485         NonStop Kernel.
62486         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62488 2010-12-24  Bruno Haible  <bruno@clisp.org>
62490         sys_select: Remove unneeded include.
62491         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
62492         have <sys/select.h>.
62494 2010-12-24  Bruno Haible  <bruno@clisp.org>
62496         gethostname: Provide a fallback for HOST_NAME_MAX.
62497         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
62498         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
62499         instead.
62500         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62502 2010-12-24  Bruno Haible  <bruno@clisp.org>
62504         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
62505         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
62506         (SA_RESTART): Likewise.
62507         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62509 2010-12-24  Bruno Haible  <bruno@clisp.org>
62511         signal: Define NSIG.
62512         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
62513         * tests/test-signal.c (nsig): New variable.
62514         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62516 2010-12-24  Bruno Haible  <bruno@clisp.org>
62518         rename, renameat: Avoid test failures on OSF/1 5.1.
62519         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
62520         alternative error codes.
62521         * tests/test-renameat.c (main): Likewise.
62523 2010-12-24  Bruno Haible  <bruno@clisp.org>
62525         *printf: Detect large precisions bug on Solaris 10/SPARC.
62526         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
62527         by Paul Eggert.
62528         * tests/test-snprintf-posix.h (test_function): Add this test code here
62529         too.
62530         * tests/test-sprintf-posix.h (test_function): Likewise.
62531         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62532         * tests/test-vasprintf-posix.c (test_function): Likewise.
62533         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
62534         around by gnulib.
62535         * doc/posix-functions/printf.texi: Likewise.
62536         * doc/posix-functions/snprintf.texi: Likewise.
62537         * doc/posix-functions/sprintf.texi: Likewise.
62538         * doc/posix-functions/vfprintf.texi: Likewise.
62539         * doc/posix-functions/vprintf.texi: Likewise.
62540         * doc/posix-functions/vsnprintf.texi: Likewise.
62541         * doc/posix-functions/vsprintf.texi: Likewise.
62542         * doc/posix-functions/dprintf.texi: Undo last commit.
62543         * doc/posix-functions/vdprintf.texi: Likewise.
62545 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62547         tests: port test-fdutimensat.c to Solaris 8
62548         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
62549         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
62550         On Solaris 8, it fails with errno == ENOSYS, because there is no
62551         futimens (so it can't use the fd), and there is no lutimens (so it
62552         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
62554         vsnprintf: make more consistent with snprintf; doc fixes
62556         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
62557         the byte count return problem was promoted from the snprintf-posix
62558         to the snprintf module.
62559         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
62560         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
62561         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
62562         * tests/test-snprintf.c (main): Check the byte count returned.
62563         * tests/test-vsnprintf.c (main): Likewise.
62565 2010-12-23  Eric Blake  <eblake@redhat.com>
62567         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
62568         * modules/sigpipe (License): Relax license.
62570 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62572         doc: document Solaris printf bug with large float precisions
62573         * doc/posix-functions/dprintf.texi (dprintf):
62574         * doc/posix-functions/fprintf.texi (fprintf):
62575         * doc/posix-functions/printf.texi (printf):
62576         * doc/posix-functions/snprintf.texi (snprintf):
62577         * doc/posix-functions/sprintf.texi (sprintf):
62578         * doc/posix-functions/vdprintf.texi (vdprintf):
62579         * doc/posix-functions/vfprintf.texi (vfprintf):
62580         * doc/posix-functions/vprintf.texi (vprintf):
62581         * doc/posix-functions/vsnprintf.texi (vsnprintf):
62582         * doc/posix-functions/vsprintf.texi (vsprintf):
62583         Mention that these functions mishandle large floating point
62584         precisions on Solaris 10.  The same bug is also present in Solaris
62585         8, and I assume earlier.  This causes "cd gnulib-tests; make
62586         check" to fail on Solaris 8 (and I assume, later) when building
62587         the latest coreutils, in test-vasprintf-posix's call to
62588         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
62589         the wide flavors (e.g., wprintf) so this patch just updates the
62590         documentation for the narrow ones.
62592         test-posixtm.c: add two tests
62593         * tests/test-posixtm.c: Add two tests, to highlight the
62594         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
62595         around this bug; this is merely to document it.
62597 2010-12-22  Bruno Haible  <bruno@clisp.org>
62599         getlogin_r: Work around portability problem on OSF/1.
62600         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
62601         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
62602         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
62603         test for a truncated result.
62604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
62605         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
62606         * modules/getlogin_r (Depends-on): Add memchr.
62607         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
62609 2010-12-22  Bruno Haible  <bruno@clisp.org>
62611         ptsname: Avoid test failure on OSF/1 5.1.
62612         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
62613         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
62614         (same_slave): New function.
62615         (main): Use it to compare ptsname's result with the expected file name.
62617 2010-12-22  Bruno Haible  <bruno@clisp.org>
62619         Port extended stdio modules to HP NonStop Kernel.
62620         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
62621         macros.
62622         * lib/fbufmode.c: Update comments.
62623         * lib/fflush.c: Likewise.
62624         * lib/fpurge.c: Likewise.
62625         * lib/freadable.c: Likewise.
62626         * lib/freadahead.c: Likewise.
62627         * lib/freading.c: Likewise.
62628         * lib/freadptr.c: Likewise.
62629         * lib/freadseek.c: Likewise.
62630         * lib/fseeko.c: Likewise.
62631         * lib/fseterr.c: Likewise.
62632         * lib/fwritable.c: Likewise.
62633         * lib/fwriting.c: Likewise.
62634         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62636 2010-12-22  Bruno Haible  <bruno@clisp.org>
62638         ttyname_r: Work around bug on OSF/1 5.1.
62639         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
62640         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
62641         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
62642         present.
62643         * lib/ttyname_r.c (ttyname_r): Update comments.
62645 2010-12-22  Bruno Haible  <bruno@clisp.org>
62647         round: Implement result sign according to IEEE 754.
62648         * lib/round.c (MIN, MINUS_ZERO): New macros.
62649         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
62650         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
62651         * tests/test-round-ieee.c (main): Likewise.
62652         * tests/test-roundl-ieee.c (main): Likewise.
62654         trunc: Implement result sign according to IEEE 754.
62655         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
62656         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
62657         * tests/test-trunc2.c: Include minus-zero.h.
62658         (MINUS_ZERO): New macro.
62659         (trunc_reference): Keep in sync with lib/trunc.c.
62660         * tests/test-truncf2.c: Include minus-zero.h.
62661         (MINUS_ZERO): New macro.
62662         (truncf_reference): Keep in sync with lib/trunc.c.
62663         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
62664         * tests/test-trunc-ieee.c (main): Likewise.
62665         * tests/test-truncl-ieee.c (main): Likewise.
62667         ceil: Implement result sign according to IEEE 754.
62668         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
62669         (FUNC): Return -0.0 for -1 < x < 0.
62670         * tests/test-ceil2.c: Include minus-zero.h.
62671         (MINUS_ZERO): New macro.
62672         (ceil_reference): Keep in sync with lib/ceil.c.
62673         * tests/test-ceilf2.c: Include minus-zero.h.
62674         (MINUS_ZERO): New macro.
62675         (ceilf_reference): Keep in sync with lib/ceil.c.
62676         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
62677         * tests/test-ceil-ieee.c (main): Likewise.
62678         * tests/test-ceill-ieee.c (main): Likewise.
62680         floor: Implement result sign according to IEEE 754.
62681         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
62682         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
62683         * tests/test-floorf2.c (floorf_reference): Likewise.
62684         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
62685         * tests/test-floor-ieee.c (main): Likewise.
62686         * tests/test-floorl-ieee.c (main): Likewise.
62688 2010-12-22  Bruno Haible  <bruno@clisp.org>
62690         getaddrinfo: Update doc.
62691         * doc/posix-functions/gai_strerror.texi: Return type is also different
62692         on AIX and HP-UX.
62694 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62696         getaddrinfo, inet_ntop: Update doc for Solaris.
62697         * doc/posix-functions/gai_strerror.texi: Return type is also an
62698         issue on Solaris 9 and earlier.
62699         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
62700         on Solaris 10 and earlier.
62702 2010-12-21  Bruno Haible  <bruno@clisp.org>
62704         New module 'roundl-ieee'.
62705         * modules/roundl-ieee: New file.
62706         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
62707         test whether roundl works according to ISO C 99 with IEC 60559.
62708         * m4/roundl-ieee.m4: New file.
62709         * modules/roundl-ieee-tests: New file.
62710         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
62711         * tests/test-roundl.c (main): Remove signbit tests.
62712         * modules/roundl-tests (Depends-on): Remove signbit.
62713         * doc/posix-functions/roundl.texi: Mention the new module.
62715 2010-12-21  Bruno Haible  <bruno@clisp.org>
62717         New module 'truncl-ieee'.
62718         * modules/truncl-ieee: New file.
62719         * modules/truncl-ieee-tests: New file.
62720         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
62721         * tests/test-truncl.c (main): Remove signbit tests.
62722         * modules/truncl-tests (Depends-on): Remove signbit.
62723         * doc/posix-functions/truncl.texi: Mention the new module.
62725 2010-12-21  Bruno Haible  <bruno@clisp.org>
62727         New module 'ceill-ieee'.
62728         * modules/ceill-ieee: New file.
62729         * modules/ceill-ieee-tests: New file.
62730         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
62731         * tests/test-ceill.c (main): Remove signbit tests.
62732         * modules/ceill-tests (Depends-on): Remove signbit.
62733         * doc/posix-functions/ceill.texi: Mention the new module.
62735 2010-12-21  Bruno Haible  <bruno@clisp.org>
62737         New module 'floorl-ieee'.
62738         * modules/floorl-ieee: New file.
62739         * modules/floorl-ieee-tests: New file.
62740         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
62741         * tests/test-floorl.c (main): Remove signbit tests.
62742         * modules/floorl-tests (Depends-on): Remove signbit.
62743         * doc/posix-functions/floorl.texi: Mention the new module.
62745 2010-12-21  Bruno Haible  <bruno@clisp.org>
62747         New module 'round-ieee'.
62748         * modules/round-ieee: New file.
62749         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
62750         whether round works according to ISO C 99 with IEC 60559.
62751         * m4/round-ieee.m4: New file.
62752         * modules/round-ieee-tests: New file.
62753         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
62754         * tests/test-round1.c (main): Remove signbit tests.
62755         * modules/round-tests (Depends-on): Remove 'signbit'.
62756         * doc/posix-functions/round.texi: Mention the new module.
62758 2010-12-21  Bruno Haible  <bruno@clisp.org>
62760         New module 'trunc-ieee'.
62761         * modules/trunc-ieee: New file.
62762         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
62763         whether trunc works according to ISO C 99 with IEC 60559.
62764         * m4/trunc-ieee.m4: New file.
62765         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
62766         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
62767         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
62768         * modules/trunc-ieee-tests: New file.
62769         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
62770         * tests/test-trunc1.c (main): Remove signbit tests.
62771         * modules/trunc-tests (Depends-on): Remove 'signbit'.
62772         * doc/posix-functions/trunc.texi: Mention the new module.
62774 2010-12-21  Bruno Haible  <bruno@clisp.org>
62776         New module 'ceil-ieee'.
62777         * modules/ceil-ieee: New file.
62778         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
62779         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
62780         ISO C 99 with IEC 60559.
62781         * m4/ceil-ieee.m4: New file.
62782         * modules/ceil (Files): Add lib/ceil.c.
62783         (Depends-on): Add 'float'.
62784         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62785         * lib/math.in.h (ceil): New declaration.
62786         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
62787         REPLACE_CEIL.
62788         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
62789         * modules/ceil-ieee-tests: New file.
62790         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
62791         * tests/test-math-c++.cc: Check the signature of 'ceil'.
62792         * doc/posix-functions/ceil.texi: Mention the new module.
62794 2010-12-21  Bruno Haible  <bruno@clisp.org>
62796         New module 'floor-ieee'.
62797         * modules/floor-ieee: New file.
62798         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
62799         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
62800         ISO C 99 with IEC 60559.
62801         * m4/floor-ieee.m4: New file.
62802         * modules/floor (Files): Add lib/floor.c.
62803         (Depends-on): Add 'float'.
62804         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62805         * lib/math.in.h (floor): New declaration.
62806         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
62807         REPLACE_FLOOR.
62808         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
62809         * modules/floor-ieee-tests: New file.
62810         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
62811         * tests/test-math-c++.cc: Check the signature of 'floor'.
62812         * doc/posix-functions/floor.texi: Mention the new module.
62814 2010-12-21  Bruno Haible  <bruno@clisp.org>
62816         New module 'roundf-ieee'.
62817         * modules/roundf-ieee: New file.
62818         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
62819         test whether roundf works according to ISO C 99 with IEC 60559.
62820         * m4/roundf-ieee.m4: New file.
62821         * modules/roundf-ieee-tests: New file.
62822         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
62823         * tests/test-roundf1.c (main): Remove signbit tests.
62824         * modules/roundf-tests (Depends-on): Remove 'signbit'.
62825         * doc/posix-functions/roundf.texi: Mention the new module.
62827 2010-12-21  Bruno Haible  <bruno@clisp.org>
62829         New module 'truncf-ieee'.
62830         * modules/truncf-ieee: New file.
62831         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
62832         test whether truncf works according to ISO C 99 with IEC 60559.
62833         * m4/truncf-ieee.m4: New file.
62834         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
62835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
62836         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
62837         * modules/truncf-ieee-tests: New file.
62838         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
62839         * tests/test-truncf1.c (main): Remove signbit tests.
62840         * modules/truncf-tests (Depends-on): Remove 'signbit'.
62841         * doc/posix-functions/truncf.texi: Mention the new module.
62843 2010-12-21  Bruno Haible  <bruno@clisp.org>
62845         New module 'ceilf-ieee'.
62846         * modules/ceilf-ieee: New file.
62847         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
62848         test whether ceilf works according to ISO C 99 with IEC 60559.
62849         * m4/ceilf-ieee.m4: New file.
62850         * modules/ceilf-ieee-tests: New file.
62851         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
62852         * tests/test-ceilf1.c (main): Remove signbit tests.
62853         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
62854         * doc/posix-functions/ceilf.texi: Mention the new module.
62856 2010-12-21  Bruno Haible  <bruno@clisp.org>
62858         New module 'floorf-ieee'.
62859         * modules/floorf-ieee: New file.
62860         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
62861         test whether floorf works according to ISO C 99 with IEC 60559.
62862         * m4/floorf-ieee.m4: New file.
62863         * modules/floorf-ieee-tests: New file.
62864         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
62865         * tests/test-floorf1.c (main): Remove signbit tests.
62866         * modules/floorf-tests (Depends-on): Remove 'signbit'.
62867         * doc/posix-functions/floorf.texi: Mention the new module.
62869 2010-12-21  Bruno Haible  <bruno@clisp.org>
62871         Support for minus zero in autoconf macros.
62872         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
62873         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
62874         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
62875         * tests/minus-zero.h: Update comments.
62877 2010-12-21  Bruno Haible  <bruno@clisp.org>
62879         Tests for module 'ceil'.
62880         * modules/ceil-tests: New file.
62881         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
62882         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
62884 2010-12-21  Bruno Haible  <bruno@clisp.org>
62886         Tests for module 'floor'.
62887         * modules/floor-tests: New file.
62888         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
62889         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
62891 2010-12-21  Bruno Haible  <bruno@clisp.org>
62893         math: Fix indentation.
62894         * lib/math.in.h (floorf): Fix indentation.
62896 2010-12-21  Bruno Haible  <bruno@clisp.org>
62898         Fix cross-compilation guesses on Solaris.
62899         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
62900         not match "solaris2.10".
62901         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62902         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
62903         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
62905 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62907         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
62908         This fixes a problem observed with the latest coreutils snapshot
62909         that caused a test to fail on Solaris 8.  src/csplit.c's call
62910         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
62911         earlier, instead of returning the number of bytes that would have
62912         been generated; this causes csplit to incorrectly report memory
62913         exhaustion.
62914         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
62915         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
62916         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
62917         comments to match.
62918         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
62919         Fix typo in matching older versions of Solaris: "solaris2.10"
62920         is matched by the shell pattern "solaris2.[0-9]*".  This matters
62921         only for guessing while cross-compiling.
62922         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
62924 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
62926         ftoastr: fix comment again
62927         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62928         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
62929         Also, simplify example a bit by using flags = 0.
62931 2010-12-20  Bruno Haible  <bruno@clisp.org>
62933         round*, trunc*: Update documentation regarding glibc.
62934         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
62935         * doc/posix-functions/round.texi: Likewise.
62936         * doc/posix-functions/roundl.texi: Likewise.
62937         * doc/posix-functions/truncf.texi: Likewise.
62938         * doc/posix-functions/trunc.texi: Likewise.
62939         * doc/posix-functions/truncl.texi: Likewise.
62941 2010-12-20  Bruno Haible  <bruno@clisp.org>
62943         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
62944         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
62945         * doc/posix-functions/round.texi: Likewise.
62946         * doc/posix-functions/roundl.texi: Likewise.
62948 2010-12-20  Bruno Haible  <bruno@clisp.org>
62950         ttyname_r: Add missing declaration on HP-UX 11.
62951         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
62952         HAVE_TTYNAME_R.
62953         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
62954         declared. Set HAVE_TTYNAME_R always.
62955         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62956         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
62957         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
62958         HAVE_TTYNAME_R.
62959         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
62961 2010-12-20  Bruno Haible  <bruno@clisp.org>
62963         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
62964         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
62965         * doc/posix-functions/getlogin_r.texi: Likewise.
62966         * tests/test-getlogin.c: Include <errno.h>.
62967         (main): Avoid test failure on HP-UX 11.11.
62968         * tests/test-getlogin_r.c (main): Likewise.
62970 2010-12-20  Bruno Haible  <bruno@clisp.org>
62972         getlogin_r: Add missing declaration on HP-UX 11.
62973         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
62974         declared also when it exists as a function.
62975         * doc/posix-functions/getlogin_r.texi: Document this workaround.
62977 2010-12-20  Bruno Haible  <bruno@clisp.org>
62979         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
62980         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
62981         through wcrtomb.
62983 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62985         ftoastr: fix comment
62986         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62987         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
62989 2010-12-19  Bruno Haible  <bruno@clisp.org>
62991         isnan: Ensure it is a macro.
62992         * lib/math.in.h (isnan): Define as a macro if not already a macro.
62993         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
62994         Solaris.
62996 2010-12-19  Bruno Haible  <bruno@clisp.org>
62998         ldexpl test: Fix link error on OSF/1 5.1.
62999         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
63001 2010-12-19  Bruno Haible  <bruno@clisp.org>
63003         wctype: Make it work in C++ mode on OSF/1 5.1.
63004         * lib/wctype.in.h (iswblank): Declare but not define here.
63005         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
63006         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
63007         * modules/wctype (Files): Add lib/iswblank.c.
63009 2010-12-19  Bruno Haible  <bruno@clisp.org>
63011         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
63012         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
63013         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
63015 2010-12-19  Bruno Haible  <bruno@clisp.org>
63017         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
63018         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
63019         _POSIX_PII_SOCKET.
63020         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
63021         * doc/posix-functions/recvfrom.texi: Likewise.
63022         * doc/posix-functions/send.texi: Likewise.
63023         * doc/posix-functions/sendto.texi: Likewise.
63025 2010-12-19  Bruno Haible  <bruno@clisp.org>
63027         tcgetsid: Add missing declaration on OSF/1 5.1.
63028         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
63029         HAVE_TCGETSID.
63030         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
63031         Don't set HAVE_TCGETSID.
63032         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
63033         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
63034         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
63035         HAVE_TCGETSID.
63036         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
63038 2010-12-19  Bruno Haible  <bruno@clisp.org>
63040         stdio: Fix problem with popen() declaration on OSF/1 5.1.
63041         * lib/stdio.in.h: During the include_next statement, let recursive
63042         includes of this file include only the system header file.
63044 2010-12-19  Bruno Haible  <bruno@clisp.org>
63046         iconv_open: Fix regression from 2010-12-04.
63047         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
63048         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
63050 2010-12-19  Bruno Haible  <bruno@clisp.org>
63052         stdbool test: Avoid a gcc warning.
63053         * tests/test-stdbool.c (main): Fail if e1 is false.
63054         Reported by Jim Meyering.
63056 2010-12-19  Jim Meyering  <meyering@redhat.com>
63058         setenv: restore to working order
63059         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
63060         mistakenly removed.
63061         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
63062         HAVE_SETENV.
63063         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
63064         HAVE_SETENV.
63066 2010-12-19  Bruno Haible  <bruno@clisp.org>
63068         Document some different function declarations on OSF/1 5.1.
63069         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
63070         * doc/posix-functions/inet_ntop.texi: Likewise.
63071         * doc/posix-functions/gethostname.texi: Likewise.
63072         * lib/unistd.in.h (gethostname): Update comment.
63074 2010-12-19  Bruno Haible  <bruno@clisp.org>
63076         doc: Mention vasprintf-posix module.
63077         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
63078         the 'vasprintf-posix' module.
63079         * doc/glibc-functions/vasprintf.texi: Likewise.
63081 2010-12-19  Bruno Haible  <bruno@clisp.org>
63083         unsetenv: Add missing declaration on OSF/1 5.1.
63084         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
63085         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
63086         Don't set HAVE_UNSETENV. In the test program, set _BSD.
63087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
63088         not HAVE_UNSETENV.
63089         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
63090         HAVE_UNSETENV.
63091         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
63093 2010-12-19  Bruno Haible  <bruno@clisp.org>
63095         setenv: Add missing declaration on OSF/1 5.1.
63096         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
63097         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
63098         declared. Don't set HAVE_SETENV.
63099         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
63100         not HAVE_SETENV.
63101         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
63102         HAVE_SETENV.
63103         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
63105 2010-12-19  Bruno Haible  <bruno@clisp.org>
63107         nl_langinfo tests: Avoid gcc warning.
63108         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
63110 2010-12-19  Bruno Haible  <bruno@clisp.org>
63112         mknod: Avoid error in C++ mode on OSF/1 with GCC.
63113         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
63114         _GL_CXXALIAS_SYS.
63116 2010-12-19  Bruno Haible  <bruno@clisp.org>
63118         stdbool: Relax test.
63119         * tests/test-stdbool.c (e): Don't require that casts from a variable's
63120         address to 'bool' work in static initializer, for compilers other than
63121         GCC.
63123 2010-12-19  Bruno Haible  <bruno@clisp.org>
63125         ftello: Add missing declaration on OSF/1 5.1.
63126         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
63127         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
63128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
63129         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
63130         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
63132 2010-12-19  Bruno Haible  <bruno@clisp.org>
63134         fseeko: Add missing declaration on OSF/1 5.1.
63135         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
63136         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
63137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
63138         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
63139         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
63141 2010-12-19  Bruno Haible  <bruno@clisp.org>
63143         fchdir: Add missing declaration on OSF/1 5.1.
63144         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
63145         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
63146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
63147         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
63148         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
63150 2010-12-19  Bruno Haible  <bruno@clisp.org>
63152         relocatable-prog-wrapper: Separate from relocatable-prog.
63153         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
63154         uninstall-relocwrapper rule here.
63155         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
63156         Reported by Ian Beckwith <ianb@erislabs.net>.
63158 2010-12-19  Bruno Haible  <bruno@clisp.org>
63160         unistr/u8-mbsnlen: Add missing dependency.
63161         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
63162         Reported by Ian Beckwith <ianb@erislabs.net>.
63164 2010-12-19  Bruno Haible  <bruno@clisp.org>
63166         iconv: Make it possible again to use this module without 'iconv-h'.
63167         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
63168         if it is not defined.
63169         Reported by Ian Beckwith <ianb@erislabs.net>.
63171 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63173         acl: port to Solaris 8 when copying from tmpfs to ufs
63174         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
63175         error number.  Problem observed on Solaris 8 with latest
63176         coreutils, with "mv A B", where A is on a tmpfs file system and B
63177         is on a ufs file system.  This caused coreutils' mv/part-symlink
63178         test to fail.
63180         tests: set fail=0 at start
63181         * tests/init.sh (setup_): Move fail=0 initialization here ...
63182         (mktempd_): ... from here, so that tests can rely on fail being
63183         set to 0 initially.  This fixes a problem in coreutils; see:
63184         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
63186 2010-12-18  Bruno Haible  <bruno@clisp.org>
63188         memmem-simple: Stylistic changes.
63189         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
63190         Fix preprocessor directive indentation.
63192 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63194         memmem, memmem-simple: reorganize and expand empty needle check
63195         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
63196         functional checks to memmem-simple so that one has a fully functional
63197         memmem by using just this module.
63198         Restrict the performance only check to the memmem module.
63199         Also expand the empty needle check to ensure the correct
63200         pointer is returned, not just a non NULL pointer.
63201         * doc/glibc-functions/memmem.texi: Rearrange the portability
63202         documentation to correlate with the rearranged checks.
63203         Clarify exactly how the memmem and memmem-simple modules
63204         relate to each other.
63206 2010-12-15  Pádraig Brady  <P@draigBrady.com>
63207             Bruno Haible  <bruno@clisp.org>
63209         Improve cross-compilation guesses for uClibc.
63210         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
63211         that uClibc does not have the glibc bug.
63212         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
63213         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
63215 2010-12-14  Eric Blake  <eblake@redhat.com>
63217         configmake: provide fallbacks for oldest supported autotools
63218         * m4/configmake.m4: New file.
63219         * modules/configmake (Files): Ship it.
63220         (configure.ac): Use it to guarantee fallbacks.
63222 2010-12-13  Pádraig Brady  <P@draigBrady.com>
63224         read-file: Improve handling of large files
63225         * lib/read-file.c (fread_file): Minimize realloc()s
63226         for regular files, and better manage sizes around SIZE_MAX.
63228 2010-12-13  Eric Blake  <eblake@redhat.com>
63230         cloexec, fcntl: relax license
63231         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
63232         consent from all contributors.
63233         * modules/fcntl (License): Likewise.
63235 2010-12-10  Bruno Haible  <bruno@clisp.org>
63237         Tests for module 'pipe-posix'.
63238         * modules/pipe-posix-tests: New file.
63239         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
63241 2010-12-10  Bruno Haible  <bruno@clisp.org>
63243         pipe-posix: Make it work in C++ mode.
63244         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
63245         (pipe): Use common idiom, not a macro definition.
63246         * lib/pipe.c: New file.
63247         * m4/pipe.m4: New file.
63248         * modules/pipe-posix (Description): Enhance.
63249         (Files): Add lib/pipe.c, m4/pipe.m4.
63250         (configure.ac): Invoke gl_FUNC_PIPE.
63251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
63252         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
63253         * tests/test-unistd-c++.cc: Check the signature of pipe.
63255 2010-12-10  Bruno Haible  <bruno@clisp.org>
63257         Rename module 'pipe' to 'spawn-pipe'.
63258         * modules/spawn-pipe: New file, renamed from modules/pipe.
63259         (Files, configure.ac, Makefile.am): Update.
63260         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
63261         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
63262         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
63263         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
63264         "spawn-pipe.h" instead of "pipe.h".
63265         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
63266         to gl_SPAWN_PIPE.
63267         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
63268         (Files, Makefile.am): Update.
63269         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
63270         Update.
63271         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
63272         Include "spawn-pipe.h" instead of "pipe.h".
63273         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
63274         * lib/javacomp.c: Likewise.
63275         * lib/javaversion.c: Likewise.
63276         * lib/pipe-filter-gi.c: Likewise.
63277         * lib/pipe-filter-ii.c: Likewise.
63278         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
63279         * modules/javacomp (Depends-on): Likewise.
63280         * modules/javaversion (Depends-on): Likewise.
63281         * modules/pipe-filter-gi (Depends-on): Likewise.
63282         * modules/pipe-filter-ii (Depends-on): Likewise.
63283         * MODULES.html.sh (Executing programs): Update.
63284         * NEWS: Mention the change.
63286 2010-12-10  Eric Blake  <eblake@redhat.com>
63288         pipe-posix: new module
63289         * modules/pipe-posix: New file.
63290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
63291         (gl_UNISTD_H): Check for declaration.
63292         * modules/unistd (Makefile.am): Substitute it.
63293         * lib/unistd.in.h (pipe): Provide it for mingw.
63294         * doc/posix-functions/pipe.texi (pipe): Update documentation.
63295         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
63297 2010-12-07  Bruno Haible  <bruno@clisp.org>
63299         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
63300         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
63301         u8_strcmp_gnu.
63302         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
63304 2010-12-06  Bruno Haible  <bruno@clisp.org>
63306         Update internal documentation.
63307         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
63309 2010-12-04  Bruno Haible  <bruno@clisp.org>
63311         Put more information about failed tests into the test return codes.
63312         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
63313         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
63314         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
63315         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
63316         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
63317         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63318         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63319         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
63320         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
63321         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63322         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
63323         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
63324         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
63325         * m4/stdint.m4 (gl_STDINT_H): Likewise.
63326         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
63327         returns a bit mask.
63328         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
63329         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
63330         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
63331         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
63332         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
63333         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
63334         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63335         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63336         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
63337         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
63338         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63339         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
63340         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
63341         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
63342         * m4/link.m4 (gl_FUNC_LINK): Likewise.
63343         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63344         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
63345         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
63346         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
63347         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
63348         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63349         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
63350         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
63351         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
63352         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
63353         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63354         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
63355         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
63356         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
63357         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
63358         gl_PRINTF_PRECISION): Likewise.
63359         * m4/regex.m4 (gl_REGEX): Likewise.
63360         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
63361         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
63362         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
63363         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63364         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63365         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
63366         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
63367         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
63368         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
63369         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63370         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63371         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63372         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
63373         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
63374         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63375         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63376         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
63377         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
63378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63379         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
63380         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
63381         enumerated value.
63382         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
63384 2010-12-04  Bruno Haible  <bruno@clisp.org>
63386         Update for Solaris 11 2010-11.
63387         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
63388         Express, released in November 2010.
63390 2010-12-04  Bruno Haible  <bruno@clisp.org>
63392         nproc: Relax license.
63393         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
63394         and Paul Eggert.
63395         Requested by Ludovic Courtès <ludo@gnu.org>.
63397 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63399         utimecmp: fine-grained src to nearby coarse-grained dest
63401         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
63402         and the source is on a file system with higher-resolution time
63403         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
63404         not work, and the time stamps are close together, the algorithm to
63405         determine the exact resolution from the read-back mtime was buggy:
63406         it had a "!=" where it should have had an "==".  This bug has been
63407         in the code ever since it was introduced to gnulib.
63408         Problem reported by Dan Jacobson in
63409         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
63411 2010-11-30  Bruno Haible  <bruno@clisp.org>
63413         strerror_r-posix: Fix autoconf test.
63414         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
63416 2010-11-28  Bruno Haible  <bruno@clisp.org>
63417             Paul Eggert  <eggert@cs.ucla.edu>
63419         Tests for module 'getdomainname'.
63420         * modules/getdomainname-tests: New file.
63421         * tests/test-getdomainname.c: New file, based on
63422         tests/test-gethostname.c.
63424 2010-11-28  Bruno Haible  <bruno@clisp.org>
63425             Paul Eggert  <eggert@cs.ucla.edu>
63427         getdomainname: Use the system function when possible.
63428         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
63429         (getdomainname): Replace if needed. Provide the declaration if it is
63430         missing. Don't use _GL_CXXALIAS_SYS_CAST.
63431         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
63432         (getdomainname): When the system has getdomainname, call the system
63433         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
63434         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
63435         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
63436         found in libnsl. Look for the declaration also in <netdb.h>. Replace
63437         the function if its second argument is of type 'int' or if it is found
63438         in libnsl.
63439         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
63440         <sys/systeminfo.h> and sysinfo().
63441         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
63442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63443         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
63444         HAVE_GETDOMAINNAME.
63445         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
63446         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
63447         * doc/glibc-functions/getdomainname.texi: Document the problems with
63448         the getdomainname declaration.
63450 2010-11-28  Bruno Haible  <bruno@clisp.org>
63452         sys_socket: Ensure ss_family field on AIX.
63453         * lib/sys_socket.in.h (ss_family): New macro definition.
63454         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
63455         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
63456         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
63457         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63458         * modules/sys_socket (Makefile.am): Substitute
63459         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
63460         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
63462 2010-11-27  Bruno Haible  <bruno@clisp.org>
63464         readline: Improve configure output.
63465         * m4/readline.m4 (gl_FUNC_READLINE): Make the
63466         "checking for readline..." result understandable.
63468 2010-11-27  Bruno Haible  <bruno@clisp.org>
63470         *printf-posix: Detect a bug on Solaris 10/x86.
63471         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
63472         for floating-point output.
63473         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
63474         directive.
63475         * tests/test-snprintf-posix.h (test_function): Likewise.
63476         * tests/test-sprintf-posix.h (test_function): Likewise.
63477         * tests/test-vasprintf-posix.c (test_function): Likewise.
63478         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
63479         * doc/posix-functions/printf.texi: Likewise.
63480         * doc/posix-functions/snprintf.texi: Likewise.
63481         * doc/posix-functions/sprintf.texi: Likewise.
63482         * doc/posix-functions/vfprintf.texi: Likewise.
63483         * doc/posix-functions/vprintf.texi: Likewise.
63484         * doc/posix-functions/vsnprintf.texi: Likewise.
63485         * doc/posix-functions/vsprintf.texi: Likewise.
63486         * doc/glibc-functions/obstack_printf.texi: Likewise.
63487         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
63489 2010-11-27  Bruno Haible  <bruno@clisp.org>
63491         Fix link error when module libunistring-optional is in use.
63492         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
63493         * modules/striconveha-tests (Makefile.am): Likewise.
63495 2010-11-27  Bruno Haible  <bruno@clisp.org>
63497         regex: Mention link dependencies.
63498         * modules/regex (Link): New section.
63499         * modules/rpmatch (Link): Likewise.
63500         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
63502 2010-11-27  Bruno Haible  <bruno@clisp.org>
63504         ftoastr: Fix compilation error on Solaris.
63505         * lib/ftoastr.c: Include <config.h>.
63507 2010-11-27  Bruno Haible  <bruno@clisp.org>
63509         getloadavg: Update documentation.
63510         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
63512 2010-11-27  Bruno Haible  <bruno@clisp.org>
63514         sys_socket: Fix test whether the functions are declared.
63515         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
63516         not <sys/select.h>.
63518 2010-11-27  Bruno Haible  <bruno@clisp.org>
63520         getpass: Make sure to get system declaration on some platforms.
63521         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
63522         gl_USE_SYSTEM_EXTENSIONS.
63523         * modules/getpass (Depends-on): Add extensions.
63525 2010-11-26  Bruno Haible  <bruno@clisp.org>
63527         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
63528         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
63529         'iconv' module is present.
63530         (ICONV_CONST): New macro.
63531         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
63532         ICONV_CONST.
63533         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
63534         set ICONV_CONST.
63535         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
63536         here.
63537         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
63538         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
63539         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
63540         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
63541         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
63542         present.
63544 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63546         ftoastr: comment fix
63547         * lib/ftoastr.c: "little" -> "little or no" in comment
63549 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
63551         stdint: port to GCC 4.3 + OSX + Octave
63552         On this platform, stdint.h is buggy and defines int64_t to long
63553         long int.  The replacement defined it to long int, causing
63554         problems with C++ style name mangling.  Instead, trust the system
63555         definition if INT64_MAX is defined, and likewise for the unsigned
63556         variant.   Problem reported by Jarno Rajahalme in
63557         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
63558         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
63559         and don't mess with int64_t and INT64_MAX in this case.
63560         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
63562 2010-11-24  Bruno Haible  <bruno@clisp.org>
63564         doc: Corrections regarding MacOS X 10.4 and 10.5.
63565         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
63566         MacOS X.
63567         Reported by Simon Josefsson.
63569 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
63571         Uninstall ".bin" files installed by relocwrapper.
63572         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
63573         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
63574         unless it is already there.
63576 2010-11-21  Bruno Haible  <bruno@clisp.org>
63578         Update for NetBSD 5.0.
63579         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63580         NetBSD; the test fails on NetBSD 5.0.
63581         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63582         about NetBSD.
63584 2010-11-21  Bruno Haible  <bruno@clisp.org>
63586         Update for HP-UX 11.23 and HP-UX 11.31.
63587         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
63588         HP-UX.
63590 2010-11-21  Bruno Haible  <bruno@clisp.org>
63592         Update for MacOS X 10.5.
63593         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63594         MacOS X; the test fails on MacOS X 10.5.8.
63595         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63596         about MacOS X.
63598 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
63600         bootstrap: add bootstrap_sync option.
63601         See discussion at
63602         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
63603         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
63604         * build-aux/bootstrap: Accept --bootstrap-sync to update
63605         bootstrap if it is not identical to the local gnulib's
63606         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
63607         enable this by default.  Accept --no-bootstrap-sync to disable
63608         it.
63610 2010-11-20  Bruno Haible  <bruno@clisp.org>
63612         Ensure that <features.h> is included before __GLIBC__ is tested.
63613         * lib/printf-parse.h: Include <features.h>.
63614         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
63615         Reported by Mike Frysinger <vapier@gentoo.org>.
63617         Ensure that <features.h> is included before __GLIBC__ is tested.
63618         * lib/wchar.in.h: Include <features.h>.
63619         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
63620         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
63621         Reported by Mike Frysinger <vapier@gentoo.org>.
63623         Ensure that <features.h> is included before __GLIBC__ is tested.
63624         * lib/arpa_inet.in.h: Include <features.h>.
63625         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
63626         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
63627         Reported by Mike Frysinger <vapier@gentoo.org>.
63629         Ensure that <features.h> is included before __GLIBC__ is tested.
63630         * build-aux/link-warning.h: Include <features.h>.
63631         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
63632         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
63633         Reported by Mike Frysinger <vapier@gentoo.org>.
63635         Ensure that <features.h> is included before __GLIBC__ is tested.
63636         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
63637         Reported by Mike Frysinger <vapier@gentoo.org>.
63639 2010-11-20  Bruno Haible  <bruno@clisp.org>
63641         memmem: Fix autoconf test.
63642         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
63644 2010-11-20  Bruno Haible  <bruno@clisp.org>
63646         Port to uClibc.
63647         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
63648         * lib/fcntl.in.h: Likewise.
63649         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
63650         * lib/mbrtowc.c (mbrtowc): Likewise.
63651         * lib/relocatable.c (find_shared_library_fullname): Likewise.
63652         * lib/strerror_r.c: Likewise.
63653         * lib/unistr/u8-strnlen.c: Likewise.
63654         * lib/vasnprintf.c (decimal_point_char): Likewise.
63655         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
63656         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
63657         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63658         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
63659         * tests/test-sigaction.c (handler, main): Likewise.
63660         * lib/freading.h: Treat uClibc like a non-glibc platform.
63661         * lib/freading.c: Likewise.
63662         * lib/gettext.h: Likewise.
63663         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
63664         Likewise.
63665         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
63666         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63667         * lib/propername.c (proper_name_utf8): Likewise.
63668         * lib/spawn.in.h: Likewise.
63669         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
63670         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
63671         mem_cd_iconveh_internal): Likewise.
63672         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
63673         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
63674         strstr, strcasestr): Likewise.
63675         * lib/unicodeio.c (unicode_to_mb): Likewise.
63676         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
63677         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
63678         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
63679         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
63680         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
63681         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
63682         * lib/unistr/u8-stpncpy.c: Likewise.
63683         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63684         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
63685         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63686         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63687         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
63688         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
63689         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
63690         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
63691         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
63692         Likewise.
63693         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63694         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63695         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
63696         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63697         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63698         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
63699         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63700         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
63701         * tests/test-getopt.h (OPTIND_MIN): Likewise.
63702         * tests/test-striconveha.c (main): Likewise.
63703         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63704         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
63705         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
63706         * doc/posix-functions/getline.texi: Likewise.
63707         Reported by Mike Frysinger <vapier@gentoo.org>.
63709 2010-11-20  Bruno Haible  <bruno@clisp.org>
63711         nproc: Fix condition.
63712         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
63713         HAVE_PTHREAD_AFFINITY_NP.
63715 2010-11-20  Bruno Haible  <bruno@clisp.org>
63717         Fix a comment.
63718         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
63720 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
63722         ftoastr: don't assume snprintf
63723         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
63724         Implement a subset of snprintf here, by using sprintf safely.
63725         * modules/ftoastr (Depends-on): Remove snprintf.
63727 2010-11-19  Jim Meyering  <meyering@redhat.com>
63729         test-rename.h: fix compilation failure
63730         * tests/test-rename.h (test_rename): Add omitted "}".
63732 2010-11-17  Jim Meyering  <meyering@redhat.com>
63734         maint.mk: add a URL discussing the no-@acronym policy
63735         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
63737 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
63739         ftoastr: depend on snprintf, improve comments
63740         * lib/ftoastr.c: Also mention Loitsch's draft.
63741         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
63742         needed in the current implementation, but it might simplify
63743         speeding up the code later.
63744         * modules/ftoastr: Depend on snprintf; this improves portability.
63745         Suggested by Bruno Haible in the same email.
63747         ftoastr: port to hosts lacking strtof and strtold
63748         Problem reported by Bruno Haible in
63749         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
63750         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
63751         environment and strtold (and presumably strtof) are not available.
63752         * modules/ftoastr (Files): Add m4/c-strtod.m4.
63753         (configure.ac): Require gl_C99_STRTOLD.
63755 2010-11-18  Bruno Haible  <bruno@clisp.org>
63757         c-strtold: Avoid link error on AIX 7.
63758         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
63759         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
63760         (gl_C_STRTOLD): Test whether strtold_l exists.
63761         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63763 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63765         intprops: new macro INT_BITS_STRLEN_BOUND
63766         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
63767         ftoastr.h.  This exposes an internal of intprops.h that was formerly
63768         not exposed.  Also, it uses a slightly tighter bound than before;
63769         though this makes no practical difference, we might as well be as
63770         tight as we easily can.
63772         ftoastr: new module, for lossless conversion of floats to short strings
63773         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
63774         * modules/ftoastr: New files.
63776 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63778         bootstrap: port to Solaris sed
63779         * build-aux/bootstrap (get_version): Port to Solaris sed.
63780         See Ralf Wildenhues's note in
63781         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
63783 2010-11-14  Jim Meyering  <meyering@redhat.com>
63785         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
63786         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
63787         and move definition closer to sole use.
63789 2010-11-13  Jim Meyering  <meyering@redhat.com>
63791         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
63792         Now we require at least autoconf-2.59, which means the work-around
63793         is no longer needed.
63794         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
63795         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63796         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63797         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63798         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63800 2010-11-13  Bruno Haible  <bruno@clisp.org>
63802         rename, renameat: Avoid test failures at NFS mounted locations.
63803         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
63804         functions.
63805         (test_rename): Use assert_nonexistent.
63806         * tests/test-rename.c: Include <dirent.h>.
63807         * tests/test-renameat.c: Likewise.
63808         Reported by Gary V. Vaughan <gary@gnu.org>.
63810         rename, renameat: Document Linux bug with NFS
63811         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
63812         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
63813         * doc/posix-functions/renameat.texi: Likewise.
63814         Suggested by Eric Blake.
63816 2010-11-13  Bruno Haible  <bruno@clisp.org>
63818         rename test: Add comments.
63819         * tests/test-rename.h (test_rename): Add structure and comments.
63821 2010-11-13  Eric Blake  <eblake@redhat.com>
63823         maintainer-makefile: cover a few more files
63824         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
63825         scripts generated within C files, for libvirt.
63827 2010-11-13  Bruno Haible  <bruno@clisp.org>
63829         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
63830         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
63831         character, return the number of bytes that belong together, not always
63832         1.
63833         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
63834         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
63835         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
63836         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
63837         number of bytes of an invalid character.
63838         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
63839         (main): Invoke it.
63840         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
63841         results.
63842         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
63843         malformed byte sequences.
63844         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
63845         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
63846         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
63847         Reported by Ben Pfaff and Paolo Bonzini.
63849 2010-11-13  Bruno Haible  <bruno@clisp.org>
63851         openat: Work around glibc bug with fchownat() and empty file names.
63852         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
63853         (gl_FUNC_FCHOWNAT): Invoke it.
63854         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
63855         * doc/posix-functions/fchownat.texi: Document the glibc bug.
63856         Reported by Gary V. Vaughan <gary@gnu.org>.
63858 2010-11-13  Bruno Haible  <bruno@clisp.org>
63860         openat: Ensure autoconf macro ordering.
63861         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
63862         gl_USE_SYSTEM_EXTENSIONS.
63863         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
63865 2010-11-13  Bruno Haible  <bruno@clisp.org>
63867         Update comments.
63868         * lib/unistr/u8-check.c: Update file name in comments.
63869         * lib/unistr/u8-mblen.c: Likewise.
63870         * lib/unistr/u8-prev.c: Likewise.
63871         * lib/unistr/u8-strmblen.c: Likewise.
63872         * lib/unistr/u8-strmbtouc.c: Likewise.
63874 2010-11-13  Jim Meyering  <meyering@redhat.com>
63876         tests: avoid test failure on Solaris 10 due to lack of PATH export
63877         * tests/test-update-copyright.sh: Don't forget to export PATH.
63879         init.sh: ensure that IFS is defined, just in case...
63880         * tests/init.sh (setup_): Ensure that IFS is defined,
63881         so that saving and restoring it works as expected.  This
63882         appears to be useful at least for an old version of dash
63883         from a long time ago (RH 6).  See here for details:
63884         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
63886         maint.mk: tighten "test a == b" check
63887         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
63888         test to files that contain something like #!/bin/sh.
63889         Without this, coreutils would get two false positives in
63890         the comments of C source files.
63892 2010-11-12  Eric Blake  <eblake@redhat.com>
63894         bootstrap: fix typo in previous attempt
63895         * build-aux/bootstrap (buildreq): Correct the grouping.
63896         Reported by Paul Eggert.
63898         maintainer-makefile: prohibit test x == x
63899         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
63900         Based on a report by Matthias Bolte.
63902         bootstrap: allow FreeBSD gzip
63903         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
63904         which has no '.' and goes to stderr.
63905         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
63906         Reported by Matthias Bolte.
63908         maintainer-makefile: check for i18n setup
63909         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
63910         will likely work.
63912 2010-11-12  Bruno Haible  <bruno@clisp.org>
63914         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
63915         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
63916         * lib/nanosleep.c (nanosleep): Likewise.
63918 2010-11-11  Bruno Haible  <bruno@clisp.org>
63920         fcntl-h: Fix for use of C++ on glibc systems.
63921         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
63922         also on glibc systems in C++ mode.
63923         Reported by Gary V. Vaughan <gary@gnu.org>.
63925 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63927         mknod: avoid false failure with dash
63928         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
63930 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63932         unlink: Fix "is it should" typo in diagnostic.
63933         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
63934         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
63936 2010-11-11  Bruno Haible  <bruno@clisp.org>
63938         Tests for module 'strerror_r-posix'.
63939         * modules/strerror_r-posix-tests: New file.
63940         * tests/test-strerror_r.c: New file.
63941         * tests/test-string-c++.cc: Check the signature of strerror_r.
63943         New module 'strerror_r-posix'.
63944         * lib/string.in.h (strerror_r): New declaration.
63945         * lib/strerror_r.c: New file.
63946         * m4/strerror_r.m4: New file.
63947         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
63948         of strerror_r.
63949         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
63950         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63951         * modules/strerror_r-posix: New file.
63952         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
63953         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63954         * doc/posix-functions/strerror_r.texi: Mention the new module and the
63955         portability problems.
63957 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
63959         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
63960         line is also considered for output. Quoted function name in shell
63961         command, so temporary files for functions like MyClass::operator()
63962         are removed correctly without errors.
63964 2010-11-09  Bruno Haible  <bruno@clisp.org>
63966         * doc/posix-functions/strerror.texi: List more failing platforms.
63968         * doc/posix-functions/strerror.texi: Add a comment.
63970 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63972         fdopendir: fix bug on MacOS X when low on file descriptors
63974         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
63975         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
63976         All callers changed.
63977         (fdopendir): Invoke save_cwd at the top level, not after using
63978         multiple dup() calls to use up file descriptors.  Then retry
63979         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
63980         less than the maximum number of open file descriptors, because
63981         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
63982         on Mac OS X 10.6.4 for tar 1.24
63983         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
63984         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
63985         and for tar 1.25
63986         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
63988 2010-11-07  Bruno Haible  <bruno@clisp.org>
63990         vasnprintf: Support I flag on glibc systems.
63991         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
63992         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
63993         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
63994         snprintf function.
63995         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
63996         glibc systems.
63997         * tests/test-vasnprintf-posix3.c: New file.
63998         * modules/vasnprintf-posix-tests (Files): Add it.
63999         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
64001 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
64003         [html] Fix copy/paste bug: Use unique name for compiler warnings.
64004         * MODULES.html.sh: For compiler warnings, use name
64005         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
64007 2010-11-05  Eric Blake  <eblake@redhat.com>
64009         ceil, floor: avoid spurious failure with icc
64010         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
64011         [denormals-as-zero] when optimizing without -mieee-fp option.
64012         * tests/test-floorf2.c (floorf_reference): Likewise.
64013         * tests/test-ceilf1.c (dummy): New function.
64014         (main): Use it to outsmart icc's optimization.
64015         * tests/test-floorf1.c (dummy, main): Likewise.
64017         tests: require working signbit
64018         * modules/ceilf-tests (Depends-on): Add signbit.
64019         * modules/ceill-tests (Depends-on): Likewise.
64020         * modules/floorf-tests (Depends-on): Likewise.
64021         * modules/floorl-tests (Depends-on): Likewise.
64022         * modules/round-tests (Depends-on): Likewise.
64023         * modules/roundf-tests (Depends-on): Likewise.
64024         * modules/roundl-tests (Depends-on): Likewise.
64025         * modules/trunc-tests (Depends-on): Likewise.
64026         * modules/truncf-tests (Depends-on): Likewise.
64027         * modules/truncl-tests (Depends-on): Likewise.
64029         strtod: work around icc bug
64030         * lib/strtod.c (minus_zero): Define to working value.
64031         (strtod): Use it to avoid icc bug.
64033         copysign: enhance tests
64034         * modules/copysign-tests (Files): Add minus-zero.h.
64035         * tests/test-copysign.c (main): Also test zeros.
64037 2010-11-04  Eric Blake  <eblake@redhat.com>
64039         ceil, floor, round, trunc: enhance tests of -0
64040         * tests/test-ceilf1.c (main): Ensure correct sign of result.
64041         * tests/test-ceill.c (main): Likewise.
64042         * tests/test-floorf1.c (main): Likewise.
64043         * tests/test-floorl.c (main): Likewise.
64044         * tests/test-round1.c (main): Likewise.
64045         * tests/test-roundf1.c (main): Likewise.
64046         * tests/test-roundl.c (main): Likewise.
64047         * tests/test-trunc1.c (main): Likewise.
64048         * tests/test-truncf1.c (main): Likewise.
64049         * tests/test-truncl.c (main): Likewise.
64051 2010-11-04  Eric Blake  <eblake@redhat.com>
64053         frexp, tests: work around ICC bug with -zero
64054         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
64055         works with more compilers.
64056         * tests/minus-zero.h: New file.
64057         * modules/ceilf-tests (Files): Include it.
64058         * modules/ceill-tests (Files): Likewise.
64059         * modules/floorf-tests (Files): Likewise.
64060         * modules/floorl-tests (Files): Likewise.
64061         * modules/frexp-nolibm-tests (Files): Likewise.
64062         * modules/frexp-tests (Files): Likewise.
64063         * modules/frexpl-nolibm-tests (Files): Likewise.
64064         * modules/frexpl-tests (Files): Likewise.
64065         * modules/isnan-tests (Files): Likewise.
64066         * modules/isnand-nolibm-tests (Files): Likewise.
64067         * modules/isnand-tests (Files): Likewise.
64068         * modules/isnanf-nolibm-tests (Files): Likewise.
64069         * modules/isnanf-tests (Files): Likewise.
64070         * modules/isnanl-nolibm-tests (Files): Likewise.
64071         * modules/isnanl-tests (Files): Likewise.
64072         * modules/round-tests (Files): Likewise.
64073         * modules/roundf-tests (Files): Likewise.
64074         * modules/roundl-tests (Files): Likewise.
64075         * modules/ldexpl-tests (Files): Likewise.
64076         * modules/signbit-tests (Files): Likewise.
64077         * modules/snprintf-posix-tests (Files): Likewise.
64078         * modules/sprintf-posix-tests (Files): Likewise.
64079         * modules/strtod-tests (Files): Likewise.
64080         * modules/trunc-tests (Files): Likewise.
64081         * modules/truncf-tests (Files): Likewise.
64082         * modules/truncl-tests (Files): Likewise.
64083         * modules/vsnprintf-posix-tests (Files): Likewise.
64084         * modules/vsprintf-posix-tests (Files): Likewise.
64085         * modules/vasnprintf-posix-tests (Files): Likewise.
64086         * modules/vasprintf-posix-tests (Files): Likewise.
64087         * tests/test-ceilf1.c (main): Use it.
64088         * tests/test-ceill.c (main): Likewise.
64089         * tests/test-floorf1.c (main): Likewise.
64090         * tests/test-floorl.c (main): Likewise.
64091         * tests/test-frexp.c (main): Likewise.
64092         * tests/test-frexpl.c (main): Likewise.
64093         * tests/test-isnan.c (main): Likewise.
64094         * tests/test-isnand.h (main): Likewise.
64095         * tests/test-isnanf.h (main): Likewise.
64096         * tests/test-isnanl.h (main): Likewise.
64097         * tests/test-ldexpl.c (main): Likewise.
64098         * tests/test-round.c (main): Likewise.
64099         * tests/test-roundf.c (main): Likewise.
64100         * tests/test-roundl.c (main): Likewise.
64101         * tests/test-signbit.c (test_signbitf, test_signbitd)
64102         (test_signbitl): Likewise.
64103         * tests/test-snprintf-posix.h (test_function): Likewise.
64104         * tests/test-sprintf-posix.h (test_function): Likewise.
64105         * tests/test-strtod.c (main): Likewise.
64106         * tests/test-trunc1.c (main): Likewise.
64107         * tests/test-truncf1.c (main): Likewise.
64108         * tests/test-truncl.c (main): Likewise.
64110         isnanl: work around icc bug
64111         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
64113 2010-11-03  Eric Blake  <eblake@redhat.com>
64115         tests: fix compiler warnings
64116         * tests/test-getopt.h (test_getopt): Fix condition.
64117         * tests/test-getopt_long.h (test_getopt_long): Likewise.
64118         * tests/test-pipe2.c (main): Likewise.
64119         * tests/test-quotearg-simple.c (main): Avoid icc warning.
64121         utimens: fix broken m4 test
64122         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
64124 2010-10-28  Bruno Haible  <bruno@clisp.org>
64126         posix_spawn*, getdtablesize: Relax license.
64127         * modules/posix_spawn (License): Change to LGPLv2+.
64128         * modules/posix_spawnp (License): Likewise.
64129         * modules/posix_spawn-internal (License): Likewise.
64130         * modules/posix_spawnattr_init (License): Likewise.
64131         * modules/posix_spawnattr_getflags (License): Likewise.
64132         * modules/posix_spawnattr_setflags (License): Likewise.
64133         * modules/posix_spawnattr_getpgroup (License): Likewise.
64134         * modules/posix_spawnattr_setpgroup (License): Likewise.
64135         * modules/posix_spawnattr_getschedparam (License): Likewise.
64136         * modules/posix_spawnattr_setschedparam (License): Likewise.
64137         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
64138         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
64139         * modules/posix_spawnattr_getsigdefault (License): Likewise.
64140         * modules/posix_spawnattr_setsigdefault (License): Likewise.
64141         * modules/posix_spawnattr_getsigmask (License): Likewise.
64142         * modules/posix_spawnattr_setsigmask (License): Likewise.
64143         * modules/posix_spawnattr_destroy (License): Likewise.
64144         * modules/posix_spawn_file_actions_init (License): Likewise.
64145         * modules/posix_spawn_file_actions_addclose (License): Likewise.
64146         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
64147         * modules/posix_spawn_file_actions_addopen (License): Likewise.
64148         * modules/posix_spawn_file_actions_destroy (License): Likewise.
64149         * modules/getdtablesize (License): Likewise.
64150         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
64152 2010-10-26  Bruno Haible  <bruno@clisp.org>
64154         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
64155         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
64156         Cygwin and mingw.
64157         Suggested by Eric Blake.
64159 2010-10-26  Bruno Haible  <bruno@clisp.org>
64161         stdio: Work around compilation error due to renameat() on Solaris 10.
64162         * lib/stdio.in.h: Include <unistd.h> on Solaris.
64163         * lib/renameat.c: Don't include <unistd.h> here.
64164         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
64165         Reported by Paul Eggert and Eric Blake.
64167 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64169         renameat: port to Solaris 10, which declares renameat in unistd.h
64171         * lib/renameat.c: Include unistd.h before stdio.h, because
64172         Solaris 10 declares renameat in unistd.h.  Problem encountered
64173         when building GNU tar 1.24 on Solaris 10.
64175 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
64177         fdopendir: fix C89 compilation
64178         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
64179         compilers.
64181 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
64183         inttostr: simplify by removing unnecessary redundancy
64184         * lib/anytostr.c: Don't include verify.h.
64185         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
64186         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
64187         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
64188         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
64189         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
64190         Likewise.
64191         * modules/inttostr (Depends-on): Remove 'verify'.
64193 2010-10-23  Bruno Haible  <bruno@clisp.org>
64195         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
64196         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
64197         Reported by Eric Blake.
64199 2010-10-23  Bruno Haible  <bruno@clisp.org>
64201         Tests: Fix LOCALE_JA on MirBSD 10.
64202         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
64203         to an UTF-8 locale.
64204         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
64205         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64206         Reported by Eric Blake.
64208 2010-10-21  Bruno Haible  <bruno@clisp.org>
64210         nl_langinfo test: Avoid test failure on NetBSD 5.
64211         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
64212         Reported by Eric Blake.
64214 2010-10-21  Eric Blake  <eblake@redhat.com>
64216         c-stack: work around libsigsegv 2.8 bug
64217         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
64218         overflow on at least PowerPC64.
64220 2010-10-17  Bruno Haible  <bruno@clisp.org>
64222         userspec: Drop redundant file.
64223         * modules/userspec (Files): Remove lib/inttostr.h.
64225 2010-10-17  Bruno Haible  <bruno@clisp.org>
64227         nl_langinfo tests: Silence some warnings.
64228         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
64229         Reported by Jim Meyering.
64231 2010-10-17  Bruno Haible  <bruno@clisp.org>
64233         Make use of GCC's attribute __alloc_size__.
64234         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
64235         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
64236         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
64237         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
64238         __alloc_size__.
64239         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
64240         Suggested by Jim Meyering.
64242 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
64244         bootstrap: anchor .gitignore entries.
64245         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
64246         with...
64247         (insert_vc_ignore): ... this new function, which prepends `/' to
64248         all .gitignore entries before passing them to
64249         insert_sorted_if_absent.
64251 2010-10-16  Bruno Haible  <bruno@clisp.org>
64253         nextafter: Fix configure check.
64254         * modules/nextafter (configure.ac): Correct expected prototype.
64256 2010-10-16  Bruno Haible  <bruno@clisp.org>
64258         termios: Update documentation.
64259         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
64261 2010-10-16  Bruno Haible  <bruno@clisp.org>
64263         tests: Make them compile with TinyCC.
64264         * tests/test-strstr.c (main): Remove parentheses around array
64265         initializer.
64267 2010-10-15  Eric Blake  <eblake@redhat.com>
64269         ignore-value: make header idempotent
64270         * lib/ignore-value.h: Add double-inclusion guards.
64271         Reported by Stefan Berger.
64273 2010-10-15  Jim Meyering  <meyering@redhat.com>
64275         GNUmakefile: handle "stable" target, not "major"
64276         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
64277         lists in maint.mk and announce-gen.  Without this, "make stable"
64278         would fail to ensure that $(VERSION) is up to date.
64280 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
64282         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
64283         & co.
64285 2010-10-14  Bruno Haible  <bruno@clisp.org>
64287         vasnprintf: Don't set errno to 0.
64288         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
64289         block that sets it to 0.
64290         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
64292 2010-10-14  Bruno Haible  <bruno@clisp.org>
64294         socketlib: Fix.
64295         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
64296         gl_PREREQ_SYS_H_WINSOCK2.
64297         Reported by Ian Beckwith <ianb@erislabs.net>.
64299 2010-10-13  Jim Meyering  <meyering@redhat.com>
64301         test-select-stdin.c: avoid warn_unused_result warnings
64302         * tests/test-select-stdin.c: Include "macros.h".
64303         ASSERT that read and fflush succeed.
64305 2010-10-13  Jim Meyering  <meyering@redhat.com>
64307         git-version-gen: do require git-VC'd files in cwd
64308         * build-aux/git-version-gen: Reject a git version string
64309         if there are no commits associated with the current directory.
64310         This avoids an unlikely false-positive (unrelated dir whose parent
64311         repository also contains a tag matching v*), as pointed out
64312         by Giuseppe Scrivano in
64313         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
64315 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64317         argv-iter: omit nonconforming declaration
64318         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
64319         enum arg_iter_err declaration, which doesn't conform to C99.
64320         Solaris 10 cc warns about this.
64322 2010-10-13  Eric Blake  <eblake@redhat.com>
64324         termios: fix compilation on mingw
64325         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
64326         (gl_TERMIOS_H): Adjust it on mingw.
64327         * modules/termios (Makefile.am): Substitute new key.
64328         * lib/termios.in.h (includes): Make include_next conditional.
64329         * doc/posix-headers/termios.texi (termios.h): Update
64330         documentation.
64331         Reported by Daniel P. Berrange.
64333 2010-10-13  Jim Meyering  <meyering@redhat.com>
64335         git-version-gen: don't require that .git/ be in the current dir
64336         * build-aux/git-version-gen: Adjust this script so that it works
64337         when run from any working directory beneath the top-level .git/-
64338         containing directory.  Inspired by a patch from Giuseppe Scrivano,
64339         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
64341         test-select: avoid warn_unused_result warnings
64342         * tests/test-select.c: Include "macros.h".
64343         ASSERT that each call to read, write, and pipe succeeds.
64344         While not technically required, also check each "close".
64345         * modules/select-tests (Files): Add tests/macros.h.
64347         test-symlinkat: remove declaration of unused local
64348         * tests/test-symlinkat.c (main): Remove unused local, "buf".
64350         test-inttostr: avoid shadowing warnings
64351         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
64352         and use malloc rather than the stack for the same reason as
64353         mentioned in the comment justifying the other allocation.
64355 2010-10-11  Bruno Haible  <bruno@clisp.org>
64357         stdlib: Allow multiple gnulib generated replacements to coexist.
64358         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
64359         Reported by Sam Steingold <sds@gnu.org>.
64361 2010-10-11  Jim Meyering  <meyering@redhat.com>
64363         fix a documentation typo
64364         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
64366 2010-10-11  Eric Blake  <eblake@redhat.com>
64368         futimens: work around Solaris 11 bug
64369         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
64370         * tests/test-futimens.h (test_futimens): Enhance, rather than
64371         weaken test.
64372         * doc/posix-functions/futimens.texi (futimens): Document the bug.
64374 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64376         Indentation.
64377         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
64378         higher-level operators more to the left.
64380 2010-10-11  Jim Meyering  <meyering@redhat.com>
64382         test-futimens: avoid unwarranted test failure on Solaris 5.11
64383         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
64384         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
64385         because it tries to dereference the NULL name argument.
64387 2010-10-11  Bruno Haible  <bruno@clisp.org>
64389         Indentation.
64390         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
64391         indentation.
64393 2010-10-11  Jim Meyering  <meyering@redhat.com>
64395         spawn.in.h: make indentation consistent with parentheses
64396         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
64397         Make indentation consistent with parentheses.
64399 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
64401         Fix mismatched parens in previous commit
64402         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
64403         parens.
64405 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64407         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
64409         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
64410         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
64411         * lib/malloca.c: Include "verify.h".
64412         (verify1): Remove, replacing with a verify call.
64413         * lib/relocwrapper.c (verify1): Likewise.
64414         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
64415         Likewise.
64416         * modules/malloca (Depends-on): Add 'verify'.
64417         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
64418         * modules/vasnprintf (Depends-on): Add 'verify'.
64419         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64420         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64421         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64422         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64423         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64424         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64425         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64427         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
64429         Formerly the style was sometimes 2*X - 1, because the C standard
64430         was wrongly thought to disallow ?: in integral constant expressions.
64431         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
64432         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
64433         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
64434         * lib/stdint.in.h (_verify_intmax_size): Likewise.
64435         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
64436         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
64437         verify that time_t cannot be floating.
64439 2010-10-08  Eric Blake  <eblake@redhat.com>
64441         time: enforce recent POSIX ruling that time_t is integral
64442         * lib/time.in.h (__time_t_must_be_integral): Detect any
64443         problematic systems, allowing the rest of gnulib to assume POSIX.
64445 2010-10-08  Jim Meyering  <meyering@redhat.com>
64447         fdopendir: fix a bug on systems lacking openat and /proc support
64448         OpenBSD 4.7 is one such system.  The most noticeable effect was
64449         failure of any application making nontrivial use of fts: rm, du,
64450         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
64451           ./rm: traversal failed: `a': Bad file descriptor
64452         Debugging that, you see that even though FD 6 was closed just
64453         prior to the opendir call in fd_clone_opendir, its resulting
64454         dir->dd_fd was 8, rather than the expected value of 6:
64456         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
64457         93                close (fd);
64458         (gdb) n
64459         94                dir = fd_clone_opendir (dupfd);
64460         (gdb) n
64461         95                saved_errno = errno;
64462         (gdb) p dir->dd_fd
64463         $11 = 8
64465         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
64466         The problem is that on OpenBSD, fd_clone_opendir has to resort
64467         to using the old-style save/restore CWD mechanism, due to its
64468         lack of openat/proc support, and *that* would steal the FD (6)
64469         that opendir was supposed to use.
64471         The fix is to squirrel away the desired FD so that save_cwd uses a
64472         different one, and then free the dest FD right before calling opendir.
64473         That guarantees opendir will use the required file descriptor.
64475         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
64477 2010-10-08  Bruno Haible  <bruno@clisp.org>
64479         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
64480         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
64482 2010-10-08  Bruno Haible  <bruno@clisp.org>
64484         nanosleep: Make replacement POSIX compliant.
64485         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
64486         is out of range.
64487         Reported by Jim Meyering.
64489 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64491         bootstrap: add hook for altering gnulib.mk, for Bison
64492         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
64493         the Bison bootstrapping process can rewrite file names and variables
64494         in this file before later parts of 'bootstrap' use the file.
64495         Bison wants to include lib/gnulib.mk from the top-level makefile,
64496         so it needs the file names in this file to be relative to the top
64497         level, not relative to lib; plus it needs variable names to be
64498         rewritten.
64499         (slurp): Use the new function.
64501         bootstrap: reformat for readability
64502         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
64504 2010-10-08  Eric Blake  <eblake@redhat.com>
64506         docs: update cygwin progress
64507         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
64508         1.7.7.
64509         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
64510         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
64511         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
64512         * doc/posix-functions/carg.texi (carg): Likewise.
64513         * doc/posix-functions/cargf.texi (cargf): Likewise.
64514         * doc/posix-functions/casin.texi (casin): Likewise.
64515         * doc/posix-functions/casinf.texi (casinf): Likewise.
64516         * doc/posix-functions/casinh.texi (casinh): Likewise.
64517         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
64518         * doc/posix-functions/catan.texi (catan): Likewise.
64519         * doc/posix-functions/catanf.texi (catanf): Likewise.
64520         * doc/posix-functions/catanh.texi (catanh): Likewise.
64521         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
64522         * doc/posix-functions/ccos.texi (ccos): Likewise.
64523         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
64524         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
64525         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
64526         * doc/posix-functions/cexp.texi (cexp): Likewise.
64527         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
64528         * doc/posix-functions/cimag.texi (cimag): Likewise.
64529         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
64530         * doc/posix-functions/clog.texi (clog): Likewise.
64531         * doc/posix-functions/clogf.texi (clogf): Likewise.
64532         * doc/posix-functions/conj.texi (conj): Likewise.
64533         * doc/posix-functions/conjf.texi (conjf): Likewise.
64534         * doc/posix-functions/cpow.texi (cpow): Likewise.
64535         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
64536         * doc/posix-functions/cproj.texi (cproj): Likewise.
64537         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
64538         * doc/posix-functions/creal.texi (creal): Likewise.
64539         * doc/posix-functions/crealf.texi (crealf): Likewise.
64540         * doc/posix-functions/csin.texi (csin): Likewise.
64541         * doc/posix-functions/csinf.texi (csinf): Likewise.
64542         * doc/posix-functions/csinh.texi (csinh): Likewise.
64543         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
64544         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
64545         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
64546         * doc/posix-functions/ctan.texi (ctan): Likewise.
64547         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
64548         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
64549         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
64550         * doc/posix-headers/complex.texi (complex.h): Likewise.
64552 2010-10-07  Jim Meyering  <meyering@redhat.com>
64554         parse-datetime: avoid compilation failure on OpenBSD 4.7
64555         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
64556         This works around a compilation failure on OpenBSD 4.7:
64557         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
64559 2010-10-07  Eric Blake  <eblake@redhat.com>
64561         docs: update cygwin progress
64562         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
64563         1.7.6.
64564         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
64565         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
64566         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
64567         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
64568         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
64569         Likewise.
64570         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
64571         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
64572         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
64573         Likewise.
64574         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
64575         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
64576         Likewise.
64577         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
64578         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
64579         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
64580         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
64581         Likewise.
64582         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
64583         Likewise.
64584         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
64586         docs: update parse-datetime history
64587         * doc/parse-datetime.texi (Authors of parse_datetime): Better
64588         documentation of this function's history and alternatives.
64590         cygwin: use more robust version check
64591         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
64592         exclude an eventual cygwin 1.9.1.
64593         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64594         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64595         (gl_FUNC_STRCASESTR): Likewise.
64596         Reported by Bruno Haible.
64598 2010-10-06  Bruno Haible  <bruno@clisp.org>
64600         string, sys_select: Avoid #including large headers unless necessary.
64601         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
64602         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
64603         OSF/1, BeOS, Haiku.
64604         Reported by Jim Meyering.
64606 2010-10-05  Eric Blake  <eblake@redhat.com>
64608         memmem, strstr, strcasestr: fix bug with long periodic needle
64609         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
64610         periodic needle having false positive.
64611         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
64612         and cygwin 1.7.7.
64613         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
64614         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64615         (gl_FUNC_STRCASESTR): Likewise.
64616         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64617         * tests/test-memmem.c (main): Expose the bug.
64618         * tests/test-strcasestr.c (main): Likewise.
64619         * tests/test-strstr.c (main): Likewise.
64620         * tests/test-c-strcasestr.c (main): Likewise.
64621         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
64622         * doc/posix-functions/strstr.texi (strstr): Likewise.
64623         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
64624         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
64626 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64628         parse-datetime: do some more renaming
64629         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
64630         parse_datetime, not get_date.  Mention the renaming.
64631         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
64632         in comments.
64633         * m4/bison.m4: Likewise.
64635 2010-10-05  Eric Blake  <eblake@redhat.com>
64637         parse-datetime: better name than get_date
64638         * NEWS: Reword the deprecation notice.
64639         * modules/get_date: Rename to modules/parse-datetime.
64640         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
64641         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
64642         * lib/get_date.y: Rename to lib/parse-datetime.y.
64643         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
64644         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
64645         * doc/getdate.texi: Provide fallback wrapper.
64646         * lib/getdate.h: Move guts, and wrap...
64647         * lib/parse-datetime.h: ...new file.
64648         * lib/parse-datetime.y (get_date): Rename...
64649         (parse_datetime): ...to this.
64650         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
64651         (gl_PARSE_DATETIME): ...to this.
64652         * doc/posix-functions/getdate.texi (get_date): Provide fallback
64653         documentation.
64654         * modules/getdate (Files): Provide fallback docs and header.
64655         (Notice, Depends-on): Update references.
64656         * tests/test-parse-datetime.c: Likewise.
64657         * DEPENDENCIES: Likewise.
64658         * MODULES.html.sh (Date and time <time.h>): Likewise.
64659         * doc/parse-datetime.texi (Date input formats)
64660         (Authors of parse_datetime): Likewise.
64661         * modules/parse-datetime (Files, configure.ac, Makefile.am)
64662         (Include): Likewise.
64663         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
64664         * gnulib-tool: Likewise.
64665         * m4/bison.m4 (gl_BISON): Likewise.
64666         Suggested by Bruno Haible.
64668 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64670         more ports to Solaris tr, which needs [] around ranges
64671         * gnulib-tool: Solaris tr needs [] around ranges.
64672         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
64673         * tests/test-pipe-filter-gi1.c (main): Likewise.
64674         * tests/test-pipe-filter-ii1.c (main): Likewise.
64676 2010-10-05  Eric Blake  <eblake@redhat.com>
64678         bootstrap: fix Solaris regression
64679         * build-aux/bootstrap (check_versions): Solaris tr still needs []
64680         around ranges.
64681         Reported by Pádraig Brady.
64683         bootstrap: work with pkg-config
64684         * build-aux/bootstrap (check_versions): Also transliterate - in
64685         prerequisite name.
64686         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
64687         prerequisites that were already found, to avoid confusion.
64688         Reported by Justin Clift.
64690         faccessat: remove unused wrappers
64691         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
64692         presence of these wrappers dragged in -lgen on Solaris.
64693         Reported by Clemens Brogi; fix suggested by Paul Eggert.
64695 2010-10-05  Jim Meyering  <meyering@redhat.com>
64697         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
64698         * Makefile (sc_pragma_columns): New syntax-check rule.
64700 2010-10-04  Bruno Haible  <bruno@clisp.org>
64702         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
64703         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
64704         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
64705         Reported by Bruce Korb and Eric Blake.
64707 2010-10-04  Bruno Haible  <bruno@clisp.org>
64709         threadlib: Make option --with-libpth-prefix work.
64710         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
64711         use $LIBPTH, not just -lpth.
64713 2010-10-04  Bruno Haible  <bruno@clisp.org>
64715         Avoid line length limitation from HP NonStop system header files.
64716         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
64717         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
64718         * lib/ctype.in.h: Likewise.
64719         * lib/dirent.in.h: Likewise.
64720         * lib/errno.in.h: Likewise.
64721         * lib/fcntl.in.h: Likewise.
64722         * lib/float.in.h: Likewise.
64723         * lib/getopt.in.h: Likewise.
64724         * lib/iconv.in.h: Likewise.
64725         * lib/inttypes.in.h: Likewise.
64726         * lib/langinfo.in.h: Likewise.
64727         * lib/locale.in.h: Likewise.
64728         * lib/math.in.h: Likewise.
64729         * lib/netdb.in.h: Likewise.
64730         * lib/netinet_in.in.h: Likewise.
64731         * lib/poll.in.h: Likewise.
64732         * lib/pthread.in.h: Likewise.
64733         * lib/pty.in.h: Likewise.
64734         * lib/sched.in.h: Likewise.
64735         * lib/se-selinux.in.h: Likewise.
64736         * lib/search.in.h: Likewise.
64737         * lib/signal.in.h: Likewise.
64738         * lib/spawn.in.h: Likewise.
64739         * lib/stdarg.in.h: Likewise.
64740         * lib/stddef.in.h: Likewise.
64741         * lib/stdint.in.h: Likewise.
64742         * lib/stdio.in.h: Likewise.
64743         * lib/stdlib.in.h: Likewise.
64744         * lib/string.in.h: Likewise.
64745         * lib/strings.in.h: Likewise.
64746         * lib/sys_file.in.h: Likewise.
64747         * lib/sys_ioctl.in.h: Likewise.
64748         * lib/sys_select.in.h: Likewise.
64749         * lib/sys_socket.in.h: Likewise.
64750         * lib/sys_stat.in.h: Likewise.
64751         * lib/sys_time.in.h: Likewise.
64752         * lib/sys_times.in.h: Likewise.
64753         * lib/sys_utsname.in.h: Likewise.
64754         * lib/sys_wait.in.h: Likewise.
64755         * lib/sysexits.in.h: Likewise.
64756         * lib/termios.in.h: Likewise.
64757         * lib/time.in.h: Likewise.
64758         * lib/unistd.in.h: Likewise.
64759         * lib/wchar.in.h: Likewise.
64760         * lib/wctype.in.h: Likewise.
64761         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
64762         * modules/ctype (Makefile.am): Likewise.
64763         * modules/dirent (Makefile.am): Likewise.
64764         * modules/errno (Makefile.am): Likewise.
64765         * modules/fcntl-h (Makefile.am): Likewise.
64766         * modules/float (Makefile.am): Likewise.
64767         * modules/getopt-posix (Makefile.am): Likewise.
64768         * modules/iconv-h (Makefile.am): Likewise.
64769         * modules/inttypes (Makefile.am): Likewise.
64770         * modules/langinfo (Makefile.am): Likewise.
64771         * modules/locale (Makefile.am): Likewise.
64772         * modules/math (Makefile.am): Likewise.
64773         * modules/netdb (Makefile.am): Likewise.
64774         * modules/netinet_in (Makefile.am): Likewise.
64775         * modules/poll-h (Makefile.am): Likewise.
64776         * modules/pthread (Makefile.am): Likewise.
64777         * modules/pty (Makefile.am): Likewise.
64778         * modules/sched (Makefile.am): Likewise.
64779         * modules/search (Makefile.am): Likewise.
64780         * modules/selinux-h (Makefile.am): Likewise.
64781         * modules/signal (Makefile.am): Likewise.
64782         * modules/spawn (Makefile.am): Likewise.
64783         * modules/stdarg (Makefile.am): Likewise.
64784         * modules/stddef (Makefile.am): Likewise.
64785         * modules/stdint (Makefile.am): Likewise.
64786         * modules/stdio (Makefile.am): Likewise.
64787         * modules/stdlib (Makefile.am): Likewise.
64788         * modules/string (Makefile.am): Likewise.
64789         * modules/strings (Makefile.am): Likewise.
64790         * modules/sys_file (Makefile.am): Likewise.
64791         * modules/sys_ioctl (Makefile.am): Likewise.
64792         * modules/sys_select (Makefile.am): Likewise.
64793         * modules/sys_socket (Makefile.am): Likewise.
64794         * modules/sys_stat (Makefile.am): Likewise.
64795         * modules/sys_time (Makefile.am): Likewise.
64796         * modules/sys_times (Makefile.am): Likewise.
64797         * modules/sys_utsname (Makefile.am): Likewise.
64798         * modules/sys_wait (Makefile.am): Likewise.
64799         * modules/sysexits (Makefile.am): Likewise.
64800         * modules/termios (Makefile.am): Likewise.
64801         * modules/time (Makefile.am): Likewise.
64802         * modules/unistd (Makefile.am): Likewise.
64803         * modules/wchar (Makefile.am): Likewise.
64804         * modules/wctype (Makefile.am): Likewise.
64806 2010-10-04  Bruno Haible  <bruno@clisp.org>
64808         read-file tests: Avoid a test failure on NonStop Kernel.
64809         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
64810         a regular file.
64811         Reported by Joachim Schmitz <schmitz@hp.com>.
64813 2010-10-03  Bruno Haible  <bruno@clisp.org>
64815         gnulib-tool: Fixes for --create-testdir with --libtool.
64816         * gnulib-tool (func_get_automake_snippet): Don't augment
64817         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
64818         an executable.
64819         (func_create_testdir): Handle module 'alloca' like func_import.
64820         Reported by Bruce Korb <bruce.korb@gmail.com>.
64822 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64824         Avoid some lines longer than 80 characters.
64825         * lib/stdint.in.h: Break long comment lines.
64826         * lib/math.in.h: Likewise.
64827         (_GL_NUM_UINT_WORDS): New macro, for readability.
64828         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
64829         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
64830         * lib/stdlib.in.h: Likewise.
64831         * lib/spawn.in.h: Likewise.
64832         * lib/sys_socket.in.h: Update an URL.
64833         * lib/sys_stat.in.h: Break long line.
64835 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
64837         Improve pmccabe2html.
64838         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
64839         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
64840         when the sources change. Remove the line in the HTML about "Used
64841         ranges" (which implied that there might be other unused ranges),
64842         rename "Resume" to "Summary" (easier to understand for more users).
64843         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
64844         styles, and some unnecessary blank lines.
64846 2010-10-03  Bruno Haible  <bruno@clisp.org>
64847             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
64849         acl: Add support for ACLs on NonStop Kernel.
64850         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
64851         Check whether the function aclsort() exists.
64852         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
64853         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
64854         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64855         (acl_nontrivial [HAVE_ACLSORT]: New function.
64856         (file_has_acl): Implement for NonStop Kernel.
64857         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64858         (qset_acl): Implement for NonStop Kernel.
64859         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
64860         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64861         (main): Implement for NonStop Kernel.
64862         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
64863         Kernel. Handle this flavor.
64864         * tests/test-set-mode-acl.sh: Likewise.
64865         * tests/test-copy-acl.sh: Likewise.
64866         * tests/test-copy-file.sh: Likewise.
64868 2010-10-03  Bruno Haible  <bruno@clisp.org>
64870         Info about ACLs on NonStop Kernel.
64871         * doc/acl-resources.txt: Add info about NonStop Kernel.
64872         References by Joachim Schmitz <schmitz@hp.com>.
64874 2010-10-02  Bruno Haible  <bruno@clisp.org>
64876         Define missing EDQUOT on NonStop Kernel.
64877         * lib/errno.in.h (EDQUOT): Assign a value if missing.
64878         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
64879         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
64880         missing.
64881         * doc/posix-headers/errno.texi: Mention the NSK bug.
64882         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
64883         Reported by Joachim Schmitz <schmitz@hp.com>.
64885 2010-10-02  Bruno Haible  <bruno@clisp.org>
64887         Update doc for POSIX:2008.
64888         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
64889         Update URL of POSIX specification.
64891 2010-10-02  Bruno Haible  <bruno@clisp.org>
64893         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
64894         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
64895         from gnulib, not from Automake.
64897 2010-10-02  Bruno Haible  <bruno@clisp.org>
64899         New module 'system-posix'.
64900         * modules/system-posix: New file.
64901         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
64902         module is present.
64903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64904         GNULIB_SYSTEM_POSIX.
64905         * modules/stdlib (Depends-on): Remove sys_wait.
64906         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
64907         * doc/posix-functions/system.texi: Mention the new module.
64908         * doc/posix-headers/stdlib.texi: Likewise.
64909         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
64910         define test_sys_wait_macros to a no-op.
64911         Reported by Sam Steingold <sds@gnu.org>.
64913 2010-09-30  Bruno Haible  <bruno@clisp.org>
64915         More renaming from 'getdate' to 'get_date'.
64916         * doc/get_date.texi: Renamed from doc/getdate.texi.
64917         * modules/get_date (Files): Update.
64918         * MODULES.html.sh (Date and time <time.h>): Update.
64919         * DEPENDENCIES: Update.
64920         * gnulib-tool: Update comment.
64921         * m4/bison.m4 (gl_BISON): Likewise.
64922         * m4/get_date.m4 (gl_GET_DATE): Likewise.
64924 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
64926         bootstrap: support ACLOCAL_FLAGS during aclocal
64927         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
64928         can add additional -I dir for third-party .m4 files.
64930 2010-09-30  Eric Blake  <eblake@redhat.com>
64932         bootstrap: use glibtoolize on MacOS
64933         * build-aux/bootstrap (check_versions): Convert libtool into
64934         libtoolize.
64935         (tool search): Move libtool check earlier, and look for
64936         glibtoolize for MacOS.
64937         (gnulib_tool_options): Auto-add --libtool when appropriate.
64938         Reported by Justin Clift.
64940         poll: fix typo that broke test on MacOS
64941         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
64942         Reported by Justin Clift.
64944         getdate: rename to get_date
64945         Note: getdate.h is not renamed, to minimize client impact.
64946         * modules/getdate: Mark obsolete.  Move old contents...
64947         * modules/get_date: ...to new module name.
64948         * modules/getdate-tests: Move...
64949         * modules/get_date-tests: ...here.
64950         * m4/getdate.m4: Move...
64951         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
64952         * lib/getdate.y: Move...
64953         * lib/get_date.y: ...here.
64954         * tests/test-getdate.c: Move...
64955         * tests/test-get_date.c: ...here.
64956         * doc/posix-functions/getdate.texi (getdate): Update name.
64957         * NEWS: Mention the change.
64959 2010-09-29  Bruno Haible  <bruno@clisp.org>
64961         Separate the module 'waitpid' from the module 'sys_wait'.
64962         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
64963         present.
64964         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
64965         gl_MODULE_INDICATOR_FOR_TESTS.
64966         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
64967         * modules/sys_wait (Depends-on): Remove waitpid.
64968         (Makefile.am): Substitute GNULIB_WAITPID.
64969         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
64970         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
64971         signature only if the 'waitpid' module is present.
64972         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
64973         * NEWS: Mention the change.
64974         * modules/grantpt (Depends-on): Add waitpid.
64975         * modules/wait-process (Depends-on): Likewise.
64977 2010-09-29  Bruno Haible  <bruno@clisp.org>
64979         More tests for module 'sys_wait'.
64980         * modules/sys_wait-c++-tests: New file.
64981         * tests/test-sys_wait-c++.cc: New file.
64982         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
64983         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64985 2010-09-29  Bruno Haible  <bruno@clisp.org>
64987         New module 'waitpid'.
64988         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
64989         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
64990         Don't include <process.h>.
64991         (waitpid): Declare only, using modern idiom.
64992         * m4/waitpid.m4: New file.
64993         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
64994         * modules/waitpid: New file.
64995         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
64996         (Makefile.am): Update.
64997         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64999 2010-09-28  Bruno Haible  <bruno@clisp.org>
65001         poll: Assume ANSI C.
65002         * lib/poll.c (poll): Use an ANSI C declaration.
65004 2010-09-28  Bruno Haible  <bruno@clisp.org>
65006         poll-h: Create poll.h on all platforms.
65007         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
65008         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
65009         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
65010         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
65011         (gl_REPLACE_POLL_H): Don't set POLL_H.
65012         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
65013         * modules/poll-h (Depends-on): Add include_next.
65014         (Makefile.am): Create poll.h unconditionally. Substitute also
65015         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
65017 2010-09-28  Bruno Haible  <bruno@clisp.org>
65019         Tests for module 'poll-h'.
65020         * modules/poll-h-c++-tests: New file.
65021         * tests/test-poll-h-c++.cc: New file.
65023         Tests for module 'poll-h'.
65024         * modules/poll-h-tests: New file.
65025         * tests/test-poll-h.c: New file.
65027 2010-09-28  Bruno Haible  <bruno@clisp.org>
65029         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
65030         * modules/poll-h (Depends-on): Add 'extensions'.
65032 2010-09-28  Bruno Haible  <bruno@clisp.org>
65034         New module 'poll-h'.
65035         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
65036         (poll): Use modern idiom.
65037         * modules/poll-h: New file.
65038         * modules/poll (Files): Remove lib/poll.in.h.
65039         (Depends-on): Add poll-h.
65040         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
65041         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
65042         * m4/poll_h.m4: New file.
65043         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
65044         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
65045         and invoke gl_REPLACE_POLL_H.
65046         * lib/poll.c: Use common idiom.
65047         * tests/test-poll.c: Likewise.
65048         * doc/posix-headers/poll.texi: Mention the poll-h module.
65049         Suggested by Eric Blake.
65051 2010-09-26  Bruno Haible  <bruno@clisp.org>
65053         sys_wait: Implement WSTOPSIG.
65054         * lib/sys_wait.in.h (WSTOPSIG): New macro.
65055         Reported by Simon Josefsson.
65057 2010-09-26  Simon Josefsson  <simon@josefsson.org>
65059         stdlib, sys_wait: Avoid compilation error on mingw.
65060         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
65062 2010-09-26  Bruno Haible  <bruno@clisp.org>
65064         stdlib tests: Avoid code duplication.
65065         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
65066         * modules/sys_wait-tests (Files): Likewise.
65067         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
65068         * tests/test-stdlib.c: Include test-sys_wait.h.
65069         (main): Invoke test_sys_wait_macros.
65070         * tests/test-sys_wait.c: Include test-sys_wait.h.
65071         (main): Invoke test_sys_wait_macros.
65073 2010-09-25  Simon Josefsson  <simon@josefsson.org>
65075         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
65076         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
65077         sure Windows sockets are working before calling getaddrinfo.
65078         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
65079         * doc/gnulib.texi (Windows sockets): Fix typo.
65081 2010-09-25  Bruno Haible  <bruno@clisp.org>
65083         Tests for module 'regex-quote'.
65084         * modules/regex-quote-tests: New file.
65085         * tests/test-regex-quote.c: New file.
65087         New module 'regex-quote'.
65088         * lib/regex-quote.h: New file.
65089         * lib/regex-quote.c: New file.
65090         * modules/regex-quote: New file.
65091         Suggested by Reuben Thomas <rrt@sc3d.org>.
65093 2010-09-24  Bruno Haible  <bruno@clisp.org>
65095         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
65096         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
65098 2010-09-23  Bruno Haible  <bruno@clisp.org>
65100         setenv: Relax license.
65101         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
65102         Blake.
65103         Requested by Eric Blake.
65105 2010-09-22  Bruno Haible  <bruno@clisp.org>
65107         termios: Relax license.
65108         * modules/termios (License): Change to LGPLv2+.
65109         Requested by Eric Blake.
65111 2010-09-22  Bruno Haible  <bruno@clisp.org>
65113         threadlib: Allow the package to change the default to 'no'.
65114         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
65115         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
65116         Reported by Paul Eggert.
65118 2010-09-22  Pádraig Brady  <P@draigbrady.com>
65119             Bruno Haible  <bruno@clisp.org>
65121         Fix endless loop in mbmemcasecoll.
65122         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
65123         byte.
65124         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
65126 2010-09-22  Bruno Haible  <bruno@clisp.org>
65128         Tests for module 'memcoll'.
65129         * modules/memcoll-tests: New file.
65130         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
65132         memcoll, xmemcoll: Clarify size vs. length.
65133         * modules/memcoll.c (memcoll0): Clarify specification.
65134         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
65135         passed to collate_error.
65137 2010-09-22  Bruno Haible  <bruno@clisp.org>
65139         Tests for module 'memcasecmp'.
65140         * modules/memcasecmp-tests: New file.
65141         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
65143 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
65145         * lib/pthread.in.h: Add split double-inclusion guard, and include
65146         system <pthread.h> if there is one.  Use @@-style as in other
65147         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
65148         pthread.h doesn't.
65149         (pthread_mutexattr_destroy, pthread_mutexattr_init):
65150         (pthread_mutexattr_settype, pthread_mutex_trylock):
65151         New static inline functions, if there's no system <pthread.h>.
65152         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
65153         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
65154         Approximate with mutexes if the system lacks spinlocks, as in
65155         MacOS.
65156         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
65157         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
65158         @@-style.  Check for spinlocks separately.
65159         (gl_PTHREAD_DEFAULTS): New macro.
65160         * modules/pthread: Redo to use a more typical style for in.h files.
65162 2010-09-21  Eric Blake  <eblake@redhat.com>
65164         net_if: enhance tests
65165         * tests/test-net_if.c (main): Move signature checks earlier.
65166         Print failures to stderr.
65167         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
65168         Document the bug that we do not yet fix.
65170 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65172         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
65173         about gnulib, not GSS.
65175 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
65177         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
65178         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
65179         for Emacs.
65180         * build-aux/pmccabe2html: Make Makefile.am example code more
65181         cut-and-paste friendly.
65183 2010-09-21  Simon Josefsson  <simon@josefsson.org>
65185         * tests/test-net_if.c: New file.
65186         * modules/net_if-tests: New file.
65188 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65190         pthread: add pthread_spin_destroy
65191         * lib/pthread.in.h (pthread_spin_destroy): New function.
65193 2010-09-19  Bruno Haible  <bruno@clisp.org>
65195         gnulib-tool: Fix --help output.
65196         * gnulib-tool (func_usage): Fix help message.
65197         Reported by Reuben Thomas <rrt@sc3d.org>.
65199 2010-09-18  Jim Meyering  <meyering@redhat.com>
65201         maint.mk: avoid unexpanded \n in two diagnostics
65202         * top/maint.mk (sc_prohibit_always_true_header_tests):
65203         Don't use a literal \n in a halt=... assignment.  It would not be
65204         expanded, and the two \n bytes would appear in the diagnostic output
65205         rather than the desired newline.  Use halt=$$(printf ... instead.
65206         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
65208 2010-09-18  Bruno Haible  <bruno@clisp.org>
65210         netinet_in: Doc tweak.
65211         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
65212         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65214 2010-09-18  Jim Meyering  <meyering@redhat.com>
65216         init.sh: correct an outdated comment
65217         * tests/init.sh (create_exe_shims_):  s/function/alias/
65219         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
65220         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
65221         a file named "*.exe" is removed between the glob expansion and the
65222         processing of that oddly named file.
65224 2010-09-17  Eric Blake  <eblake@redhat.com>
65226         mirbsd: add some more support
65227         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
65228         in BSD family.
65229         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
65230         devices as OpenBSD.
65231         * m4/host-os.m4 (mirbsd): Add MirBSD.
65233         tests: fix unportable assumption on sys/wait.h
65234         * tests/test-sys_wait.c (main): Relax test.
65235         * tests/test-stdlib.c (main): Likewise.
65237         init.sh: accommodate directory with no .exes
65238         * tests/init.sh: Accomodate directory containing only scripts.
65240         tests: avoid compiler warning
65241         * tests/test-stdlib.c (main): Use the variable.
65243         fdutimens, fdutimensat: update signature, again
65244         * lib/utimens.h (gl_futimens): Delete, and move signature...
65245         (fdutimens): ...here.
65246         (fdutimensat): Rearrange signature.
65247         (lutimensat): Rename variable for clarity.
65248         * lib/fdutimensat.c (fdutimensat): Update signature.
65249         * lib/utimens.c (fdutimens): Likewise.
65250         (gl_futimens): Delete.
65251         (utimens, lutimens): Update callers.
65252         * lib/futimens.c (futimens): Likewise.
65253         * tests/test-fdutimensat.c: Likewise.
65254         * tests/test-utimens.c: Likewise.
65255         * tests/test-futimens.h: Update comment.
65256         * NEWS: Mention this.
65257         Suggested by Paul Eggert.
65259 2010-09-17  Bruno Haible  <bruno@clisp.org>
65261         Take over the maintenance of some older macros from Autoconf.
65262         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
65263         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
65264         GNU Autoconf.
65265         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
65266         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
65268 2010-09-17  Eric Blake  <eblake@redhat.com>
65270         fdutimensat: drop atflag validation
65271         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
65272         with valid fd, to close a race scenario where futimens is
65273         unsupported and FILE was replaced by a symlink.
65274         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
65275         accordingly.
65276         Suggested by Paul Eggert.
65278 2010-09-16  Bruno Haible  <bruno@clisp.org>
65280         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
65281         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
65283 2010-09-16  Bruno Haible  <bruno@clisp.org>
65285         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
65286         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
65287         login_tty exists.
65288         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65290 2010-09-16  Bruno Haible  <bruno@clisp.org>
65292         login_tty: Make the replacement code work on BSD systems.
65293         * lib/login_tty.c: Include <sys/ioctl.h>.
65294         (login_tty): Use ioctl TIOCSCTTY when available.
65295         * modules/login_tty (Depends-on): Add sys_ioctl.
65296         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65298 2010-09-16  Bruno Haible  <bruno@clisp.org>
65300         login_tty: Stricter unit test.
65301         * modules/login_tty-tests (Depends-on): Add tcgetsid.
65302         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
65303         and tcgetsid() after login_tty.
65304         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65306 2010-09-16  Bruno Haible  <bruno@clisp.org>
65308         New module 'tcgetsid'.
65309         * lib/tcgetsid.c: New file.
65310         * m4/tcgetsid.m4: New file.
65311         * modules/tcgetsid: New file.
65312         * modules/termios (Depends-on): Add c++defs, warn-on-use.
65313         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
65314         GNULIB_TCGETSID, HAVE_TCGETSID.
65315         * lib/termios.in.h: Include <sys/types.h>.
65316         (tcgetsid): New declaration.
65317         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
65318         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
65319         * doc/posix-functions/tcgetsid.texi: Mention the new module.
65320         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
65322 2010-09-16  Bruno Haible  <bruno@clisp.org>
65324         Tests for module 'termios'.
65325         * modules/termios-c++-tests: New file.
65326         * modules/termios-tests: New file.
65327         * tests/test-termios-c++.cc: New file.
65328         * tests/test-termios.c: New file.
65330         New module 'termios'.
65331         * modules/termios: New file.
65332         * lib/termios.in.h: New file.
65333         * m4/termios_h.m4: New file.
65334         * doc/posix-headers/termios.texi: Mention the new module.
65336 2010-09-16  Eric Blake  <eblake@redhat.com>
65338         fdutimensat: add an atflag parameter
65339         * lib/fdutimensat.c (fdutimensat): Add new parameter.
65340         * lib/utimens.h (fdutimensat): Update prototype.
65341         * tests/test-fdutimensat.c: Adjust test to match.
65342         * NEWS: Document the change.
65343         Suggested by Paul Eggert.
65345 2010-09-16  Bruno Haible  <bruno@clisp.org>
65347         Fix typos in comments.
65348         * lib/striconveh.h: Fix typo in comment.
65349         * lib/login_tty.c (login_tty): Likewise.
65351 2010-09-15  Bruno Haible  <bruno@clisp.org>
65353         stdlib: clarify MirBSD WEXITSTATUS bug
65354         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
65355         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65357 2010-09-15  Eric Blake  <eblake@redhat.com>
65359         stdlib: work around MirBSD WEXITSTATUS bug
65360         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
65361         * modules/stdlib (Depends-on): Add sys_wait.
65362         * tests/test-sys_wait.c (main): Enhance test.
65363         * tests/test-stdlib.c (main): Likewise.
65364         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
65366         docs: mention MacOS issue with WEXITSTATUS(constant)
65367         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
65368         issue.
65369         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65371         strnlen: add tests
65372         * modules/strnlen-tests: New file.
65373         * tests/test-strnlen.c: Likewise.
65375 2010-09-14  Bruno Haible  <bruno@clisp.org>
65377         unistr/base: Avoid link errors when module 'libunistring' is also used.
65378         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
65379         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
65380         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
65381         Declare also when HAVE_LIBUNISTRING is set.
65382         Reported by Pádraig Brady <P@draigbrady.com>.
65384 2010-09-14  Eric Blake  <eblake@redhat.com>
65386         test-rawmemchr: make more robust
65387         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
65388         (Depends-on, configure.ac): Add needed prerequisites to use it.
65389         * modules/memchr-tests (Files, Depends-on, configure.ac):
65390         Likewise, to avoid implicit reliance on memchr module prereqs.
65391         * tests/test-memchr.c (main): Ensure proper masking.
65392         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
65393         reads.
65395         memchr: detect glibc Alpha bug
65396         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
65397         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
65398         Alpha.
65399         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
65400         * tests/test-memchr.c (main): Enhance test.
65401         Reported by Nelson H. F. Beebe.
65403 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65405         fts, getcwd, glob: audit for dirfd returning -1
65406         * lib/fts.c (opendir): Remove #define; no longer used.
65407         (opendirat): New arg PDIR_FD.  All callers changed.
65408         (fts_build, _opendir2): Use new opendirat to avoid the need for
65409         dirfd, or for checking whether dirfd returns a negative value.
65410         Don't use opendir; always use openat followed by fdopendir.
65411         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
65412         it.
65413         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
65414         returns -1 here.
65415         * modules/fts (Depends-on): Remove dirfd.
65416         * modules/getcwd (Depends-on): Likewise.
65418 2010-09-13  Eric Blake  <eblake@redhat.com>
65420         float: fix broken MirBSD header
65421         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
65422         * doc/posix-headers/float.texi (float.h): Document it.
65424 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65426         fts: use O_NOFOLLOW to avoid race condition when opening a directory
65427         * lib/fts.c (opendirat): New arg extra_flags.
65428         (__opendir2): Use it to avoid following symlinks when opening
65429         a directory, if symlinks are not supposed to be followed.  See
65430         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
65432         fdopendir: preserve argument fd before returning
65433         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
65434         (fdopendir_with_dup, fd_clone_opendir): New static functions.
65435         (fdopendir): Use them, arranging for FD to be open to the same
65436         directory that it was when it started.  (It might be temporarily
65437         closed while fdopendir is running, so this not thread- or
65438         signal-safe.)  Be careful to do the right thing even when file
65439         descriptors are scarce and dup fails with errno == EMFILE.  See
65440         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
65442 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
65444         regex: Pass the system regex if its only problem is 32-bit regoff_t.
65445         * NEWS: Document change.
65446         * m4/regex.m4: Disable test for regoff_t size.
65448 2010-09-13  Jim Meyering  <meyering@redhat.com>
65450         fts: don't operate on an invalid file descriptor after failed dup
65451         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
65452         negative file descriptor.
65454 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65456         savedir: add streamsavedir, deprecate fdsavedir
65457         * NEWS: Mention deprecation of fdsavedir.
65458         * lib/savedir.c (streamsavedir): New extern function, whose name
65459         ends in "savedir" to be consistent with the others.  This differs
65460         from savedirstream in that it doesn't close its argument.  The
65461         next version of GNU tar will use this instead of fdsavedir, to
65462         avoid some race conditions and conserve file descriptors.
65463         (savedirstream): Reimplement as a wrapper around streamsavedir.
65464         (fdsavedir): Add a comment deprecating this function.  As far as
65465         I know, only GNU tar used it, and GNU tar doesn't need it any more.
65466         * lib/savedir.h (streamsavedir): New decl.
65467         (fdsavedir): Add a comment deprecating this.
65469 2010-09-10  Bruno Haible  <bruno@clisp.org>
65471         langinfo: Fix last commit.
65472         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
65473         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
65474         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65476 2010-09-10  Bruno Haible  <bruno@clisp.org>
65478         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
65479         * lib/progreloc.c (O_EXEC): Define fallback.
65481 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
65483         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
65484         * NEWS: Document recent changes to fcntl-h.
65485         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
65486         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
65487         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
65488         Similarly for O_SEARCH; this last was already true, but not documented.
65489         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
65490         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
65491         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
65492         Likewise.
65493         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
65494         is zero, not whether it is defined.
65495         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
65496         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
65497         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
65499 2010-09-10  Bruno Haible  <bruno@clisp.org>
65501         langinfo, nl_langinfo: Fix for IRIX 5.3.
65502         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
65503         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
65504         HAVE_LANGINFO_YESEXPR.
65505         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
65506         HAVE_LANGINFO_YESEXPR.
65507         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
65508         HAVE_LANGINFO_T_FMT_AMPM is 0.
65509         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
65510         HAVE_LANGINFO_YESEXPR is 0.
65511         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
65512         NOEXPR.
65513         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
65514         * doc/posix-functions/nl_langinfo.texi: Likewise.
65515         Reported by Eric Blake.
65517 2010-09-10  Bruno Haible  <bruno@clisp.org>
65519         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
65520         * doc/glibc-functions/login_tty.texi: Mention the include file problem
65521         on FreeBSD 8.0 and OpenBSD 4.6.
65522         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
65523         * m4/pty_h.m4 (gl_PTY_H): Likewise.
65524         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
65525         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
65526         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
65527         ac_includes_default.
65528         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
65530 2010-09-09  Eric Blake  <eblake@redhat.com>
65532         strsignal: work around NetBSD bug
65533         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
65534         * lib/string.in.h (includes): Likewise.
65535         * doc/posix-functions/strsignal.texi (strsignal): Document the
65536         bug.
65537         Reported by Nelson H. F. Beebe.
65539         gnulib-tool: work with NetBSD /bin/sh
65540         * gnulib-tool (func_cache_var, func_cache_lookup_module)
65541         (func_get_description, func_get_comment, func_get_status)
65542         (func_get_notice, func_get_applicability, func_get_filelist)
65543         (func_get_dependencies, func_get_autoconf_early_snippet)
65544         (func_get_autoconf_snippet, func_get_automake_snippet)
65545         (func_get_include_directive, func_get_link_directive)
65546         (func_get_license, func_get_maintainer, func_import): Avoid
65547         shell syntax errors from parsing syntax extensions.
65549 2010-09-09  Bruno Haible  <bruno@clisp.org>
65551         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65552         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
65553         a reliable way to determine whether the 'alias' command works.
65555 2010-09-08  Jim Meyering  <meyering@redhat.com>
65557         init.sh: penalize a set-x-impaired shell; don't disqualify it
65558         * tests/init.sh: Too many shells corrupt application stderr when
65559         you set -x, so we can't afford to disqualify them, since at least
65560         on Irix-6.5, that would disqualify all bourne shells.
65561         Instead, use a two-pass approach.
65562         On the first pass, try to find a shell that meets the stricter
65563         condition that set -x does not corrupt stderr.
65564         If no shell meets the stricter condition, retest each candidate
65565         shell, but without that extra condition.  Finally, when
65566         VERBOSE=yes is requested and set -x might cause trouble, simply
65567         issue a warning and refrain from enabling debug output.
65569 2010-09-08  Eric Blake  <eblake@redhat.com>
65571         unsetenv: fix OpenBSD bug
65572         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
65573         * doc/posix-functions/unsetenv.texi (unsetenv): Update
65574         documentation.
65575         Reported by Jim Meyering.
65577         strtod: work around IRIX 6.5 bug
65578         * lib/strtod.c (strtod): Reparse number on shorter string if
65579         exponent parse was invalid.
65580         * tests/test-strtod.c (main): Add check for "0x1p 2".
65581         Reported by Tom G. Christensen.
65583         getopt: optimize previous patch
65584         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
65585         empty variable.  Speed up awk script.
65586         Reported by Paolo Bonzini.
65588 2010-09-08  Jim Meyering  <meyering@redhat.com>
65590         test.sh: disqualify shells for which set -x corrupts stderr
65591         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
65592         and OpenBSD 4.7.  They make it so with "set -x", environment settings
65593         appear in stderr output.  For example, this command:
65594             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
65595         prints "P=1" on those two systems:
65597 2010-09-08  Bruno Haible  <bruno@clisp.org>
65599         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65600         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
65601         commands, because some shells ignore redirections when there is an
65602         error in the command lookup.
65603         Reported by Eric Blake.
65605 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
65607         * lib/regex.h: Fix a mention of `regex_compile' (should be
65608         `re_compile_pattern').
65609         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
65610         (re_set_registers): Correct name of parameter in comment.
65612         * doc/regex.texi: Add documentation for missing syntax flags.
65613         Remove commented-out documentation of defunct syntax option
65614         RE_NO_EMPTY_ALTS.
65615         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
65616         Add documentation of re_set_registers.
65617         Document trick to re-use a pattern buffer by setting fastmap manually.
65618         Update documentation of struct re_pattern_buffer per public members.
65619         Uncomment documentation of equivalence class operators and
65620         collating symbol operators, since they are now implemented,
65621         Explain leftmost-longest matching in relation to alternatives.
65622         Tidy documentation of substring matching.
65623         Remove POSIX documentation, which is done better in
65624         glibc, and refer the reader there. Keep BSD API documentation, as
65625         that is not readily available elsewhere.
65627 2010-09-07  Eric Blake  <eblake@redhat.com>
65629         getopt: handle POSIXLY_CORRECT set but not exported
65630         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
65631         export state of POSIXLY_CORRECT, due to bash set -o posix.
65632         Reported by Dustin J. Mitchell.
65634 2010-09-05  Bruno Haible  <bruno@clisp.org>
65636         gnulib-tool: Highlight the changed options.
65637         * gnulib-tool (func_usage): Display the --import, --add-import,
65638         --remove-import explanations in bold font.
65640 2010-09-06  Karl Berry  <karl@gnu.org>
65642         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
65644 2010-09-05  Bruno Haible  <bruno@clisp.org>
65646         uniwidth/width: Update comment.
65647         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
65648         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
65650 2010-09-05  Bruno Haible  <bruno@clisp.org>
65652         isinf, isnan: Relax license.
65653         * modules/isinf (License): Change from GPL to LGPL, with consent from
65654         Ben Pfaff.
65655         * modules/isnan (License): Likewise.
65656         Requested by Ludovic Courtès.
65658 2010-09-04  Bruno Haible  <bruno@clisp.org>
65660         gnulib-tool: Help migration from --import to --add-import or --update.
65661         * gnulib-tool: Emit a verbose error message when --import is used
65662         without any module name.
65664 2010-09-04  Bruno Haible  <bruno@clisp.org>
65666         Update doc about gnulib-tool.
65667         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
65668         'gnulib-tool --update' in more detail.
65669         Reported by Eric Blake.
65671 2010-09-04  Bruno Haible  <bruno@clisp.org>
65673         gnulib-tool: Change --import. New options --add/remove-import.
65674         * gnulib-tool: New options --add-import, --remove-import.
65675         (func_usage): Document them.
65676         (have_associative): Define always.
65677         (func_import): In import mode, don't merge the specified settings with
65678         the cached settings. Implement remove-import mode.
65679         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
65680         Explain when to use them versus --import.
65681         (Simple update): Use --add-import instead of --import.
65682         * NEWS: Mention the change.
65684 2010-09-04  Bruno Haible  <bruno@clisp.org>
65686         * doc/gnulib-tool.texi (Initial import): Update paragraph about
65687         separate gnulib.mk.
65689 2010-09-04  Bruno Haible  <bruno@clisp.org>
65691         gnulib-tool: Don't talk about CVS any more.
65692         * gnulib-tool (func_usage, func_import): Write "version control"
65693         instead of CVS.
65695 2010-09-04  Jim Meyering  <meyering@redhat.com>
65697         maint.mk: avoid obscure sc_copyright_check failure in coreutils
65698         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
65699         false positives (whose names may be ill-chosen) when searching
65700         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
65701         would cause a false-positive.
65703         avoid coreutils "make distcheck" failure
65704         Coreutils tests with an absolute build directory name that contains
65705         a space.  Not quoting this directory name caused a failure.
65706         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
65707         * tests/test-vc-list-files-cvs.sh: Likewise.
65709 2010-09-04  Bruno Haible  <bruno@clisp.org>
65711         gnulib-tool: Avoid error when run in a package without Makefile.am.
65712         * gnulib-tool: When collecting the m4dirs in a package that does not
65713         have a Makefile.am, eliminate those directories that contain no
65714         gnulib-cache.m4. Fix expression that counts these directories.
65716 2010-09-04  Bruno Haible  <bruno@clisp.org>
65718         update-copyright test: Improve output when perl is missing or too old.
65719         * tests/test-update-copyright.sh: Move test of Perl version down after
65720         the test whether Perl exists. Provide an explanation relating Perl's
65721         error message to Automake's SKIP: message.
65723 2010-09-04  Bruno Haible  <bruno@clisp.org>
65725         Don't augment PATH in TESTS_ENVIRONMENT.
65726         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
65727         set abs_aux_dir instead of augmenting PATH.
65728         * modules/vc-list-files-tests (Makefile.am): Likewise.
65729         * tests/test-update-copyright.sh: Augment PATH here.
65730         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
65731         path_prepend_.
65732         * tests/test-vc-list-files-git.sh: Likewise.
65734 2010-09-04  Jim Meyering  <meyering@redhat.com>
65736         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
65737         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
65739 2010-09-04  Bruno Haible  <bruno@clisp.org>
65741         strdup: Fix compilation error in C++ mode.
65742         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
65743         the macro.
65745 2010-09-04  Bruno Haible  <bruno@clisp.org>
65747         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
65748         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
65749         macro into a function.
65750         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
65752 2010-09-04  Bruno Haible  <bruno@clisp.org>
65754         Set PATH_SEPARATOR the same way autoconf does.
65755         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
65756         the value of PATH_SEPARATOR the same way autoconf-generated configure
65757         scripts do.
65758         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
65759         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65761 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
65763         Set PATH_SEPARATOR the same way autoconf does.
65764         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
65765         the same way autoconf-generated configure scripts do.
65766         * posix-modules: Likewise.
65768 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65770         hash: fix safe_hasher const typo
65771         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
65772         const; otherwise, there is a type error later.
65774 2010-09-02  Jim Meyering  <meyering@redhat.com>
65776         test-update-copyright.sh: require perl 5.8.0
65777         * tests/test-update-copyright.sh: Require 5.8.0,
65778         which Tom G. Christensen has confirmed is adequate,
65779         while 5.6.1 is not.
65781 2010-09-02  Eric Blake  <eblake@redhat.com>
65783         tests: init.sh improvements for re-exec'ing with zsh
65784         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
65785         -vx through shell re-exec.
65786         Reported by Tom G. Christensen.
65788         wctype: fix typo in previous commit
65789         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
65790         Reported by Ludovic Courtès.
65792 2010-09-02  Jim Meyering  <meyering@redhat.com>
65794         test-update-copyright.sh: skip test if Perl is too old
65795         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
65796         Reported by Tom G. Christensen.
65798 2010-09-02  Bruno Haible  <bruno@clisp.org>
65800         wctype: Avoid compilation error on IRIX 6.5.30.
65801         * lib/wctype.in.h (iswblank): Declare with a replacement if
65802         REPLACE_ISWBLANK is set.
65803         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
65804         declared. Set REPLACE_ISWBLANK.
65805         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
65806         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
65807         * doc/posix-headers/wctype.texi: Likewise.
65808         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65810 2010-09-01  Bruno Haible  <bruno@clisp.org>
65812         New module 'socketlib'.
65813         * modules/socketlib: New file.
65814         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
65815         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
65816         * modules/sockets (Depends-on): Add socketlib.
65817         Suggested by Sam Steingold <sds@gnu.org>.
65819 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65821         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
65823         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
65824         when one needs search access to a directory but not read access.
65825         On systems where it is available, it works in some cases where
65826         O_RDONLY does not, namely on directories that are searchable but
65827         not readable, and which need only to be searchable.  If O_SEARCH
65828         is not available, fall back to the traditional method of using
65829         O_RDONLY.
65831         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
65832         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
65833         when opening a directory that needs only to be searchable.
65834         * lib/chdir-safer.c (chdir_no_follow): Likewise.
65835         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
65836         * lib/openat-proc.c (openat_proc_name): Likewise.
65837         * lib/openat.c (openat_needs_fchdir): Likewise.
65838         * lib/save-cwd.c (save_cwd): Likewise.
65839         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
65841 2010-08-28  Bruno Haible  <bruno@clisp.org>
65843         New module 'host-cpu-c-abi'.
65844         * modules/host-cpu-c-abi: New file.
65845         * m4/host-cpu-c-abi.m4: New file, based on part of
65846         clisp/src/m4/general.m4.
65847         Requested by Sam Steingold <sds@gnu.org>.
65849 2010-08-31  Eric Blake  <eblake@redhat.com>
65850         and Jim Meyering  <meyering@redhat.com>
65852         hash: factor, and guard against misbehaving hasher function
65853         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
65854         of table->hasher's return value.  Also protect against a hash value
65855         so large that adding it to table->bucket results in a NULL pointer.
65856         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
65857         Use it in place of open-coded check-and-abort.
65859 2010-08-30  Bruno Haible  <bruno@clisp.org>
65861         hash: silence spurious clang warning
65862         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
65863         Reported by Eric Blake.
65865 2010-08-30  Eric Blake  <eblake@redhat.com>
65867         strstr, memmem, strcasestr: avoid leaked shell message
65868         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
65869         FreeBSD.
65870         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
65871         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
65873         tests: silence clang warning
65874         * tests/test-malloca.c (do_allocation): Avoid dead store.
65876 2010-08-29  Bruno Haible  <bruno@clisp.org>
65878         gettext: Fix recent mistake.
65879         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
65881 2010-08-29  Bruno Haible  <bruno@clisp.org>
65883         selinux-h: Offer a --without-selinux option.
65884         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
65885         --without-selinux was specified, skip all tests and define
65886         HAVE_SELINUX_SELINUX_H to 0.
65887         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
65888         set LIB_SELINUX to empty.
65889         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
65890         gl_LIBSELINUX. If --without-selinux was specified, replace
65891         selinux/context.h.
65892         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
65894 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65895             Bruno Haible  <bruno@clisp.org>
65897         Make the module 'realloc-gnu' work again on AIX and OSF/1.
65898         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
65899         of HAVE_REALLOC.
65900         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
65901         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
65902         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
65903         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65905 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65906             Bruno Haible  <bruno@clisp.org>
65908         Make the module 'calloc-gnu' work again on AIX and OSF/1.
65909         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
65910         HAVE_CALLOC.
65911         * lib/xmalloc.c: Update accordingly.
65912         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
65913         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
65914         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
65916 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65917             Bruno Haible  <bruno@clisp.org>
65919         Make the module 'malloc-gnu' work again on AIX and OSF/1.
65920         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
65921         HAVE_MALLOC.
65922         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
65923         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
65924         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65926 2010-08-29  Bruno Haible  <bruno@clisp.org>
65928         Update modules list.
65929         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
65930         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
65931         (String handling <string.h>): Add astrxfrm.
65932         (File system functions): Add readlinkat.
65934 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65936         Tests for module 'realloc-gnu'.
65937         * modules/realloc-gnu-tests: New file.
65938         * tests/test-realloc-gnu.c: New file.
65940         Tests for module 'calloc-gnu'.
65941         * modules/calloc-gnu-tests: New file.
65942         * tests/test-calloc-gnu.c: New file.
65944         Tests for module 'malloc-gnu'.
65945         * modules/malloc-gnu-tests: New file.
65946         * tests/test-malloc-gnu.c: New file.
65948 2010-08-28  Bruno Haible  <bruno@clisp.org>
65950         Rename module 'realloc' -> 'realloc-gnu'.
65951         * modules/realloc-gnu: New file, copied from modules/realloc.
65952         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
65953         obsolete.
65954         * modules/mgetgroups (Depends-on): Update.
65955         * doc/posix-functions/realloc.texi: Update.
65956         * NEWS: Mention the change.
65958         Rename module 'calloc' -> 'calloc-gnu'.
65959         * modules/calloc-gnu: New file, copied from modules/calloc.
65960         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
65961         obsolete.
65962         * doc/posix-functions/calloc.texi: Update.
65963         * NEWS: Mention the change.
65965         Rename module 'malloc' -> 'malloc-gnu'.
65966         * modules/malloc-gnu: New file, copied from modules/malloc.
65967         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
65968         obsolete.
65969         * modules/argp (Depends-on): Update.
65970         * modules/regex (Depends-on): Update.
65971         * doc/posix-functions/malloc.texi: Update.
65972         * NEWS: Mention the change.
65974 2010-08-28  Eric Blake  <eblake@redhat.com>
65976         pread, pwrite: add missing dependency
65977         * modules/pread (Depends-on): Add extensions.
65978         * modules/pwrite (Depends-on): Likewise.
65980 2010-08-28  Bruno Haible  <bruno@clisp.org>
65982         unistr/u*-strchr: Fix tests dependencies.
65983         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
65984         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
65985         Reported by Ian Beckwith <ianb@erislabs.net>.
65987 2010-08-28  Bruno Haible  <bruno@clisp.org>
65989         read-file: Don't occupy too much unused memory.
65990         * lib/read-file.c (fread_file): Shrink the buffer at the end.
65992 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
65993             Eric Blake  <eblake@redhat.com>
65994             Bruno Haible  <bruno@clisp.org>
65996         read-file: Avoid memory reallocations with regular files.
65997         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
65998         (fread_file): With regular files, use the remaining length as the
65999         initial buffer size.  Check against overflow.
66000         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
66001         sys_stat.
66003 2010-08-28  Bruno Haible  <bruno@clisp.org>
66005         ftello: Relax license.
66006         * modules/ftello (License): Relax to LGPLv2+.
66007         Reported by Eric Blake.
66009 2010-08-28  Bruno Haible  <bruno@clisp.org>
66011         Avoid relocwrapper link errors due to gnulib replacement functions.
66012         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
66013         function.
66014         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66016 2010-08-28  Bruno Haible  <bruno@clisp.org>
66018         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
66019         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
66020         defined.
66021         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
66022         Suggested by Eric Blake.
66024 2010-08-28  Bruno Haible  <bruno@clisp.org>
66026         sys_socket, netdb: Ensure socklen_t gets defined.
66027         * modules/sys_socket (Depends-on): Add socklen.
66028         * modules/netdb (Depends-on): Likewise.
66029         * modules/getaddrinfo (Depends-on): Remove socklen.
66030         * modules/getsockopt (Depends-on): Likewise.
66031         * modules/setsockopt (Depends-on): Likewise.
66032         * tests/test-sys_socket.c: Check that socklen_t is defined.
66033         * tests/test-netdb.c: Likewise.
66034         * m4/socklen.m4: Update comments.
66035         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66037 2010-08-27  Eric Blake  <eblake@redhat.com>
66039         login_tty: add missing dependency
66040         * modules/login_tty (Depends-on): Add pty.
66042 2010-08-26  Eric Blake  <eblake@redhat.com>
66044         lib-symbol-versions: fix m4 quoting
66045         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
66046         format for AC_LINK_IFELSE.
66048         glob: fix compile test
66049         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
66051         btowc: fix missing file
66052         * modules/btowc (Files): Also ship locale-fr.m4.
66054         lseek: fix link test
66055         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
66056         AC_LINK_IFELSE.
66058         include_next: silence autoconf 2.68 warning
66059         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
66060         AC_COMPILE_IFELSE as special.
66061         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
66062         autoconf < 2.68.
66064         acl: fix compilation test
66065         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
66066         AC_COMPILE_IFELSE.
66068 2010-08-26  Bruno Haible  <bruno@clisp.org>
66070         Modernize AC_TRY_RUN invocations.
66071         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
66072         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
66073         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
66074         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
66075         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
66076         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66077         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
66078         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66079         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66080         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66081         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
66082         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66083         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
66084         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
66085         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
66086         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
66087         gl_MBRLEN_NUL_RETVAL): Likewise.
66088         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
66089         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
66090         Likewise.
66091         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
66092         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
66093         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
66094         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
66095         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
66096         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
66097         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
66098         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
66099         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
66100         Likewise.
66101         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66102         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
66103         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66104         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66105         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66106         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
66107         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
66108         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
66109         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
66110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66112 2010-08-26  Bruno Haible  <bruno@clisp.org>
66114         Modernize AC_TRY_LINK invocations.
66115         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
66116         AC_TRY_LINK.
66117         * m4/argp.m4 (gl_ARGP): Likewise.
66118         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
66119         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66120         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
66121         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
66122         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
66123         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
66124         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
66125         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
66126         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
66127         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
66128         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
66129         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
66130         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
66131         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
66132         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66133         * m4/hostent.m4 (gl_HOSTENT): Likewise.
66134         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
66135         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
66136         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66137         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
66138         Likewise.
66139         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
66140         Likewise.
66141         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
66142         Likewise.
66143         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66144         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
66145         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
66146         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
66147         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
66148         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66149         * m4/servent.m4 (gl_SERVENT): Likewise.
66150         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
66151         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
66152         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
66153         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
66154         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66155         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
66156         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
66157         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
66158         * modules/tsearch-tests (configure.ac): Likewise.
66160 2010-08-26  Bruno Haible  <bruno@clisp.org>
66162         Modernize AC_TRY_COMPILE invocations.
66163         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
66164         AC_TRY_COMPILE.
66165         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
66166         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
66167         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66168         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66169         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66170         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66171         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66172         * m4/lock.m4 (gl_LOCK): Likewise.
66173         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
66174         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66175         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
66176         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
66177         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66178         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
66179         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
66180         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
66181         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66182         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66183         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66184         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66185         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
66186         extraneous semicolon.
66188 2010-08-26  Jim Meyering  <meyering@redhat.com>
66190         stat-time: relax license LGPL
66191         * modules/stat-time (License): Change from GPL to LGPL,
66192         with consent from all contributors, for use in libguile.
66193         Requested by Ludovic Courtès.
66195 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
66197         poll: return immediately on POLLHUP.
66198         * lib/poll.c (poll): Always set timeout before wait_timeout is
66199         computed.
66201 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66203         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
66204         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
66205         rmdir ("dir/.//"), unlinkat.
66207 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66209         stdbool: avoid spurious failure with modern xlc
66210         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66212 2010-08-24  Bruno Haible  <bruno@clisp.org>
66214         getloadavg: simplify code
66215         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
66216         gl_have_func. Update comments.
66218 2010-08-24  Eric Blake  <eblake@redhat.com>
66220         getloadavg: don't define SVR4 on cygwin
66221         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
66222         only define SVR4 when -lkvm is required.
66223         Reported by Yaakov Selkowitz.
66225 2010-08-24  Bruno Haible  <bruno@clisp.org>
66227         priv-set: fix comment
66228         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
66230 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66232         priv-set: fix comments
66233         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
66234         to match code, as suggested by David Bartley in:
66235         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
66237 2010-08-23  Eric Blake  <eblake@redhat.com>
66239         stdbool: avoid rejecting clang
66240         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
66241         * tests/test-stdbool.c: Enable more tests if using the system
66242         <stdbool.h> instead of the gnulib replacement.
66243         (main): Move xlc bug test to a runtime test for all compilers.
66244         Reported by Anders Kaseorg.
66246         argz: fix shell quoting issue
66247         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
66248         Reported by Charles Wilson.
66250 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
66251             Erik Faye-Lund <kusmabite@gmail.com>
66253         poll, select: handle ERROR_BROKEN_PIPE.
66254         * lib/poll.c (win32_compute_revents): Return POLLHUP when
66255         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66256         * lib/select.c (win32_compute_revents): Do not mark a pipe
66257         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
66259 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
66261         fts: allow compilation with C++
66262         * lib/fts_.h: Specify extern "C" linkage with C++.
66264 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66266         Fix gnulib-tool sed script de-commentation for AIX sed.
66267         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
66268         sed.
66270 2010-08-17  Eric Blake  <eblake@redhat.com>
66272         test-stddef: test for (some) offsetof bugs
66273         * tests/test-stddef.c: Enhance test to ensure correct type of
66274         offsetof.
66275         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
66276         that we are not fixing at this time.
66278 2010-08-15  Bruno Haible  <bruno@clisp.org>
66280         stpncpy: Allow stpncpy to be defined as a macro.
66281         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
66282         if it's already correctly declared.
66283         * lib/string.in.h (stpncpy): Undefine before redefining.
66284         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
66286 2010-08-14  Bruno Haible  <bruno@clisp.org>
66288         Rename module 'memxfrm' to 'amemxfrm'.
66289         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
66290         (amemxfrm): Renamed from memxfrm.
66291         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
66292         (amemxfrm): Renamed from memxfrm.
66293         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
66294         * NEWS: Mention the change.
66295         * MODULES.html.sh (String handling <string.h>): Update.
66296         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
66297         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
66298         * lib/unicase/u16-casexfrm.c: Likewise.
66299         * lib/unicase/u32-casexfrm.c: Likewise.
66300         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
66301         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
66302         * lib/uninorm/u16-normxfrm.c: Likewise.
66303         * lib/uninorm/u32-normxfrm.c: Likewise.
66304         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
66305         memxfrm.
66306         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
66307         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
66308         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
66309         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
66310         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
66311         Suggested by Paul Eggert.
66313 2010-08-14  Bruno Haible  <bruno@clisp.org>
66315         Tests for module 'astrxfrm'.
66316         * modules/astrxfrm-tests: New file.
66317         * tests/test-astrxfrm.c: New file.
66319         New module 'astrxfrm'.
66320         * lib/astrxfrm.h: New file.
66321         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
66322         * modules/astrxfrm: New file.
66324 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
66326         regex: Tweak doc.
66327         * doc/regex.texi (Overview): Don't mention regex.c.
66328         (GNU Regular Expression Compiling): Likewise.
66329         (Match-end-of-line Operator): Mention 'not_eol'.
66331 2010-08-14  Brian Gough  <bjg@gnu.org>
66332             Bruno Haible  <bruno@clisp.org>
66334         git-merge-changelog: add doc relating to use with bzr and hg.
66335         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
66337 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
66339         pthread: fix pthread.h creation for srcdir != builddir
66340         * modules/pthread (Makefile.am): Fix the rule to work also in a
66341         non-srcdir build.
66343 2010-08-13  Karl Berry  <karl@gnu.org>
66345         * doc/regex.texi (Predefined Syntaxes): @smallexample.
66346         * doc/posix-*/*: force line break before @url of POSIX
66347         specifications.
66348         Suggested by Werner Lemberg.
66350 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66352         strtod: fix const diagnostic
66353         * lib/strtod.c (strtod): Don't assign const char * to char *,
66354         as this elicits a warning from GCC when warnings are enabled.
66356 2010-08-10  Pádraig Brady  <P@draigbrady.com>
66357         and Eric Blake  <eblake@redhat.com>
66359         copy-acl: ignore ENOTSUP on HP-UX
66360         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
66361         so that it is available for HP-UX.
66362         * lib/copy-acl.c (qcopy_acl): Use it.
66363         Reported by Patrick M. Callahan.
66365 2010-08-10  Eric Blake  <eblake@redhat.com>
66367         open, chown: relax license
66368         * modules/open (License): Change to LGPLv2+, with consent by all
66369         authors, for use in augeas.
66370         * modules/chown (License): Likewise.
66371         * modules/lchown (Likewise): Likewise.
66372         Requested by Adam Stokes.
66374 2010-08-09  Karl Berry  <karl@gnu.org>
66376         * build-aux/ar-lib: new file, import from Automake.
66377         * config/srclist.txt: autocheck for updates.
66379 2010-08-09  Eric Blake  <eblake@redhat.com>
66381         readlinkat: adjust client modules
66382         * modules/areadlinkat (Depends-on): Use readlinkat, not
66383         symlinkat.
66384         * modules/areadlinkat-with-size (Depends-on): Likewise.
66386         mknod: be more vocal about danger of running tests as root
66387         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
66388         root, since that is just asking for problems.
66389         Suggested by Bruno Haible, based on a report by Rainer Tammer.
66391         readlinkat: split into its own module
66392         * modules/symlinkat: Split readlinkat...
66393         * modules/readlinkat: ...into separate module.
66394         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
66395         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
66396         * lib/symlinkat.c (readlinkat): Move...
66397         * lib/readlinkat.c: ...into new file.
66398         * modules/symlinkat-tests: Split readlinkat test...
66399         * modules/readlinkat-tests: ...into separate module.
66400         * tests/test-symlinkat.c: Split...
66401         * tests/test-readlinkat.c: ...into new file.
66402         * NEWS: Document the split.
66403         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
66404         * lib/unistd.in.h (readlinkat): Likewise.
66405         Suggested by Bruno Haible.
66407 2010-08-08  Bruno Haible  <bruno@clisp.org>
66409         memxfrm: Speed up.
66410         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
66411         that usually only one call to strxfrm is necessary for each string
66412         part.
66413         Reported by Paul Eggert <eggert@cs.ucla.edu>.
66415 2010-08-07  Karl Berry  <karl@gnu.org>
66417         * doc/posix-headers/limits.texi,
66418         * doc/posix-functions/malloc.texi,
66419         * doc/posix-functions/strsignal.texi: missing @item.
66420         * doc/ld-version-script.texi: spurious leading i.
66421         * doc/regex.texi (Interval Operators): no commas inside @var.
66423 2010-08-01  Bruno Haible  <bruno@clisp.org>
66425         Integrate the regex documentation.
66426         * doc/gnulib.texi: Define 'cn' index.
66427         (Regular expressions): New a chapter that includes regex.texi and
66428         regexprops-generic.texi.
66429         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
66430         syntax.
66432         Whitespace cleanup.
66433         * doc/regex.texi: Remove trailing spaces.
66435         Add regex documentation.
66436         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
66437         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
66438         Written by Kathy A. Hargreaves and Karl Berry.
66440 2010-08-01  Bruno Haible  <bruno@clisp.org>
66442         link: Update documentation.
66443         * doc/posix-functions/link.texi: Update regarding Solaris.
66445 2010-07-31  Bruno Haible  <bruno@clisp.org>
66447         Update modules list.
66448         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
66449         (String handling <string.h>): Add memcmp2, memxfrm.
66450         (Container data structures): Add xlist, xsublist, xoset.
66451         (Core language properties): Add alignof, unused-parameter.
66452         (Process control, Numeric conversion functions <stdlib.h>): Renamed
66453         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
66454         (Unibyte characters <ctype.h>): New section.
66455         (String handling <string.h>): New section.
66456         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
66457         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
66458         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
66459         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
66460         tan, tanh, tanl, y0, y1, yn.
66461         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
66462         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
66463         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
66464         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
66465         unlockpt, vdprintf, vdprintf-posix.
66466         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
66467         (File system functions): Add concat-filename, sys_file, sys_ioctl,
66468         xconcat-filename.
66469         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
66470         getdtablesize, pipe2, pipe2-safer.
66471         (Security): New section.
66472         (Networking functions): Add accept4.
66473         (Signal handling): Add sigpipe.
66474         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
66475         mbmemcasecoll.
66476         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
66477         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
66478         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
66479         pipe-filter-ii.
66480         (Misc): Add argp-version-etc, login_tty, parse-duration.
66482 2010-07-31  Bruno Haible  <bruno@clisp.org>
66484         Improve doc in MODULES.html.
66485         * modules/linkat (Description): Add the word "function".
66486         * modules/mkfifo (Description): Likewise.
66487         * modules/mknod (Description): Likewise.
66488         * modules/remove (Description): Likewise.
66489         * modules/renameat (Description): Likewise.
66490         * modules/stat (Description): Likewise.
66491         * modules/symlink (Description): Likewise.
66492         * modules/unlink (Description): Likewise.
66494 2010-07-31  Bruno Haible  <bruno@clisp.org>
66496         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
66497         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
66498         option --enable/disable-c++ instead of --enable/disable-cxx.
66499         * NEWS: Mention the change.
66501 2010-07-31  Bruno Haible  <bruno@clisp.org>
66503         readlink, areadlink: Relax test a bit.
66504         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
66505         alternative to ENOTDIR.
66506         * tests/test-areadlink.h (test_areadlink): Likewise.
66507         Reported by Rainer Tammer.
66509 2010-07-31  Bruno Haible  <bruno@clisp.org>
66511         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
66512         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
66513         character, perform the search using U_STRCHR.
66514         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
66515         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
66516         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
66517         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
66518         Suggested by Paolo Bonzini.
66520 2010-07-31  Bruno Haible  <bruno@clisp.org>
66522         unistr/u*-strstr: Fix dependencies.
66523         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
66524         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
66525         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
66527 2010-07-31  Bruno Haible  <bruno@clisp.org>
66529         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
66530         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
66531         the beginning of the loop.
66532         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
66533         cases in 'switch' statement.
66535         unistr/u8-strchr: Fix several bugs.
66536         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
66537         the string. When not found, return NULL, not a pointer near the end.
66539         More tests for unistr/u8-strchr.
66540         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
66541         that the function does not read past the first occurrence of the byte
66542         being searched.
66543         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
66544         * tests/unistr/test-u16-strchr.c (main): New function.
66545         * tests/unistr/test-u32-strchr.c (main): New function.
66547 2010-07-31  Bruno Haible  <bruno@clisp.org>
66549         posix-modules: Ignore backup files of documentation files.
66550         * posix-modules: grep only through files named *.texi.
66552 2010-07-31  Bruno Haible  <bruno@clisp.org>
66554         symlinkat: Fix documentation.
66555         * doc/posix-functions/readlinkat.texi: Fix module name.
66557 2010-07-31  Bruno Haible  <bruno@clisp.org>
66559         fchownat: Replace also when chown has the trailing slash bug.
66560         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
66561         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
66562         introduced on 2010-04-10.
66563         Reported by Rainer Tammer.
66565 2010-07-31  Bruno Haible  <bruno@clisp.org>
66567         linkat: Work around AIX 7.1 bug.
66568         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
66569         whether linkat handles trailing slash correctly. If not, replace linkat
66570         and define LINKAT_TRAILING_SLASH_BUG.
66571         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
66572         check whether (fd1,file1) points to a directory if file1 or file2 ends
66573         in a slash. Code taken from lib/link.c.
66574         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
66575         Reported by Rainer Tammer.
66577 2010-07-31  Bruno Haible  <bruno@clisp.org>
66579         Correctly determine whether pow is available in libc on AIX 7 with xlc.
66580         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
66581         This disables an xlc optimization that was causing wrong test results.
66582         Reported by Rainer Tammer.
66584 2010-07-31  Bruno Haible  <bruno@clisp.org>
66586         iconv: Work around AIX 6.1..7.1 bug.
66587         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
66588         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
66589         cross-compiling, guess no on all versions of AIX.
66590         Reported by Rainer Tammer.
66592 2010-07-31  Bruno Haible  <bruno@clisp.org>
66594         readlink: Relax test a bit.
66595         * tests/test-readlink.h (test_readlink): Allow different errno value
66596         when readlink is called with a file name that ends in / and refers to
66597         a file.
66598         Suggested by Eric Blake.
66599         Reported by Rainer Tammer.
66601 2010-07-31  Bruno Haible  <bruno@clisp.org>
66603         copysign: Does not require -lm on glibc systems.
66604         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
66605         gl_COMMON_DOUBLE_MATHFUNC.
66606         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
66608 2010-07-31  Bruno Haible  <bruno@clisp.org>
66610         duplocale: Work around AIX 7.1 bug.
66611         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
66612         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
66613         * lib/duplocale.c (rpl_duplocale): Update comment.
66614         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
66615         Reported by Rainer Tammer.
66617 2010-07-30  Bruno Haible  <bruno@clisp.org>
66619         dirfd: Avoid link error on AIX 7.1.
66620         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
66621         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
66622         exist, set REPLACE_DIRFD.
66623         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
66624         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
66625         * doc/posix-functions/dirfd.texi: Update.
66626         Reported by Rainer Tammer.
66628 2010-07-30  Eric Blake  <eblake@redhat.com>
66630         strtod: next round of AIX fixes
66631         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
66632         exponent.
66633         * tests/test-strtod.c (main): Enhance tests.
66634         * doc/posix-functions/strtod.texi (strtod): Document next bug.
66635         Reported by Rainer Tammer.
66637         futimens: fix configure check
66638         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
66639         Reported by Bruno Haible.
66641 2010-07-30  Bruno Haible  <bruno@clisp.org>
66643         getline: Update regarding AIX.
66644         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
66645         Reported by Rainer Tammer.
66647 2010-07-30  Bruno Haible  <bruno@clisp.org>
66649         wcwidth: Drop replacement on AIX 7.
66650         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
66651         AIX 7.
66652         Reported by Rainer Tammer.
66654 2010-07-30  Bruno Haible  <bruno@clisp.org>
66656         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
66657         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
66658         a 'char *'.
66659         Reported by Rainer Tammer.
66661 2010-07-30  Bruno Haible  <bruno@clisp.org>
66663         unlink: Update regarding AIX.
66664         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
66665         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
66666         Reported by Rainer Tammer.
66668 2010-07-30  Bruno Haible  <bruno@clisp.org>
66670         symlink: Update regarding AIX.
66671         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
66672         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
66673         Reported by Rainer Tammer.
66675 2010-07-30  Bruno Haible  <bruno@clisp.org>
66677         strndup: Update regarding AIX.
66678         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
66679         AIX 7.
66680         Reported by Rainer Tammer.
66682 2010-07-30  Bruno Haible  <bruno@clisp.org>
66684         stat: Update regarding AIX.
66685         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
66686         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
66687         Reported by Rainer Tammer.
66689 2010-07-30  Bruno Haible  <bruno@clisp.org>
66691         truncl: Fix autoconf test.
66692         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
66693         whether truncl works.
66694         Reported by Rainer Tammer.
66696 2010-07-30  Bruno Haible  <bruno@clisp.org>
66698         round: Update regarding AIX.
66699         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
66700         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
66701         Reported by Rainer Tammer.
66703 2010-07-30  Bruno Haible  <bruno@clisp.org>
66705         rename: Update regarding AIX.
66706         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
66707         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
66708         Reported by Rainer Tammer.
66710 2010-07-30  Bruno Haible  <bruno@clisp.org>
66712         printf.m4: Update regarding AIX.
66713         * m4/printf.m4: Update comments regarding AIX.
66714         Reported by Rainer Tammer.
66716 2010-07-30  Bruno Haible  <bruno@clisp.org>
66718         iconv: Update regarding AIX.
66719         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
66720         AIX 7.
66721         Reported by Rainer Tammer.
66723 2010-07-30  Bruno Haible  <bruno@clisp.org>
66725         getopt: Update regarding AIX.
66726         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
66727         no on AIX.
66728         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
66729         Reported by Rainer Tammer.
66731 2010-07-30  Bruno Haible  <bruno@clisp.org>
66733         ldexpl; Update regarding AIX.
66734         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
66735         on AIX 7.
66736         Reported by Rainer Tammer.
66738 2010-07-30  Bruno Haible  <bruno@clisp.org>
66740         frexpl: Update regarding AIX.
66741         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
66742         on AIX 7.
66743         Reported by Rainer Tammer.
66745 2010-07-30  Bruno Haible  <bruno@clisp.org>
66747         open, fopen: Update regarding AIX.
66748         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
66749         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66750         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
66751         * doc/posix-functions/fopen.texi: Likewise.
66752         Reported by Rainer Tammer.
66754 2010-07-30  Bruno Haible  <bruno@clisp.org>
66756         chown: Update doc regarding AIX.
66757         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
66758         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
66759         Reported by Rainer Tammer.
66761 2010-07-30  Eric Blake  <eblake@redhat.com>
66763         strtod: fix bug in replacement function on AIX
66764         * lib/strtod.c (strtod): Special case broken "0x" parse in
66765         underlying strtod.
66766         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
66767         * doc/posix-functions/strtod.texi (strtod): Likewise.
66768         Reported by Rainer Tammer.
66770 2010-07-30  Bruno Haible  <bruno@clisp.org>
66772         mbrlen: Fix cross-compilation guess for AIX.
66773         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
66774         guess. Leftover from 2008-12-22.
66776 2010-07-30  Bruno Haible  <bruno@clisp.org>
66778         mbrtowc: Fix cross-compilation guess for AIX.
66779         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
66780         guess. Leftover from 2008-12-21.
66782 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
66784         init.sh: work around trap limitation of some shells
66785         * tests/init.sh (setup_): Move exit trap outside of shell function.
66787 2010-07-29  Eric Blake  <eblake@redhat.com>
66789         strtod: aid debugging
66790         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
66791         understanding why strtod is rejected.
66793 2010-07-28  Bruno Haible  <bruno@clisp.org>
66795         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
66796         * lib/unistr/u8-chr.c: Include <string.h>.
66797         * tests/unistr/test-u8-chr.c: Likewise.
66798         * tests/unistr/test-u16-chr.c: Likewise.
66799         * tests/unistr/test-u32-chr.c: Likewise.
66800         * tests/unistr/test-u8-strchr.c: Likewise.
66801         * tests/unistr/test-u16-strchr.c: Likewise.
66802         * tests/unistr/test-u32-strchr.c: Likewise.
66803         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
66804         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
66805         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
66806         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
66808 2010-07-28  Bruno Haible  <bruno@clisp.org>
66810         Use spaces for indentation, not tabs.
66811         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
66813 2010-07-27  Bruno Haible  <bruno@clisp.org>
66815         mbspcasecmp: Fix function specification.
66816         * lib/string.in.h (mbspcasecmp): Fix specification comment.
66817         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
66818         Reported by Eric Blake <eblake@redhat.com>.
66820 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
66822         timespec: use cast and not conditional, as truncation isn't possible
66823         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
66824         instead of a conditional.  Comment about the situation in more detail.
66825         This undoes most of the 2009-10-29 patch.
66827 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
66829         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
66830         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
66831         * lib/unistr/u8-strchr.c: Likewise.
66832         * modules/unistr/u8-chr: Depend on memchr.
66834         unistr/u*-strchr: add tests
66835         * modules/unistr/u8-strchr-tests: New file.
66836         * modules/unistr/u16-strchr-tests: New file.
66837         * modules/unistr/u32-strchr-tests: New file.
66838         * tests/unistr/test-strchr.h: New file.
66839         * tests/unistr/test-u8-strchr.c: New file.
66840         * tests/unistr/test-u16-strchr.c: New file.
66841         * tests/unistr/test-u32-strchr.c: New file.
66843         unistr/u*-chr: test multibyte sequences more
66844         * tests/unistr/test-chr.h: Do complete testing of the characters in the
66845         test vector.
66846         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
66847         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
66848         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
66850         unistr/u*-chr: test multibyte sequences
66851         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
66853         unistr/u*-chr: prepare for multibyte tests
66854         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
66855         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
66856         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
66857         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
66858         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
66859         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
66861 2010-07-18  Bruno Haible  <bruno@clisp.org>
66863         unistr/u8-strchr: Optimize non-ASCII argument case.
66864         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
66865         because the first byte often matches anyway.
66866         Reported by Pádraig Brady <P@draigbrady.com>.
66868 2010-07-15  Karl Berry  <karl@gnu.org>
66870         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
66872 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
66874         getcwd: on Solaris, work better if ancestors are inaccessible
66875         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
66876         buffer and size, try again with a large buffer.  This works better
66877         on Solaris, since its getcwd succeeds even if the path to the root
66878         is inaccessible, and this is helpful in common cases such as .zfs
66879         hidden directories.  Problem reported by J Chapman Flack in
66880         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
66881         Use system getcwd if it's declared, not merely if it's partly
66882         working; use the partly-working test only to avoid needless effort
66883         if the system getcwd fails.
66884         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
66885         comment that was already obsolete and is now even more obsolete.
66886         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
66887         now might call strdup.
66889 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
66891         pthread: Add enough so that coreutils/src/sort.c compiles.
66892         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
66893         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
66894         gnulib. Include <sched.h> and <time.h>, as per POSIX.
66895         Include <sys/types.h>, in case it defines pthread_t.
66896         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
66897         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
66898         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
66899         (pthread_rwlockattr_t, pthread_spinlock_t):
66900         New typedefs, if HAVE_PTHREAD_T is not defined.
66901         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
66902         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
66903         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
66904         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
66905         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
66906         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
66907         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
66908         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
66909         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
66910         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
66911         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
66912         New macros.
66913         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
66914         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
66915         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
66916         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
66917         (pthread_spin_unlock): New dummy functions.
66918         (pthread_create): Return EAGAIN; don't set errno.
66919         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
66920         require AC_C_INLINE.
66921         * modules/pthread (Depends-on): Add sched, time.
66922         (pthread.h): Use AM_V_GEN.
66924 2010-07-13  Bruno Haible  <bruno@clisp.org>
66926         striconveh: Don't malloc memory if the result buffer is sufficient.
66927         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
66928         buffer if its size is sufficient.
66929         Reported by Ludovic Courtès <ludo@gnu.org>.
66931 2010-07-13  Bruno Haible  <bruno@clisp.org>
66933         strtod: Add safety check.
66934         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
66936 2010-07-12  Bruno Haible  <bruno@clisp.org>
66938         Unify tests that set gl_cv_func_ldexpl_no_libm.
66939         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
66940         gl_FUNC_LDEXPL.
66941         (gl_FUNC_LDEXPL): Invoke it.
66942         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66944 2010-07-12  Bruno Haible  <bruno@clisp.org>
66946         Unify tests that set gl_cv_func_ldexp_no_libm.
66947         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
66948         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
66949         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
66950         (configure.ac): Simply invoke gl_FUNC_LDEXP.
66951         * modules/strtod (Files): Add m4/ldexp.m4.
66953 2010-07-12  Bruno Haible  <bruno@clisp.org>
66955         Unify tests that set gl_cv_func_frexpl_no_libm.
66956         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
66957         gl_FUNC_FREXPL_NO_LIBM.
66958         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
66959         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66961 2010-07-12  Bruno Haible  <bruno@clisp.org>
66963         Unify tests that set gl_cv_func_frexp_no_libm.
66964         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
66965         gl_FUNC_FREXP_NO_LIBM.
66966         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
66967         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66969 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66971         memcoll: clarify sizes versus lengths, document better, and tweak perf
66972         * lib/memcoll.c (strcoll_loop, memcoll0):
66973         Improve quality of descriptive comments.  Name variables
66974         consistently as to whether they are lengths (which do not include
66975         terminating null) versus sizes (which do).
66976         * lib/xmemcoll.c (xmemcoll0): Likewise.
66977         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
66978         returned when s1size == 0; this is easier to compile and saves
66979         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
66981 2010-07-12  Bruno Haible  <bruno@clisp.org>
66983         Tests for module '_Exit'.
66984         * modules/_Exit-tests: New file.
66985         * tests/test-_Exit.sh: New file.
66986         * tests/test-_Exit.c: New file.
66988         New module '_Exit'.
66989         * lib/stdlib.in.h (__attribute__): New macro.
66990         (_Exit): New declaration.
66991         * lib/_Exit.c: New file.
66992         * m4/_Exit.m4: New file.
66993         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
66994         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
66995         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
66996         * modules/_Exit: New file.
66997         * tests/test-stdlib-c++.cc (_Exit): Check signature.
66998         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
67000 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
67002         strtod: make it more-accurate typically, and don't require libm
67003         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
67004         Include limits.h.  Don't include string.h.
67005         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
67006         (locale_isspace): New function, so that no casts are needed to
67007         check whether *s is a space.
67008         (ldexp): Provide an unused dummy if not available.
67009         (scale_radix_exp, parse_number, underlying_strtod): New functions.
67010         (strtod): Use them.  This implementation prefers to use the
67011         underlying strtod if available, falling back on our own code
67012         only to fix known bugs.  This is more likely to produce an
67013         accurate result.  Also, it avoids the use of libm functions.
67014         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
67015         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
67016         was absent, but it caused a test failure with coreutils.
67017         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
67018         with libm.
67019         * modules/strtod (Makefile.am, Link): libm is no longer needed.
67020         * modules/strtod-tests (Makefile.am): Likewise.
67022 2010-07-11  Pádraig Brady  <P@draigBrady.com>
67023             Bruno Haible  <bruno@clisp.org>
67025         unistr/u8-strchr: Optimize ASCII argument case.
67026         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
67028 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
67030         (x)memcoll: minor tweaks
67031         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
67032         is after the type that it qualifies.
67033         (memcoll0): Likewise.
67034         * lib/memcoll.h (memcoll0): Likewise.
67035         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
67036         * lib/xmemcoll.h (xmemcoll0): Likewise.
67037         * lib/memcoll.c (memcoll0): Correct the comment.  This function
67038         differs from memcoll in that the NUL byte is part of the argument.
67039         Omit the abort-checks, as performance is a real issue here.  Plus,
67040         the checks were wrong anyway (an off-by-one error).  Omit local
67041         variable 'diff', as it's a bit clearer that way.
67042         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
67043         no longer needed.
67045 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
67047         (x)memcoll: speedup when input is known to be NUL delimited
67048         * lib/memcoll.c: Include stdlib.
67049         (memcoll0): New function.
67050         (strcoll_loop): New function, refactored for use in both memcoll
67051         and memcoll0.
67052         * lib/memcoll.h (memcoll0): Add prototype.
67053         * lib/xmemcoll.c (xmemcoll0): New function.
67054         (collate_error): New function, refactored for use in both xmemcoll
67055         and xmemcoll0.
67056         * lib/xmemcoll.h (xmemcoll0): Add prototype.
67057         * m4/memcoll.m4: add inline invocation.
67059 2010-07-06  Pádraig Brady  <P@draigBrady.com>
67061         * build-aux/bootstrap: Remove any local translations
67062         from the translation project synchronization directory,
67063         so that local only translations are not distributed.
67065 2010-07-04  Bruno Haible  <bruno@clisp.org>
67067         fsusage: Clarify which code applies to which platforms.
67068         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
67069         platform.
67070         * lib/fsusage.c (get_fs_usage): Likewise.
67072 2010-07-04  Bruno Haible  <bruno@clisp.org>
67074         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
67075         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
67076         Reported by Martin Lambers <marlam@marlam.de>.
67078 2010-07-04  Jim Meyering  <meyering@redhat.com>
67080         hash: once again explicitly disallow insertion of NULL
67081         * lib/hash.c (hash_insert0): Reinstate just-removed test:
67082         inserting a NULL pointer cannot work with these functions.
67083         Add a comment with details.
67084         This reverts part of the 2010-07-01 commit, 5bef1a35
67085         "hash: extend module to deal with non-pointer keys".
67087 2010-07-01  Bruno Haible  <bruno@clisp.org>
67089         stdbool: Update doc.
67090         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
67091         Info from Christian Weisgerber <naddy@mips.inka.de>.
67093 2010-07-01  Jim Meyering  <meyering@redhat.com>
67095         hash: extend module to deal with non-pointer keys
67096         * lib/hash.c (hash_insert0): New interface, much like hash_insert
67097         but that allows insertion of non-pointer entries.
67098         Do not disallow an ENTRY value of NULL.
67099         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
67100         * lib/hash.h (hash_insert0): Declare.
67102 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
67104         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
67105         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
67106         not present (i.e. with autoconf 2.59 and when using gettextize, not
67107         gnulib), require AC_GNU_SOURCE instead.
67109 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
67111         idpriv-drop: Fix tests.
67112         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
67113         not to the test-idpriv-droptemp program.
67115 2010-06-29  Bruno Haible  <bruno@clisp.org>
67117         string: Fix syntax error with g++ 2.96.
67118         * lib/string.in.h (__pure__): Remove definition.
67119         (_GL_ATTRIBUTE_PURE): New macro.
67120         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
67121         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
67122         Reported by Christian Weisgerber <naddy@mips.inka.de>.
67124 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
67126         unitypes: Fix bug introduced on 2010-05-18.
67127         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
67129 2010-06-22  Eric Blake  <eblake@redhat.com>
67131         memmem: slight optimization
67132         * lib/str-two-way.h (critical_factorization): Update comments.
67133         Reduce work during factorization phase.
67134         Reported by Carlos Bueno <carlos@bueno.org>.
67136 2010-06-21  Bruno Haible  <bruno@clisp.org>
67138         Fix HAVE_CALLOC_POSIX misnomer.
67139         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
67140         !HAVE_CALLOC_POSIX.
67141         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
67142         HAVE_CALLOC_POSIX.
67143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
67144         instead of HAVE_CALLOC_POSIX.
67145         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
67146         HAVE_CALLOC_POSIX.
67148         Use modern idiom for calloc() replacement.
67149         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
67150         AC_FUNC_CALLOC.
67151         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
67152         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
67153         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67154         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
67155         (gl_REPLACE_CALLOC): New macro.
67157 2010-06-21  Bruno Haible  <bruno@clisp.org>
67159         Fix HAVE_REALLOC_POSIX misnomer.
67160         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
67161         !HAVE_REALLOC_POSIX.
67162         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
67163         HAVE_REALLOC_POSIX.
67164         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
67165         instead of HAVE_REALLOC_POSIX.
67166         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
67167         HAVE_REALLOC_POSIX.
67169         Use modern idiom for realloc() replacement.
67170         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
67171         AC_FUNC_REALLOC.
67172         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
67173         Autoconf's AC_FUNC_REALLOC.
67174         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67175         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
67176         (gl_REPLACE_REALLOC): New macro.
67177         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67179 2010-06-21  Bruno Haible  <bruno@clisp.org>
67181         Fix HAVE_MALLOC_POSIX misnomer.
67182         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
67183         !HAVE_MALLOC_POSIX.
67184         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
67185         HAVE_MALLOC_POSIX.
67186         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
67187         instead of HAVE_MALLOC_POSIX.
67188         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
67189         HAVE_MALLOC_POSIX.
67191         Use modern idiom for malloc() replacement.
67192         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
67193         AC_FUNC_MALLOC.
67194         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
67195         Autoconf's AC_FUNC_MALLOC.
67196         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
67197         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
67198         (gl_REPLACE_MALLOC): New macro.
67199         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
67201 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
67203         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
67204         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
67205         This macro takes 3 arguments, not 4.
67207 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
67209         ipv6: fix detection under mingw
67210         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
67211         in6_addr.
67213 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
67215         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
67216         that strtod() works when cross-compiling to a glibc version known
67217         to work.
67219 2010-06-15  Bruno Haible  <bruno@clisp.org>
67221         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
67223 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
67225         select: Correct timeout.
67226         * lib/select.c (rpl_select): Compute wait_timeout correctly.
67228 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67230         git-version-gen: init shell var to avoid env var influence
67231         * build-aux/git-version-gen (v): Init shell var to empty.
67233 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
67235         priv-set: Don't assume that priv.h exists merely because getppriv does.
67236         See Jan Andersen's bug report about AIX 5L in
67237         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
67238         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
67239         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
67240         * lib/priv-set.h: Likewise.
67241         * tests/test-priv-set.c: Likewise.
67243 2010-06-13  Bruno Haible  <bruno@clisp.org>
67245         relocatable: Make it easier to test whether to install wrappers.
67246         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
67247         RELOCATABLE_VIA_WRAPPER.
67249 2010-06-13  Bruno Haible  <bruno@clisp.org>
67251         gnulib-tool: Display specified modules and dependencies differently.
67252         * gnulib-tool (func_show_module_list): New function.
67253         (func_import, func_create_testdir): Invoke it.
67254         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
67256 2010-06-13  Bruno Haible  <bruno@clisp.org>
67258         gnulib-tool: Align code of func_import and func_create_testdir.
67259         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
67260         specified_modules.
67262 2010-06-12  Jim Meyering  <meyering@redhat.com>
67264         test-inttostr: avoid spurious failure on Solaris 9
67265         * tests/test-inttostr.c (main): Skip the test when snprintf fails
67266         to accept "%ju".  Reported by Bruno Haible.
67268 2010-06-11  Jim Meyering  <meyering@redhat.com>
67270         test-sys_socket: mark variables as used more readably
67271         * tests/test-sys_socket.c (main): Mark otherwise unused variables
67272         as "used" explicitly via (void) statement casts.  This is more
67273         readable than using them in an artificial return expression.
67274         Suggestion from Bruno Haible.
67276 2010-06-11  Bruno Haible  <bruno@clisp.org>
67278         Avoid some more warnings from "gcc -Wwrite-strings".
67279         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
67280         to 'const char *'.
67281         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
67282         * tests/test-c-strcasestr.c (main): Likewise.
67283         * tests/test-mbscasestr1.c (main): Likewise.
67284         * tests/test-mbscasestr2.c (main): Likewise.
67285         * tests/test-memmem.c (main): Likewise.
67286         * tests/test-strstr.c (main): Likewise.
67287         * tests/test-strcasestr.c (main): Likewise.
67289 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67291         init.sh: change framework_failure_ to fail with status 99, not 1
67292         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
67293         automake's parallel-tests rule that this is an unexpected failure,
67294         even if the test is listed in XFAIL_TESTS.
67296 2010-06-11  Jim Meyering  <meyering@redhat.com>
67298         test-inttostr: avoid warnings about 4-6KB literal strings
67299         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
67300         Include "macros.h", for its definition of ASSERT.
67301         (CK): s/assert/ASSERT/
67302         * modules/inttostr-tests (Files): Add macros.h.
67304         init.sh: don't use $ME_ or skip_ before they are defined
67305         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
67306         their first uses.  Also hoist their companions: warn_, fail_,
67307         framework_failure_, $stderr_fileno.  Prompted by a patch from
67308         Stefano Lattarini.
67310         test-sys_socket: avoid set-but-not-used warnings from gcc
67311         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
67312         avoid warning about set-but-not-used variables.
67314         test-xvasprintf: avoid 'const' discard warnings
67315         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
67316         "const" when assigning from literal strings.
67317         (test_xasprintf): Add "void" in function argument list to placate
67318         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
67320         tests: avoid compilation warnings in argmatch and exclude tests...
67321         in packages that define ARGMATCH_DIE_DECL, like coreutils.
67322         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
67323         Since it always exits, declare with the "noreturn" attribute.
67324         * tests/test-argmatch.c: Likewise.
67326         tests: avoid 'const' discard warnings in mbsstr tests
67327         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
67328         * tests/test-mbsstr2.c (main): Likewise.
67330         test-verify: avoid warning from gcc's -Wmissing-declarations
67331         * tests/test-verify.c (function): Declare to be static.
67333         test-inttostr.c: include <string.h> for use of strcmp
67334         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
67336         test-linkat: avoid failed assertion on "other" architectures
67337         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
67338         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
67339         sparc: https://bugs.launchpad.net/bugs/591968
67341 2010-06-11  Jim Meyering  <meyering@redhat.com>
67343         printf.m4: avoid autoconf's "Expanded Before Required" warning
67344         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
67345         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
67346         autoconf warning.
67348 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
67350         Replacement header templates are now named with ".in", not "_".
67351         * doc/gnulib-intro.texi: Correct.
67353 2010-06-10  Jim Meyering  <meyering@redhat.com>
67355         inttostr-tests: depend on snprintf, not snprintf-posix
67356         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
67357         snprintf-posix, to avoid this aclocal failure:
67358           missing file gnulib-tests/vasnprintf.c
67359           configure.ac:45: error: expected source file, required through \
67360           AC_LIBSOURCES, not found
67362 2010-06-10  Jim Meyering  <meyering@redhat.com>
67364         inttostr: add a new function, inttostr, and tests
67365         The namesake function was not available.  The existence of the
67366         template file, inttostr.c makes its addition nontrivial.
67367         * lib/anytostr.c: Rename from inttostr.c.
67368         (anytostr): Rename from inttostr.
67369         * lib/inttostr.c: New file.
67370         * modules/inttostr (Files): Add anytostr.c.
67371         (Makefile.am): Set lib_SOURCES instead of ...
67372         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
67373         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
67374         * lib/offtostr.c: Likewise.
67375         * lib/uinttostr.c: Likewise.
67376         * lib/umaxtostr.c: Likewise.
67377         * modules/inttostr-tests: New file.
67378         * tests/test-inttostr.c: New file.  Test these functions.
67380 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
67381             Bruno Haible  <bruno@clisp.org>
67383         Add "Extending Gnulib" chapter to manual.
67384         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
67385         chapter.
67386         (Extending Gnulib): New chapter.
67387         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
67388         chapter.
67390 2010-06-09  Bruno Haible  <bruno@clisp.org>
67392         Avoid relocwrapper link errors due to gnulib replacement functions.
67393         * lib/areadlink.c: Use the system's malloc, realloc functions.
67394         (areadlink): Set errno to ENOMEM explicitly.
67395         * modules/areadlink (Depends-on): Remove malloc-posix.
67396         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67398 2010-06-09  Bruno Haible  <bruno@clisp.org>
67400         Avoid relocwrapper link errors due to gnulib replacement functions.
67401         * lib/canonicalize-lgpl.c: Use the system's malloc function.
67402         * lib/malloca.c: Likewise.
67403         * lib/relocatable.c: Likewise.
67404         * lib/progreloc.c: Use the system's malloc, sprintf functions.
67405         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
67406         * lib/setenv.c: Use the system's malloc, realloc functions.
67407         * lib/strerror.c: Use the system's sprintf function.
67408         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67410 2010-06-04  Bruno Haible  <bruno@clisp.org>
67412         Prefer documented low-level autoconf macro names.
67413         * m4/lib-link.m4: Use m4_translit instead of translit.
67414         * m4/environ.m4: Likewise.
67415         * m4/mathfunc.m4: Likewise.
67416         * m4/onceonly.m4: Likewise.
67417         * m4/stdint.m4: Likewise.
67418         Suggested by Eric Blake.
67420 2010-06-04  Martin Lambers  <marlam@marlam.de>
67421             Bruno Haible  <bruno@clisp.org>
67423         havelib: Allow library names with '+' characters.
67424         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67425         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
67427 2010-06-09  Bruno Haible  <bruno@clisp.org>
67429         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
67430         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
67431         realloc failed.
67433 2010-06-08  Peter Simons  <simons@cryp.to>
67435         maint.mk: make the news-check rule more configurable
67436         * top/maint.mk (news-check-lines-spec): New variable.
67437         (news-check): Use "sed -n 1,10p" in place of "head".
67439 2010-06-07  Jim Meyering  <meyering@redhat.com>
67441         do-release-commit-and-tag: fix typo in --help
67442         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
67444         regex: avoid new dead-code warning with gcc-4.6.0
67445         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
67446         if-block containing a while-loop.  It's been unused for at least
67447         5 years.
67449 2010-06-05  Bruno Haible  <bruno@clisp.org>
67451         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
67452         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
67454 2010-06-04  Bruno Haible  <bruno@clisp.org>
67456         Update to GNU gettext 0.18.1.
67457         * modules/gettext (configure.ac): Require gettext infrastructure from
67458         version 0.18.1.
67460 2010-06-03  Bruno Haible  <bruno@clisp.org>
67462         Don't use AC_LIBOBJ with file names in subdirectories.
67463         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
67464         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
67465         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
67466         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
67467         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
67468         gl_LIBUNISTRING_LIBSOURCE.
67469         (Makefile.am): Augment lib_SOURCES here, conditionally.
67470         * NEWS: Drop requirement for Automake option 'subdir-objects'.
67472 2010-06-03  Bruno Haible  <bruno@clisp.org>
67474         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
67475         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
67476         expansion does not end with a newline.
67477         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
67478         unnecessary newline.
67480 2010-06-03  Bruno Haible  <bruno@clisp.org>
67482         Reduce dependencies.
67483         * tests/test-quotearg.h: New file, extracted from
67484         tests/test-quotearg.c.
67485         * tests/test-quotearg-simple.c: New file, extracted from
67486         tests/test-quotearg.c.
67487         * tests/test-quotearg.c: Don't include <ctype.h>.
67488         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
67489         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
67490         use_quote_double_quotes, use_quotearg_colon): Moved to
67491         tests/test-quotearg.h.
67492         (results_g, flag_results, custom_quotes, custom_results): Moved
67493         to tests/test-quotearg-simple.c.
67494         (main): Moved the part that does not depend on gettext to
67495         tests/test-quotearg-simple.c. Return 77 if the test cannot be
67496         performed.
67497         * modules/quotearg-simple: New file.
67498         * modules/quotearg-simple-tests: New file.
67499         * modules/quotearg (Depends-on): Add quotearg-simple.
67500         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
67501         (Files): Add tests/test-quotearg.h.
67502         Reported by Paolo Bonzini.
67504 2010-06-03  Bruno Haible  <bruno@clisp.org>
67506         Reduce dependencies.
67507         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
67509 2010-06-03  Bruno Haible  <bruno@clisp.org>
67511         time: Undefine more broken macros.
67512         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
67513         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
67514         Reported by Eric Blake.
67516 2010-06-03  Bruno Haible  <bruno@clisp.org>
67518         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
67519         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
67520         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
67521         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
67522         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
67523         Reported by Ludovic Courtès <ludo@gnu.org>.
67525 2010-06-02  Eric Blake  <eblake@redhat.com>
67527         time: work with mingw + pthreads-win32 library
67528         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
67529         if timespec is defined only in pthread.h.
67530         * modules/time (Makefile.am): Substitute it.
67531         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
67532         <pthread.h>, when needed.
67533         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
67534         from the library.
67536 2010-05-31  Bruno Haible  <bruno@clisp.org>
67538         Avoid expanding two macros in the wrong order.
67539         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
67540         gl_LIBUNISTRING if it is defined.
67541         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
67542         autoconf >= 2.64.
67543         Reported by Ludovic Courtès <ludo@gnu.org>.
67545 2010-05-27  Jim Meyering  <meyering@redhat.com>
67547         maint.mk: also prohibit "#undef" of always-defined symbols
67548         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
67549         Allow more than one space before the symbol name.
67550         (sc_prohibit_always-defined_macros): Use grep's -E, now that
67551         the regexp uses alternation.
67553 2010-05-26  Eric Blake  <eblake@redhat.com>
67555         maint.mk: avoid echo -e
67556         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
67557         Convert all uses of echo -* to printf.
67558         Reported by Matthias Bolte.
67560 2010-05-25  Bruno Haible  <bruno@clisp.org>
67562         Update to GNU gettext 0.18, part 2.
67563         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
67564         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
67566 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67568         Add missing include in test-pwrite.c.
67569         * tests/test-pwrite.c: Include string.h, for strcmp.
67571 2010-05-24  Bruno Haible  <bruno@clisp.org>
67573         * NEWS: Mention requirement for Automake option 'subdir-objects'.
67575 2010-05-24  Bruno Haible  <bruno@clisp.org>
67577         Don't use conversion with transliteration in u{8,16,32}_strcoll.
67578         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
67579         iconveh_error argument.
67580         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
67581         U_STRCONV_TO_LOCALE.
67582         * lib/unistr/u16-strcoll.c: Likewise.
67583         * lib/unistr/u32-strcoll.c: Likewise.
67584         * modules/unistr/u8-strcoll (Depends-on): Add
67585         uniconv/u8-strconv-to-enc, localcharset. Remove
67586         uniconv/u8-strconv-to-locale.
67587         (configure.ac): Bump version number.
67588         * modules/unistr/u16-strcoll (Depends-on): Add
67589         uniconv/u16-strconv-to-enc, localcharset. Remove
67590         uniconv/u16-strconv-to-locale.
67591         (configure.ac): Bump version number.
67592         * modules/unistr/u32-strcoll (Depends-on): Add
67593         uniconv/u32-strconv-to-enc, localcharset. Remove
67594         uniconv/u32-strconv-to-locale.
67595         (configure.ac): Bump version number.
67597 2010-05-24  Bruno Haible  <bruno@clisp.org>
67599         Avoid a test failure on NetBSD 5.0.
67600         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
67601         an iconv() bug.
67603 2010-05-24  Bruno Haible  <bruno@clisp.org>
67605         Adjust #include directive style.
67606         * modules/regex (Includes): Recommend to write <regex.h>.
67608 2010-05-24  Bruno Haible  <bruno@clisp.org>
67610         regex: Don't require alloca.
67611         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
67612         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
67613         only inside if (0).
67615 2010-05-23  Jim Meyering  <meyering@redhat.com>
67617         test-renameat.c: include <sys/stat.h>
67618         * tests/test-renameat.c: Include <sys/stat.h>; required for
67619         definition of S_IS* macros.
67621 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
67623         Update maintainer documentation for 'relocatable-prog' module.
67624         * doc/relocatable-maint.texi: Update.
67625         Comments by Bruno Haible.
67627 2010-05-23  Bruno Haible  <bruno@clisp.org>
67629         git-merge-changelog: Enable --split-merged-entry by default.
67630         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
67631         (usage): Don't mention this option any more.
67632         Reported by Ralf Wildenhues.
67634 2010-05-23  Jim Meyering  <meyering@redhat.com>
67636         test-pwrite: do not leave behind a test file named "out"
67637         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
67638         The trivial-looking use of init.sh is really necessary.
67639         It ensures that the temporary file, "out", is created in
67640         a temporary directory, and removed upon termination.
67641         * tests/test-pwrite.sh: Re-add file.
67642         * modules/pwrite-tests: Reference it.
67644 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67646         Fix output redirection buglet in init.sh.
67647         * tests/init.sh: Fix redirection of stderr.
67649 2010-05-20  Simon Josefsson  <simon@josefsson.org>
67651         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
67653 2010-05-17  Simon Josefsson  <simon@josefsson.org>
67655         * modules/valgrind-tests: New file.
67656         * m4/valgrind-tests.m4: New file.
67657         * doc/valgrind-tests.texi: New file.
67658         * doc/gnulib.texi (Running self-tests under valgrind): New
67659         section.
67661 2010-05-19  Bruno Haible  <bruno@clisp.org>
67663         Clean up dead code in recent commit.
67664         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
67665         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
67666         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
67667         Suggested by Paolo Bonzini.
67669 2010-05-19  Bruno Haible  <bruno@clisp.org>
67671         Avoid valgrind error reports from libunistring.
67672         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
67673         * modules/libunistring (Files): Add it.
67674         * modules/libunistring-optional (Files): Likewise.
67676 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
67677             Bruno Haible  <bruno@clisp.org>
67679         New module 'libunistring-optional'.
67680         * modules/libunistring-optional: New file.
67681         * m4/libunistring-base.m4: New file.
67682         * m4/libunistring-optional.m4: New file.
67683         * lib/unicase.in.h: Renamed from lib/unicase.h.
67684         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
67685         * lib/unictype.in.h: Renamed from lib/unictype.h.
67686         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
67687         * lib/uniname.in.h: Renamed from lib/uniname.h.
67688         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
67689         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
67690         * lib/unistr.in.h: Renamed from lib/unistr.h.
67691         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
67692         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
67693         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
67694         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
67695         gl_LIBUNISTRING. If the library was found, determine the installed
67696         version and set LIBUNISTRING_VERSION.
67697         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
67698         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
67699         handle a configuration option --with-included-libunistring.
67700         * modules/libunistring (Files): Add m4/absolute-header.m4.
67701         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
67702         Add m4/libunistring-base.m4.
67703         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67704         (Makefile.am): Build unicase.h from unicase.in.h.
67705         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
67706         Add m4/libunistring-base.m4.
67707         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67708         (Makefile.am): Build uniconv.h from uniconv.in.h.
67709         * modules/unictype/base (Files): Use unictype.in.h instead of
67710         unictype.h. Add m4/libunistring-base.m4.
67711         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67712         (Makefile.am): Build unictype.h from unictype.in.h.
67713         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
67714         Add m4/libunistring-base.m4.
67715         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67716         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
67717         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
67718         Add m4/libunistring-base.m4.
67719         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67720         (Makefile.am): Build uniname.h from uniname.in.h.
67721         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
67722         Add m4/libunistring-base.m4.
67723         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67724         (Makefile.am): Build uninorm.h from uninorm.in.h.
67725         * modules/unistdio/base (Files): Use unistdio.in.h instead of
67726         unistdio.h. Add m4/libunistring-base.m4.
67727         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67728         (Makefile.am): Build unistdio.h from unistdio.in.h.
67729         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
67730         Add m4/libunistring-base.m4.
67731         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67732         (Makefile.am): Build unistr.h from unistr.in.h.
67733         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
67734         Add m4/libunistring-base.m4.
67735         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67736         (Makefile.am): Build unitypes.h from unitypes.in.h.
67737         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
67738         Add m4/libunistring-base.m4.
67739         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67740         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
67741         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
67742         uniwidth.h. Add m4/libunistring-base.m4.
67743         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67744         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
67745         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
67746         instead of augmenting lib_SOURCES.
67747         * modules/unicase/empty-suffix-context: Likewise.
67748         * modules/unicase/locale-language: Likewise.
67749         * modules/unicase/tolower: Likewise.
67750         * modules/unicase/totitle: Likewise.
67751         * modules/unicase/toupper: Likewise.
67752         * modules/unicase/u8-casecmp: Likewise.
67753         * modules/unicase/u8-casecoll: Likewise.
67754         * modules/unicase/u8-casefold: Likewise.
67755         * modules/unicase/u8-casexfrm: Likewise.
67756         * modules/unicase/u8-ct-casefold: Likewise.
67757         * modules/unicase/u8-ct-tolower: Likewise.
67758         * modules/unicase/u8-ct-totitle: Likewise.
67759         * modules/unicase/u8-ct-toupper: Likewise.
67760         * modules/unicase/u8-is-cased: Likewise.
67761         * modules/unicase/u8-is-casefolded: Likewise.
67762         * modules/unicase/u8-is-lowercase: Likewise.
67763         * modules/unicase/u8-is-titlecase: Likewise.
67764         * modules/unicase/u8-is-uppercase: Likewise.
67765         * modules/unicase/u8-prefix-context: Likewise.
67766         * modules/unicase/u8-suffix-context: Likewise.
67767         * modules/unicase/u8-tolower: Likewise.
67768         * modules/unicase/u8-totitle: Likewise.
67769         * modules/unicase/u8-toupper: Likewise.
67770         * modules/unicase/u16-casecmp: Likewise.
67771         * modules/unicase/u16-casecoll: Likewise.
67772         * modules/unicase/u16-casefold: Likewise.
67773         * modules/unicase/u16-casexfrm: Likewise.
67774         * modules/unicase/u16-ct-casefold: Likewise.
67775         * modules/unicase/u16-ct-tolower: Likewise.
67776         * modules/unicase/u16-ct-totitle: Likewise.
67777         * modules/unicase/u16-ct-toupper: Likewise.
67778         * modules/unicase/u16-is-cased: Likewise.
67779         * modules/unicase/u16-is-casefolded: Likewise.
67780         * modules/unicase/u16-is-lowercase: Likewise.
67781         * modules/unicase/u16-is-titlecase: Likewise.
67782         * modules/unicase/u16-is-uppercase: Likewise.
67783         * modules/unicase/u16-prefix-context: Likewise.
67784         * modules/unicase/u16-suffix-context: Likewise.
67785         * modules/unicase/u16-tolower: Likewise.
67786         * modules/unicase/u16-totitle: Likewise.
67787         * modules/unicase/u16-toupper: Likewise.
67788         * modules/unicase/u32-casecmp: Likewise.
67789         * modules/unicase/u32-casecoll: Likewise.
67790         * modules/unicase/u32-casefold: Likewise.
67791         * modules/unicase/u32-casexfrm: Likewise.
67792         * modules/unicase/u32-ct-casefold: Likewise.
67793         * modules/unicase/u32-ct-tolower: Likewise.
67794         * modules/unicase/u32-ct-totitle: Likewise.
67795         * modules/unicase/u32-ct-toupper: Likewise.
67796         * modules/unicase/u32-is-cased: Likewise.
67797         * modules/unicase/u32-is-casefolded: Likewise.
67798         * modules/unicase/u32-is-lowercase: Likewise.
67799         * modules/unicase/u32-is-titlecase: Likewise.
67800         * modules/unicase/u32-is-uppercase: Likewise.
67801         * modules/unicase/u32-prefix-context: Likewise.
67802         * modules/unicase/u32-suffix-context: Likewise.
67803         * modules/unicase/u32-tolower: Likewise.
67804         * modules/unicase/u32-totitle: Likewise.
67805         * modules/unicase/u32-toupper: Likewise.
67806         * modules/unicase/ulc-casecmp: Likewise.
67807         * modules/unicase/ulc-casecoll: Likewise.
67808         * modules/unicase/ulc-casexfrm: Likewise.
67809         * modules/uniconv/u8-conv-from-enc: Likewise.
67810         * modules/uniconv/u8-conv-to-enc: Likewise.
67811         * modules/uniconv/u8-strconv-from-enc: Likewise.
67812         * modules/uniconv/u8-strconv-from-locale: Likewise.
67813         * modules/uniconv/u8-strconv-to-enc: Likewise.
67814         * modules/uniconv/u8-strconv-to-locale: Likewise.
67815         * modules/uniconv/u16-conv-from-enc: Likewise.
67816         * modules/uniconv/u16-conv-to-enc: Likewise.
67817         * modules/uniconv/u16-strconv-from-enc: Likewise.
67818         * modules/uniconv/u16-strconv-from-locale: Likewise.
67819         * modules/uniconv/u16-strconv-to-enc: Likewise.
67820         * modules/uniconv/u16-strconv-to-locale: Likewise.
67821         * modules/uniconv/u32-conv-from-enc: Likewise.
67822         * modules/uniconv/u32-conv-to-enc: Likewise.
67823         * modules/uniconv/u32-strconv-from-enc: Likewise.
67824         * modules/uniconv/u32-strconv-from-locale: Likewise.
67825         * modules/uniconv/u32-strconv-to-enc: Likewise.
67826         * modules/uniconv/u32-strconv-to-locale: Likewise.
67827         * modules/unictype/bidicategory-byname: Likewise.
67828         * modules/unictype/bidicategory-name: Likewise.
67829         * modules/unictype/bidicategory-of: Likewise.
67830         * modules/unictype/bidicategory-test: Likewise.
67831         * modules/unictype/block-list: Likewise.
67832         * modules/unictype/block-test: Likewise.
67833         * modules/unictype/category-C: Likewise.
67834         * modules/unictype/category-Cc: Likewise.
67835         * modules/unictype/category-Cf: Likewise.
67836         * modules/unictype/category-Cn: Likewise.
67837         * modules/unictype/category-Co: Likewise.
67838         * modules/unictype/category-Cs: Likewise.
67839         * modules/unictype/category-L: Likewise.
67840         * modules/unictype/category-Ll: Likewise.
67841         * modules/unictype/category-Lm: Likewise.
67842         * modules/unictype/category-Lo: Likewise.
67843         * modules/unictype/category-Lt: Likewise.
67844         * modules/unictype/category-Lu: Likewise.
67845         * modules/unictype/category-M: Likewise.
67846         * modules/unictype/category-Mc: Likewise.
67847         * modules/unictype/category-Me: Likewise.
67848         * modules/unictype/category-Mn: Likewise.
67849         * modules/unictype/category-N: Likewise.
67850         * modules/unictype/category-Nd: Likewise.
67851         * modules/unictype/category-Nl: Likewise.
67852         * modules/unictype/category-No: Likewise.
67853         * modules/unictype/category-P: Likewise.
67854         * modules/unictype/category-Pc: Likewise.
67855         * modules/unictype/category-Pd: Likewise.
67856         * modules/unictype/category-Pe: Likewise.
67857         * modules/unictype/category-Pf: Likewise.
67858         * modules/unictype/category-Pi: Likewise.
67859         * modules/unictype/category-Po: Likewise.
67860         * modules/unictype/category-Ps: Likewise.
67861         * modules/unictype/category-S: Likewise.
67862         * modules/unictype/category-Sc: Likewise.
67863         * modules/unictype/category-Sk: Likewise.
67864         * modules/unictype/category-Sm: Likewise.
67865         * modules/unictype/category-So: Likewise.
67866         * modules/unictype/category-Z: Likewise.
67867         * modules/unictype/category-Zl: Likewise.
67868         * modules/unictype/category-Zp: Likewise.
67869         * modules/unictype/category-Zs: Likewise.
67870         * modules/unictype/category-and: Likewise.
67871         * modules/unictype/category-and-not: Likewise.
67872         * modules/unictype/category-byname: Likewise.
67873         * modules/unictype/category-name: Likewise.
67874         * modules/unictype/category-none: Likewise.
67875         * modules/unictype/category-of: Likewise.
67876         * modules/unictype/category-or: Likewise.
67877         * modules/unictype/category-test: Likewise.
67878         * modules/unictype/combining-class: Likewise.
67879         * modules/unictype/ctype-alnum: Likewise.
67880         * modules/unictype/ctype-alpha: Likewise.
67881         * modules/unictype/ctype-blank: Likewise.
67882         * modules/unictype/ctype-cntrl: Likewise.
67883         * modules/unictype/ctype-digit: Likewise.
67884         * modules/unictype/ctype-graph: Likewise.
67885         * modules/unictype/ctype-lower: Likewise.
67886         * modules/unictype/ctype-print: Likewise.
67887         * modules/unictype/ctype-punct: Likewise.
67888         * modules/unictype/ctype-space: Likewise.
67889         * modules/unictype/ctype-upper: Likewise.
67890         * modules/unictype/ctype-xdigit: Likewise.
67891         * modules/unictype/decimal-digit: Likewise.
67892         * modules/unictype/digit: Likewise.
67893         * modules/unictype/mirror: Likewise.
67894         * modules/unictype/numeric: Likewise.
67895         * modules/unictype/property-alphabetic: Likewise.
67896         * modules/unictype/property-ascii-hex-digit: Likewise.
67897         * modules/unictype/property-bidi-arabic-digit: Likewise.
67898         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
67899         * modules/unictype/property-bidi-block-separator: Likewise.
67900         * modules/unictype/property-bidi-boundary-neutral: Likewise.
67901         * modules/unictype/property-bidi-common-separator: Likewise.
67902         * modules/unictype/property-bidi-control: Likewise.
67903         * modules/unictype/property-bidi-embedding-or-override: Likewise.
67904         * modules/unictype/property-bidi-eur-num-separator: Likewise.
67905         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
67906         * modules/unictype/property-bidi-european-digit: Likewise.
67907         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
67908         * modules/unictype/property-bidi-left-to-right: Likewise.
67909         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
67910         * modules/unictype/property-bidi-other-neutral: Likewise.
67911         * modules/unictype/property-bidi-pdf: Likewise.
67912         * modules/unictype/property-bidi-segment-separator: Likewise.
67913         * modules/unictype/property-bidi-whitespace: Likewise.
67914         * modules/unictype/property-byname: Likewise.
67915         * modules/unictype/property-combining: Likewise.
67916         * modules/unictype/property-composite: Likewise.
67917         * modules/unictype/property-currency-symbol: Likewise.
67918         * modules/unictype/property-dash: Likewise.
67919         * modules/unictype/property-decimal-digit: Likewise.
67920         * modules/unictype/property-default-ignorable-code-point: Likewise.
67921         * modules/unictype/property-deprecated: Likewise.
67922         * modules/unictype/property-diacritic: Likewise.
67923         * modules/unictype/property-extender: Likewise.
67924         * modules/unictype/property-format-control: Likewise.
67925         * modules/unictype/property-grapheme-base: Likewise.
67926         * modules/unictype/property-grapheme-extend: Likewise.
67927         * modules/unictype/property-grapheme-link: Likewise.
67928         * modules/unictype/property-hex-digit: Likewise.
67929         * modules/unictype/property-hyphen: Likewise.
67930         * modules/unictype/property-id-continue: Likewise.
67931         * modules/unictype/property-id-start: Likewise.
67932         * modules/unictype/property-ideographic: Likewise.
67933         * modules/unictype/property-ids-binary-operator: Likewise.
67934         * modules/unictype/property-ids-trinary-operator: Likewise.
67935         * modules/unictype/property-ignorable-control: Likewise.
67936         * modules/unictype/property-iso-control: Likewise.
67937         * modules/unictype/property-join-control: Likewise.
67938         * modules/unictype/property-left-of-pair: Likewise.
67939         * modules/unictype/property-line-separator: Likewise.
67940         * modules/unictype/property-logical-order-exception: Likewise.
67941         * modules/unictype/property-lowercase: Likewise.
67942         * modules/unictype/property-math: Likewise.
67943         * modules/unictype/property-non-break: Likewise.
67944         * modules/unictype/property-not-a-character: Likewise.
67945         * modules/unictype/property-numeric: Likewise.
67946         * modules/unictype/property-other-alphabetic: Likewise.
67947         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
67948         * modules/unictype/property-other-grapheme-extend: Likewise.
67949         * modules/unictype/property-other-id-continue: Likewise.
67950         * modules/unictype/property-other-id-start: Likewise.
67951         * modules/unictype/property-other-lowercase: Likewise.
67952         * modules/unictype/property-other-math: Likewise.
67953         * modules/unictype/property-other-uppercase: Likewise.
67954         * modules/unictype/property-paired-punctuation: Likewise.
67955         * modules/unictype/property-paragraph-separator: Likewise.
67956         * modules/unictype/property-pattern-syntax: Likewise.
67957         * modules/unictype/property-pattern-white-space: Likewise.
67958         * modules/unictype/property-private-use: Likewise.
67959         * modules/unictype/property-punctuation: Likewise.
67960         * modules/unictype/property-quotation-mark: Likewise.
67961         * modules/unictype/property-radical: Likewise.
67962         * modules/unictype/property-sentence-terminal: Likewise.
67963         * modules/unictype/property-soft-dotted: Likewise.
67964         * modules/unictype/property-space: Likewise.
67965         * modules/unictype/property-terminal-punctuation: Likewise.
67966         * modules/unictype/property-test: Likewise.
67967         * modules/unictype/property-titlecase: Likewise.
67968         * modules/unictype/property-unassigned-code-value: Likewise.
67969         * modules/unictype/property-unified-ideograph: Likewise.
67970         * modules/unictype/property-uppercase: Likewise.
67971         * modules/unictype/property-variation-selector: Likewise.
67972         * modules/unictype/property-white-space: Likewise.
67973         * modules/unictype/property-xid-continue: Likewise.
67974         * modules/unictype/property-xid-start: Likewise.
67975         * modules/unictype/property-zero-width: Likewise.
67976         * modules/unictype/scripts: Likewise.
67977         * modules/unictype/syntax-c-ident: Likewise.
67978         * modules/unictype/syntax-c-whitespace: Likewise.
67979         * modules/unictype/syntax-java-ident: Likewise.
67980         * modules/unictype/syntax-java-whitespace: Likewise.
67981         * modules/unilbrk/u8-possible-linebreaks: Likewise.
67982         * modules/unilbrk/u8-width-linebreaks: Likewise.
67983         * modules/unilbrk/u16-possible-linebreaks: Likewise.
67984         * modules/unilbrk/u16-width-linebreaks: Likewise.
67985         * modules/unilbrk/u32-possible-linebreaks: Likewise.
67986         * modules/unilbrk/u32-width-linebreaks: Likewise.
67987         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
67988         * modules/unilbrk/ulc-width-linebreaks: Likewise.
67989         * modules/uniname/uniname: Likewise.
67990         * modules/uninorm/canonical-decomposition: Likewise.
67991         * modules/uninorm/composition: Likewise.
67992         * modules/uninorm/decomposing-form: Likewise.
67993         * modules/uninorm/decomposition: Likewise.
67994         * modules/uninorm/filter: Likewise.
67995         * modules/uninorm/nfc: Likewise.
67996         * modules/uninorm/nfd: Likewise.
67997         * modules/uninorm/nfkc: Likewise.
67998         * modules/uninorm/nfkd: Likewise.
67999         * modules/uninorm/u8-normalize: Likewise.
68000         * modules/uninorm/u8-normcmp: Likewise.
68001         * modules/uninorm/u8-normcoll: Likewise.
68002         * modules/uninorm/u8-normxfrm: Likewise.
68003         * modules/uninorm/u16-normalize: Likewise.
68004         * modules/uninorm/u16-normcmp: Likewise.
68005         * modules/uninorm/u16-normcoll: Likewise.
68006         * modules/uninorm/u16-normxfrm: Likewise.
68007         * modules/uninorm/u32-normalize: Likewise.
68008         * modules/uninorm/u32-normcmp: Likewise.
68009         * modules/uninorm/u32-normcoll: Likewise.
68010         * modules/uninorm/u32-normxfrm: Likewise.
68011         * modules/unistdio/u8-asnprintf: Likewise.
68012         * modules/unistdio/u8-asprintf: Likewise.
68013         * modules/unistdio/u8-snprintf: Likewise.
68014         * modules/unistdio/u8-sprintf: Likewise.
68015         * modules/unistdio/u8-u8-asnprintf: Likewise.
68016         * modules/unistdio/u8-u8-asprintf: Likewise.
68017         * modules/unistdio/u8-u8-snprintf: Likewise.
68018         * modules/unistdio/u8-u8-sprintf: Likewise.
68019         * modules/unistdio/u8-u8-vasnprintf: Likewise.
68020         * modules/unistdio/u8-u8-vasprintf: Likewise.
68021         * modules/unistdio/u8-u8-vsnprintf: Likewise.
68022         * modules/unistdio/u8-u8-vsprintf: Likewise.
68023         * modules/unistdio/u8-vasnprintf: Likewise.
68024         * modules/unistdio/u8-vasprintf: Likewise.
68025         * modules/unistdio/u8-vsnprintf: Likewise.
68026         * modules/unistdio/u8-vsprintf: Likewise.
68027         * modules/unistdio/u16-asnprintf: Likewise.
68028         * modules/unistdio/u16-asprintf: Likewise.
68029         * modules/unistdio/u16-snprintf: Likewise.
68030         * modules/unistdio/u16-sprintf: Likewise.
68031         * modules/unistdio/u16-u16-asnprintf: Likewise.
68032         * modules/unistdio/u16-u16-asprintf: Likewise.
68033         * modules/unistdio/u16-u16-snprintf: Likewise.
68034         * modules/unistdio/u16-u16-sprintf: Likewise.
68035         * modules/unistdio/u16-u16-vasnprintf: Likewise.
68036         * modules/unistdio/u16-u16-vasprintf: Likewise.
68037         * modules/unistdio/u16-u16-vsnprintf: Likewise.
68038         * modules/unistdio/u16-u16-vsprintf: Likewise.
68039         * modules/unistdio/u16-vasnprintf: Likewise.
68040         * modules/unistdio/u16-vasprintf: Likewise.
68041         * modules/unistdio/u16-vsnprintf: Likewise.
68042         * modules/unistdio/u16-vsprintf: Likewise.
68043         * modules/unistdio/u32-asnprintf: Likewise.
68044         * modules/unistdio/u32-asprintf: Likewise.
68045         * modules/unistdio/u32-snprintf: Likewise.
68046         * modules/unistdio/u32-sprintf: Likewise.
68047         * modules/unistdio/u32-u32-asnprintf: Likewise.
68048         * modules/unistdio/u32-u32-asprintf: Likewise.
68049         * modules/unistdio/u32-u32-snprintf: Likewise.
68050         * modules/unistdio/u32-u32-sprintf: Likewise.
68051         * modules/unistdio/u32-u32-vasnprintf: Likewise.
68052         * modules/unistdio/u32-u32-vasprintf: Likewise.
68053         * modules/unistdio/u32-u32-vsnprintf: Likewise.
68054         * modules/unistdio/u32-u32-vsprintf: Likewise.
68055         * modules/unistdio/u32-vasnprintf: Likewise.
68056         * modules/unistdio/u32-vasprintf: Likewise.
68057         * modules/unistdio/u32-vsnprintf: Likewise.
68058         * modules/unistdio/u32-vsprintf: Likewise.
68059         * modules/unistdio/ulc-asnprintf: Likewise.
68060         * modules/unistdio/ulc-asprintf: Likewise.
68061         * modules/unistdio/ulc-fprintf: Likewise.
68062         * modules/unistdio/ulc-snprintf: Likewise.
68063         * modules/unistdio/ulc-sprintf: Likewise.
68064         * modules/unistdio/ulc-vasnprintf: Likewise.
68065         * modules/unistdio/ulc-vasprintf: Likewise.
68066         * modules/unistdio/ulc-vfprintf: Likewise.
68067         * modules/unistdio/ulc-vsnprintf: Likewise.
68068         * modules/unistdio/ulc-vsprintf: Likewise.
68069         * modules/unistr/u8-check: Likewise.
68070         * modules/unistr/u8-chr: Likewise.
68071         * modules/unistr/u8-cmp: Likewise.
68072         * modules/unistr/u8-cmp2: Likewise.
68073         * modules/unistr/u8-cpy: Likewise.
68074         * modules/unistr/u8-cpy-alloc: Likewise.
68075         * modules/unistr/u8-endswith: Likewise.
68076         * modules/unistr/u8-mblen: Likewise.
68077         * modules/unistr/u8-mbsnlen: Likewise.
68078         * modules/unistr/u8-mbtouc: Likewise.
68079         * modules/unistr/u8-mbtouc-unsafe: Likewise.
68080         * modules/unistr/u8-mbtoucr: Likewise.
68081         * modules/unistr/u8-move: Likewise.
68082         * modules/unistr/u8-next: Likewise.
68083         * modules/unistr/u8-prev: Likewise.
68084         * modules/unistr/u8-set: Likewise.
68085         * modules/unistr/u8-startswith: Likewise.
68086         * modules/unistr/u8-stpcpy: Likewise.
68087         * modules/unistr/u8-stpncpy: Likewise.
68088         * modules/unistr/u8-strcat: Likewise.
68089         * modules/unistr/u8-strchr: Likewise.
68090         * modules/unistr/u8-strcmp: Likewise.
68091         * modules/unistr/u8-strcoll: Likewise.
68092         * modules/unistr/u8-strcpy: Likewise.
68093         * modules/unistr/u8-strcspn: Likewise.
68094         * modules/unistr/u8-strdup: Likewise.
68095         * modules/unistr/u8-strlen: Likewise.
68096         * modules/unistr/u8-strmblen: Likewise.
68097         * modules/unistr/u8-strmbtouc: Likewise.
68098         * modules/unistr/u8-strncat: Likewise.
68099         * modules/unistr/u8-strncmp: Likewise.
68100         * modules/unistr/u8-strncpy: Likewise.
68101         * modules/unistr/u8-strnlen: Likewise.
68102         * modules/unistr/u8-strpbrk: Likewise.
68103         * modules/unistr/u8-strrchr: Likewise.
68104         * modules/unistr/u8-strspn: Likewise.
68105         * modules/unistr/u8-strstr: Likewise.
68106         * modules/unistr/u8-strtok: Likewise.
68107         * modules/unistr/u8-to-u16: Likewise.
68108         * modules/unistr/u8-to-u32: Likewise.
68109         * modules/unistr/u8-uctomb: Likewise.
68110         * modules/unistr/u16-check: Likewise.
68111         * modules/unistr/u16-chr: Likewise.
68112         * modules/unistr/u16-cmp: Likewise.
68113         * modules/unistr/u16-cmp2: Likewise.
68114         * modules/unistr/u16-cpy: Likewise.
68115         * modules/unistr/u16-cpy-alloc: Likewise.
68116         * modules/unistr/u16-endswith: Likewise.
68117         * modules/unistr/u16-mblen: Likewise.
68118         * modules/unistr/u16-mbsnlen: Likewise.
68119         * modules/unistr/u16-mbtouc: Likewise.
68120         * modules/unistr/u16-mbtouc-unsafe: Likewise.
68121         * modules/unistr/u16-mbtoucr: Likewise.
68122         * modules/unistr/u16-move: Likewise.
68123         * modules/unistr/u16-next: Likewise.
68124         * modules/unistr/u16-prev: Likewise.
68125         * modules/unistr/u16-set: Likewise.
68126         * modules/unistr/u16-startswith: Likewise.
68127         * modules/unistr/u16-stpcpy: Likewise.
68128         * modules/unistr/u16-stpncpy: Likewise.
68129         * modules/unistr/u16-strcat: Likewise.
68130         * modules/unistr/u16-strchr: Likewise.
68131         * modules/unistr/u16-strcmp: Likewise.
68132         * modules/unistr/u16-strcoll: Likewise.
68133         * modules/unistr/u16-strcpy: Likewise.
68134         * modules/unistr/u16-strcspn: Likewise.
68135         * modules/unistr/u16-strdup: Likewise.
68136         * modules/unistr/u16-strlen: Likewise.
68137         * modules/unistr/u16-strmblen: Likewise.
68138         * modules/unistr/u16-strmbtouc: Likewise.
68139         * modules/unistr/u16-strncat: Likewise.
68140         * modules/unistr/u16-strncmp: Likewise.
68141         * modules/unistr/u16-strncpy: Likewise.
68142         * modules/unistr/u16-strnlen: Likewise.
68143         * modules/unistr/u16-strpbrk: Likewise.
68144         * modules/unistr/u16-strrchr: Likewise.
68145         * modules/unistr/u16-strspn: Likewise.
68146         * modules/unistr/u16-strstr: Likewise.
68147         * modules/unistr/u16-strtok: Likewise.
68148         * modules/unistr/u16-to-u32: Likewise.
68149         * modules/unistr/u16-to-u8: Likewise.
68150         * modules/unistr/u16-uctomb: Likewise.
68151         * modules/unistr/u32-check: Likewise.
68152         * modules/unistr/u32-chr: Likewise.
68153         * modules/unistr/u32-cmp: Likewise.
68154         * modules/unistr/u32-cmp2: Likewise.
68155         * modules/unistr/u32-cpy: Likewise.
68156         * modules/unistr/u32-cpy-alloc: Likewise.
68157         * modules/unistr/u32-endswith: Likewise.
68158         * modules/unistr/u32-mblen: Likewise.
68159         * modules/unistr/u32-mbsnlen: Likewise.
68160         * modules/unistr/u32-mbtouc: Likewise.
68161         * modules/unistr/u32-mbtouc-unsafe: Likewise.
68162         * modules/unistr/u32-mbtoucr: Likewise.
68163         * modules/unistr/u32-move: Likewise.
68164         * modules/unistr/u32-next: Likewise.
68165         * modules/unistr/u32-prev: Likewise.
68166         * modules/unistr/u32-set: Likewise.
68167         * modules/unistr/u32-startswith: Likewise.
68168         * modules/unistr/u32-stpcpy: Likewise.
68169         * modules/unistr/u32-stpncpy: Likewise.
68170         * modules/unistr/u32-strcat: Likewise.
68171         * modules/unistr/u32-strchr: Likewise.
68172         * modules/unistr/u32-strcmp: Likewise.
68173         * modules/unistr/u32-strcoll: Likewise.
68174         * modules/unistr/u32-strcpy: Likewise.
68175         * modules/unistr/u32-strcspn: Likewise.
68176         * modules/unistr/u32-strdup: Likewise.
68177         * modules/unistr/u32-strlen: Likewise.
68178         * modules/unistr/u32-strmblen: Likewise.
68179         * modules/unistr/u32-strmbtouc: Likewise.
68180         * modules/unistr/u32-strncat: Likewise.
68181         * modules/unistr/u32-strncmp: Likewise.
68182         * modules/unistr/u32-strncpy: Likewise.
68183         * modules/unistr/u32-strnlen: Likewise.
68184         * modules/unistr/u32-strpbrk: Likewise.
68185         * modules/unistr/u32-strrchr: Likewise.
68186         * modules/unistr/u32-strspn: Likewise.
68187         * modules/unistr/u32-strstr: Likewise.
68188         * modules/unistr/u32-strtok: Likewise.
68189         * modules/unistr/u32-to-u16: Likewise.
68190         * modules/unistr/u32-to-u8: Likewise.
68191         * modules/unistr/u32-uctomb: Likewise.
68192         * modules/uniwbrk/u8-wordbreaks: Likewise.
68193         * modules/uniwbrk/u16-wordbreaks: Likewise.
68194         * modules/uniwbrk/u32-wordbreaks: Likewise.
68195         * modules/uniwbrk/ulc-wordbreaks: Likewise.
68196         * modules/uniwbrk/wordbreak-property: Likewise.
68197         * modules/uniwidth/u8-strwidth: Likewise.
68198         * modules/uniwidth/u8-width: Likewise.
68199         * modules/uniwidth/u16-strwidth: Likewise.
68200         * modules/uniwidth/u16-width: Likewise.
68201         * modules/uniwidth/u32-strwidth: Likewise.
68202         * modules/uniwidth/u32-width: Likewise.
68203         * modules/uniwidth/width: Likewise.
68204         * modules/unicase/cased-tests (Makefile.am): Link all test programs
68205         with $(LIBUNISTRING).
68206         * modules/unicase/ignorable-tests: Likewise.
68207         * modules/unicase/locale-language-tests: Likewise.
68208         * modules/unicase/tolower-tests: Likewise.
68209         * modules/unicase/totitle-tests: Likewise.
68210         * modules/unicase/toupper-tests: Likewise.
68211         * modules/unicase/u8-casecmp-tests: Likewise.
68212         * modules/unicase/u8-casecoll-tests: Likewise.
68213         * modules/unicase/u8-casefold-tests: Likewise.
68214         * modules/unicase/u8-is-cased-tests: Likewise.
68215         * modules/unicase/u8-is-casefolded-tests: Likewise.
68216         * modules/unicase/u8-is-lowercase-tests: Likewise.
68217         * modules/unicase/u8-is-titlecase-tests: Likewise.
68218         * modules/unicase/u8-is-uppercase-tests: Likewise.
68219         * modules/unicase/u8-tolower-tests: Likewise.
68220         * modules/unicase/u8-totitle-tests: Likewise.
68221         * modules/unicase/u8-toupper-tests: Likewise.
68222         * modules/unicase/u16-casecmp-tests: Likewise.
68223         * modules/unicase/u16-casecoll-tests: Likewise.
68224         * modules/unicase/u16-casefold-tests: Likewise.
68225         * modules/unicase/u16-is-cased-tests: Likewise.
68226         * modules/unicase/u16-is-casefolded-tests: Likewise.
68227         * modules/unicase/u16-is-lowercase-tests: Likewise.
68228         * modules/unicase/u16-is-titlecase-tests: Likewise.
68229         * modules/unicase/u16-is-uppercase-tests: Likewise.
68230         * modules/unicase/u16-tolower-tests: Likewise.
68231         * modules/unicase/u16-totitle-tests: Likewise.
68232         * modules/unicase/u16-toupper-tests: Likewise.
68233         * modules/unicase/u32-casecmp-tests: Likewise.
68234         * modules/unicase/u32-casecoll-tests: Likewise.
68235         * modules/unicase/u32-casefold-tests: Likewise.
68236         * modules/unicase/u32-is-cased-tests: Likewise.
68237         * modules/unicase/u32-is-casefolded-tests: Likewise.
68238         * modules/unicase/u32-is-lowercase-tests: Likewise.
68239         * modules/unicase/u32-is-titlecase-tests: Likewise.
68240         * modules/unicase/u32-is-uppercase-tests: Likewise.
68241         * modules/unicase/u32-tolower-tests: Likewise.
68242         * modules/unicase/u32-totitle-tests: Likewise.
68243         * modules/unicase/u32-toupper-tests: Likewise.
68244         * modules/unicase/ulc-casecmp-tests: Likewise.
68245         * modules/unicase/ulc-casecoll-tests: Likewise.
68246         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
68247         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
68248         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
68249         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
68250         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
68251         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
68252         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
68253         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
68254         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
68255         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
68256         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
68257         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
68258         * modules/unictype/bidicategory-byname-tests: Likewise.
68259         * modules/unictype/bidicategory-name-tests: Likewise.
68260         * modules/unictype/bidicategory-of-tests: Likewise.
68261         * modules/unictype/bidicategory-test-tests: Likewise.
68262         * modules/unictype/block-list-tests: Likewise.
68263         * modules/unictype/block-of-tests: Likewise.
68264         * modules/unictype/block-test-tests: Likewise.
68265         * modules/unictype/category-C-tests: Likewise.
68266         * modules/unictype/category-Cc-tests: Likewise.
68267         * modules/unictype/category-Cf-tests: Likewise.
68268         * modules/unictype/category-Cn-tests: Likewise.
68269         * modules/unictype/category-Co-tests: Likewise.
68270         * modules/unictype/category-Cs-tests: Likewise.
68271         * modules/unictype/category-L-tests: Likewise.
68272         * modules/unictype/category-Ll-tests: Likewise.
68273         * modules/unictype/category-Lm-tests: Likewise.
68274         * modules/unictype/category-Lo-tests: Likewise.
68275         * modules/unictype/category-Lt-tests: Likewise.
68276         * modules/unictype/category-Lu-tests: Likewise.
68277         * modules/unictype/category-M-tests: Likewise.
68278         * modules/unictype/category-Mc-tests: Likewise.
68279         * modules/unictype/category-Me-tests: Likewise.
68280         * modules/unictype/category-Mn-tests: Likewise.
68281         * modules/unictype/category-N-tests: Likewise.
68282         * modules/unictype/category-Nd-tests: Likewise.
68283         * modules/unictype/category-Nl-tests: Likewise.
68284         * modules/unictype/category-No-tests: Likewise.
68285         * modules/unictype/category-P-tests: Likewise.
68286         * modules/unictype/category-Pc-tests: Likewise.
68287         * modules/unictype/category-Pd-tests: Likewise.
68288         * modules/unictype/category-Pe-tests: Likewise.
68289         * modules/unictype/category-Pf-tests: Likewise.
68290         * modules/unictype/category-Pi-tests: Likewise.
68291         * modules/unictype/category-Po-tests: Likewise.
68292         * modules/unictype/category-Ps-tests: Likewise.
68293         * modules/unictype/category-S-tests: Likewise.
68294         * modules/unictype/category-Sc-tests: Likewise.
68295         * modules/unictype/category-Sk-tests: Likewise.
68296         * modules/unictype/category-Sm-tests: Likewise.
68297         * modules/unictype/category-So-tests: Likewise.
68298         * modules/unictype/category-Z-tests: Likewise.
68299         * modules/unictype/category-Zl-tests: Likewise.
68300         * modules/unictype/category-Zp-tests: Likewise.
68301         * modules/unictype/category-Zs-tests: Likewise.
68302         * modules/unictype/category-and-not-tests: Likewise.
68303         * modules/unictype/category-and-tests: Likewise.
68304         * modules/unictype/category-byname-tests: Likewise.
68305         * modules/unictype/category-name-tests: Likewise.
68306         * modules/unictype/category-none-tests: Likewise.
68307         * modules/unictype/category-of-tests: Likewise.
68308         * modules/unictype/category-or-tests: Likewise.
68309         * modules/unictype/category-test-withtable-tests: Likewise.
68310         * modules/unictype/combining-class-tests: Likewise.
68311         * modules/unictype/ctype-alnum-tests: Likewise.
68312         * modules/unictype/ctype-alpha-tests: Likewise.
68313         * modules/unictype/ctype-blank-tests: Likewise.
68314         * modules/unictype/ctype-cntrl-tests: Likewise.
68315         * modules/unictype/ctype-digit-tests: Likewise.
68316         * modules/unictype/ctype-graph-tests: Likewise.
68317         * modules/unictype/ctype-lower-tests: Likewise.
68318         * modules/unictype/ctype-print-tests: Likewise.
68319         * modules/unictype/ctype-punct-tests: Likewise.
68320         * modules/unictype/ctype-space-tests: Likewise.
68321         * modules/unictype/ctype-upper-tests: Likewise.
68322         * modules/unictype/ctype-xdigit-tests: Likewise.
68323         * modules/unictype/decimal-digit-tests: Likewise.
68324         * modules/unictype/digit-tests: Likewise.
68325         * modules/unictype/mirror-tests: Likewise.
68326         * modules/unictype/numeric-tests: Likewise.
68327         * modules/unictype/property-alphabetic-tests: Likewise.
68328         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
68329         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
68330         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
68331         * modules/unictype/property-bidi-block-separator-tests: Likewise.
68332         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
68333         * modules/unictype/property-bidi-common-separator-tests: Likewise.
68334         * modules/unictype/property-bidi-control-tests: Likewise.
68335         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
68336         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
68337         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
68338         * modules/unictype/property-bidi-european-digit-tests: Likewise.
68339         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
68340         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
68341         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
68342         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
68343         * modules/unictype/property-bidi-pdf-tests: Likewise.
68344         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
68345         * modules/unictype/property-bidi-whitespace-tests: Likewise.
68346         * modules/unictype/property-byname-tests: Likewise.
68347         * modules/unictype/property-combining-tests: Likewise.
68348         * modules/unictype/property-composite-tests: Likewise.
68349         * modules/unictype/property-currency-symbol-tests: Likewise.
68350         * modules/unictype/property-dash-tests: Likewise.
68351         * modules/unictype/property-decimal-digit-tests: Likewise.
68352         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
68353         * modules/unictype/property-deprecated-tests: Likewise.
68354         * modules/unictype/property-diacritic-tests: Likewise.
68355         * modules/unictype/property-extender-tests: Likewise.
68356         * modules/unictype/property-format-control-tests: Likewise.
68357         * modules/unictype/property-grapheme-base-tests: Likewise.
68358         * modules/unictype/property-grapheme-extend-tests: Likewise.
68359         * modules/unictype/property-grapheme-link-tests: Likewise.
68360         * modules/unictype/property-hex-digit-tests: Likewise.
68361         * modules/unictype/property-hyphen-tests: Likewise.
68362         * modules/unictype/property-id-continue-tests: Likewise.
68363         * modules/unictype/property-id-start-tests: Likewise.
68364         * modules/unictype/property-ideographic-tests: Likewise.
68365         * modules/unictype/property-ids-binary-operator-tests: Likewise.
68366         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
68367         * modules/unictype/property-ignorable-control-tests: Likewise.
68368         * modules/unictype/property-iso-control-tests: Likewise.
68369         * modules/unictype/property-join-control-tests: Likewise.
68370         * modules/unictype/property-left-of-pair-tests: Likewise.
68371         * modules/unictype/property-line-separator-tests: Likewise.
68372         * modules/unictype/property-logical-order-exception-tests: Likewise.
68373         * modules/unictype/property-lowercase-tests: Likewise.
68374         * modules/unictype/property-math-tests: Likewise.
68375         * modules/unictype/property-non-break-tests: Likewise.
68376         * modules/unictype/property-not-a-character-tests: Likewise.
68377         * modules/unictype/property-numeric-tests: Likewise.
68378         * modules/unictype/property-other-alphabetic-tests: Likewise.
68379         * modules/unictype/property-other-default-ignorable-code-point-tests:
68380         Likewise.
68381         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
68382         * modules/unictype/property-other-id-continue-tests: Likewise.
68383         * modules/unictype/property-other-id-start-tests: Likewise.
68384         * modules/unictype/property-other-lowercase-tests: Likewise.
68385         * modules/unictype/property-other-math-tests: Likewise.
68386         * modules/unictype/property-other-uppercase-tests: Likewise.
68387         * modules/unictype/property-paired-punctuation-tests: Likewise.
68388         * modules/unictype/property-paragraph-separator-tests: Likewise.
68389         * modules/unictype/property-pattern-syntax-tests: Likewise.
68390         * modules/unictype/property-pattern-white-space-tests: Likewise.
68391         * modules/unictype/property-private-use-tests: Likewise.
68392         * modules/unictype/property-punctuation-tests: Likewise.
68393         * modules/unictype/property-quotation-mark-tests: Likewise.
68394         * modules/unictype/property-radical-tests: Likewise.
68395         * modules/unictype/property-sentence-terminal-tests: Likewise.
68396         * modules/unictype/property-soft-dotted-tests: Likewise.
68397         * modules/unictype/property-space-tests: Likewise.
68398         * modules/unictype/property-terminal-punctuation-tests: Likewise.
68399         * modules/unictype/property-test-tests: Likewise.
68400         * modules/unictype/property-titlecase-tests: Likewise.
68401         * modules/unictype/property-unassigned-code-value-tests: Likewise.
68402         * modules/unictype/property-unified-ideograph-tests: Likewise.
68403         * modules/unictype/property-uppercase-tests: Likewise.
68404         * modules/unictype/property-variation-selector-tests: Likewise.
68405         * modules/unictype/property-white-space-tests: Likewise.
68406         * modules/unictype/property-xid-continue-tests: Likewise.
68407         * modules/unictype/property-xid-start-tests: Likewise.
68408         * modules/unictype/property-zero-width-tests: Likewise.
68409         * modules/unictype/scripts-tests: Likewise.
68410         * modules/unictype/syntax-c-ident-tests: Likewise.
68411         * modules/unictype/syntax-c-whitespace-tests: Likewise.
68412         * modules/unictype/syntax-java-ident-tests: Likewise.
68413         * modules/unictype/syntax-java-whitespace-tests: Likewise.
68414         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
68415         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
68416         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
68417         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
68418         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
68419         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
68420         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
68421         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
68422         * modules/uniname/uniname-tests: Likewise.
68423         * modules/uninorm/canonical-decomposition-tests: Likewise.
68424         * modules/uninorm/compat-decomposition-tests: Likewise.
68425         * modules/uninorm/composition-tests: Likewise.
68426         * modules/uninorm/decomposing-form-tests: Likewise.
68427         * modules/uninorm/decomposition-tests: Likewise.
68428         * modules/uninorm/filter-tests: Likewise.
68429         * modules/uninorm/nfc-tests: Likewise.
68430         * modules/uninorm/nfd-tests: Likewise.
68431         * modules/uninorm/nfkc-tests: Likewise.
68432         * modules/uninorm/nfkd-tests: Likewise.
68433         * modules/uninorm/u8-normcmp-tests: Likewise.
68434         * modules/uninorm/u8-normcoll-tests: Likewise.
68435         * modules/uninorm/u16-normcmp-tests: Likewise.
68436         * modules/uninorm/u16-normcoll-tests: Likewise.
68437         * modules/uninorm/u32-normcmp-tests: Likewise.
68438         * modules/uninorm/u32-normcoll-tests: Likewise.
68439         * modules/unistdio/u8-asnprintf-tests: Likewise.
68440         * modules/unistdio/u8-vasnprintf-tests: Likewise.
68441         * modules/unistdio/u8-vasprintf-tests: Likewise.
68442         * modules/unistdio/u8-vsnprintf-tests: Likewise.
68443         * modules/unistdio/u8-vsprintf-tests: Likewise.
68444         * modules/unistdio/u16-asnprintf-tests: Likewise.
68445         * modules/unistdio/u16-vasnprintf-tests: Likewise.
68446         * modules/unistdio/u16-vasprintf-tests: Likewise.
68447         * modules/unistdio/u16-vsnprintf-tests: Likewise.
68448         * modules/unistdio/u16-vsprintf-tests: Likewise.
68449         * modules/unistdio/u32-asnprintf-tests: Likewise.
68450         * modules/unistdio/u32-vasnprintf-tests: Likewise.
68451         * modules/unistdio/u32-vasprintf-tests: Likewise.
68452         * modules/unistdio/u32-vsnprintf-tests: Likewise.
68453         * modules/unistdio/u32-vsprintf-tests: Likewise.
68454         * modules/unistdio/ulc-asnprintf-tests: Likewise.
68455         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
68456         * modules/unistdio/ulc-vasprintf-tests: Likewise.
68457         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
68458         * modules/unistdio/ulc-vsprintf-tests: Likewise.
68459         * modules/unistr/u8-check-tests: Likewise.
68460         * modules/unistr/u8-chr-tests: Likewise.
68461         * modules/unistr/u8-cmp-tests: Likewise.
68462         * modules/unistr/u8-cmp2-tests: Likewise.
68463         * modules/unistr/u8-cpy-alloc-tests: Likewise.
68464         * modules/unistr/u8-cpy-tests: Likewise.
68465         * modules/unistr/u8-mblen-tests: Likewise.
68466         * modules/unistr/u8-mbsnlen-tests: Likewise.
68467         * modules/unistr/u8-mbtouc-tests: Likewise.
68468         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
68469         * modules/unistr/u8-mbtoucr-tests: Likewise.
68470         * modules/unistr/u8-move-tests: Likewise.
68471         * modules/unistr/u8-next-tests: Likewise.
68472         * modules/unistr/u8-prev-tests: Likewise.
68473         * modules/unistr/u8-set-tests: Likewise.
68474         * modules/unistr/u8-stpcpy-tests: Likewise.
68475         * modules/unistr/u8-stpncpy-tests: Likewise.
68476         * modules/unistr/u8-strcat-tests: Likewise.
68477         * modules/unistr/u8-strcmp-tests: Likewise.
68478         * modules/unistr/u8-strcoll-tests: Likewise.
68479         * modules/unistr/u8-strcpy-tests: Likewise.
68480         * modules/unistr/u8-strdup-tests: Likewise.
68481         * modules/unistr/u8-strlen-tests: Likewise.
68482         * modules/unistr/u8-strmblen-tests: Likewise.
68483         * modules/unistr/u8-strmbtouc-tests: Likewise.
68484         * modules/unistr/u8-strncat-tests: Likewise.
68485         * modules/unistr/u8-strncmp-tests: Likewise.
68486         * modules/unistr/u8-strncpy-tests: Likewise.
68487         * modules/unistr/u8-strnlen-tests: Likewise.
68488         * modules/unistr/u8-to-u16-tests: Likewise.
68489         * modules/unistr/u8-to-u32-tests: Likewise.
68490         * modules/unistr/u8-uctomb-tests: Likewise.
68491         * modules/unistr/u16-check-tests: Likewise.
68492         * modules/unistr/u16-chr-tests: Likewise.
68493         * modules/unistr/u16-cmp-tests: Likewise.
68494         * modules/unistr/u16-cmp2-tests: Likewise.
68495         * modules/unistr/u16-cpy-alloc-tests: Likewise.
68496         * modules/unistr/u16-cpy-tests: Likewise.
68497         * modules/unistr/u16-mblen-tests: Likewise.
68498         * modules/unistr/u16-mbsnlen-tests: Likewise.
68499         * modules/unistr/u16-mbtouc-tests: Likewise.
68500         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
68501         * modules/unistr/u16-mbtoucr-tests: Likewise.
68502         * modules/unistr/u16-move-tests: Likewise.
68503         * modules/unistr/u16-next-tests: Likewise.
68504         * modules/unistr/u16-prev-tests: Likewise.
68505         * modules/unistr/u16-set-tests: Likewise.
68506         * modules/unistr/u16-stpcpy-tests: Likewise.
68507         * modules/unistr/u16-stpncpy-tests: Likewise.
68508         * modules/unistr/u16-strcat-tests: Likewise.
68509         * modules/unistr/u16-strcmp-tests: Likewise.
68510         * modules/unistr/u16-strcoll-tests: Likewise.
68511         * modules/unistr/u16-strcpy-tests: Likewise.
68512         * modules/unistr/u16-strdup-tests: Likewise.
68513         * modules/unistr/u16-strlen-tests: Likewise.
68514         * modules/unistr/u16-strmblen-tests: Likewise.
68515         * modules/unistr/u16-strmbtouc-tests: Likewise.
68516         * modules/unistr/u16-strncat-tests: Likewise.
68517         * modules/unistr/u16-strncmp-tests: Likewise.
68518         * modules/unistr/u16-strncpy-tests: Likewise.
68519         * modules/unistr/u16-strnlen-tests: Likewise.
68520         * modules/unistr/u16-to-u32-tests: Likewise.
68521         * modules/unistr/u16-to-u8-tests: Likewise.
68522         * modules/unistr/u16-uctomb-tests: Likewise.
68523         * modules/unistr/u32-check-tests: Likewise.
68524         * modules/unistr/u32-chr-tests: Likewise.
68525         * modules/unistr/u32-cmp-tests: Likewise.
68526         * modules/unistr/u32-cmp2-tests: Likewise.
68527         * modules/unistr/u32-cpy-alloc-tests: Likewise.
68528         * modules/unistr/u32-cpy-tests: Likewise.
68529         * modules/unistr/u32-mblen-tests: Likewise.
68530         * modules/unistr/u32-mbsnlen-tests: Likewise.
68531         * modules/unistr/u32-mbtouc-tests: Likewise.
68532         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
68533         * modules/unistr/u32-mbtoucr-tests: Likewise.
68534         * modules/unistr/u32-move-tests: Likewise.
68535         * modules/unistr/u32-next-tests: Likewise.
68536         * modules/unistr/u32-prev-tests: Likewise.
68537         * modules/unistr/u32-set-tests: Likewise.
68538         * modules/unistr/u32-stpcpy-tests: Likewise.
68539         * modules/unistr/u32-stpncpy-tests: Likewise.
68540         * modules/unistr/u32-strcat-tests: Likewise.
68541         * modules/unistr/u32-strcmp-tests: Likewise.
68542         * modules/unistr/u32-strcoll-tests: Likewise.
68543         * modules/unistr/u32-strcpy-tests: Likewise.
68544         * modules/unistr/u32-strdup-tests: Likewise.
68545         * modules/unistr/u32-strlen-tests: Likewise.
68546         * modules/unistr/u32-strmblen-tests: Likewise.
68547         * modules/unistr/u32-strmbtouc-tests: Likewise.
68548         * modules/unistr/u32-strncat-tests: Likewise.
68549         * modules/unistr/u32-strncmp-tests: Likewise.
68550         * modules/unistr/u32-strncpy-tests: Likewise.
68551         * modules/unistr/u32-strnlen-tests: Likewise.
68552         * modules/unistr/u32-to-u16-tests: Likewise.
68553         * modules/unistr/u32-to-u8-tests: Likewise.
68554         * modules/unistr/u32-uctomb-tests: Likewise.
68555         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
68556         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
68557         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
68558         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
68559         * modules/uniwidth/u8-strwidth-tests: Likewise.
68560         * modules/uniwidth/u8-width-tests: Likewise.
68561         * modules/uniwidth/u16-strwidth-tests: Likewise.
68562         * modules/uniwidth/u16-width-tests: Likewise.
68563         * modules/uniwidth/u32-strwidth-tests: Likewise.
68564         * modules/uniwidth/u32-width-tests: Likewise.
68565         * modules/uniwidth/width-tests: Likewise.
68567 2010-05-18  Richard Jones  <rjones@redhat.com>
68569         doc: users.txt: list hivex
68570         * users.txt: Add hivex.
68572 2010-05-18  Richard Jones  <rjones@redhat.com>
68574         doc: users.txt: list febootstrap
68575         * users.txt: Add febootstrap.
68577 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
68579         bootstrap: fix an error when gnulib is not used as a git submodule
68580         * build-aux/bootstrap (gnulib_path): If its length is zero then
68581         assign "gnulib" to it.
68582         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
68584 2010-05-16  Bruno Haible  <bruno@clisp.org>
68586         Avoid autoconf warnings about AM_ICONV.
68587         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
68588         2.64.
68590 2010-05-16  Bruno Haible  <bruno@clisp.org>
68592         absolute-header: Make the macro usable in more situations.
68593         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
68594         from gl_ABSOLUTE_HEADER.
68595         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
68597 2010-05-16  James Youngman  <jay@gnu.org>
68599         doc: update users.txt
68600         * users.txt: Add CSSC.
68602 2010-05-16  Jim Meyering  <meyering@redhat.com>
68604         init.sh: fix an error in the previous change; add more comments
68605         * tests/init.sh: Compare exit code in loop against 9, not 2.
68606         Patch by Bruno Haible.
68607         Make the two tests more similar by adding an empty "then" clause.
68608         Add comments.
68610         init.sh: avoid unnecessary shell re-exec
68611         * tests/init.sh: Improve the re-exec-required check to first test the
68612         current shell.  If it passes the test, do not search for a shell that
68613         does pass, and do not re-exec.  This test is particularly contorted to
68614         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
68615         of $(...) evokes a syntax error and causes immediate shell exit with
68616         status 2.  Bruno Haible reported that the re-exec made it impossible
68617         to single-step through any init.sh-using script.
68619 2010-05-16  Bruno Haible  <bruno@clisp.org>
68621         Fix collision between gnulib's and libintl's printf replacements.
68622         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
68623         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
68624         (printf): When using GNU C, map the __printf__ function to rpl_printf
68625         via __asm__. When not using GNU C, define rpl_printf instead of
68626         __printf__.
68627         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
68628         commit.
68629         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
68630         commit.
68631         * m4/asm-underscore.m4: New file.
68632         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
68633         * modules/stdio (Files): Add m4/asm-underscore.m4.
68634         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
68635         Reported by Ben Pfaff.
68637 2010-05-16  Bruno Haible  <bruno@clisp.org>
68639         verify: Avoid skipping the test on openSUSE 11.0.
68640         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
68642 2010-05-13  Bruno Haible  <bruno@clisp.org>
68644         Avoid useless warnings from G++.
68645         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
68646         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
68647         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68649 2010-05-11  Jim Meyering  <meyering@redhat.com>
68651         maint.mk: tweak preceding change
68652         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
68653         regexps tighter by anchoring at EOL, and make the new group "shy"
68654         for slightly decreased overhead.
68656 2010-05-11  Eric Blake  <eblake@redhat.com>
68658         maint.mk: gnulib doesn't guarantee NSIG
68659         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
68661 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68663         test-pwrite.c: Remove unused variable declaration.
68664         * tests/test-pwrite.c (main): Remove read_buf declaration.
68666         Remove useless test-pwrite.sh file.
68667         * tests/test-pwrite.sh: Delete file.
68668         * modules/pwrite-tests: Remove references.
68669         Reported by Bruno Haible.
68671 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68673         init.sh: fix a typo
68674         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
68676 2010-05-10  Jim Meyering  <meyering@redhat.com>
68678         maint.mk: avoid using a temporary file in the always-defined-macros check
68679         * top/maint.mk (.re-defmac): Remove rule.
68680         (gl_trap_): Remove definition.
68681         (sc_prohibit_always-defined_macros): Rewrite not to create and
68682         depend on a temporary file.  Instead, depend on GNU grep's ability
68683         to read a list of regular expressions from stdin when given "-f -".
68685 2010-05-09  Bruno Haible  <bruno@clisp.org>
68687         Update to GNU gettext 0.18, part 1.
68688         * m4/gettext.m4: Update to GNU gettext 0.18.
68689         * m4/intl.m4: Likewise.
68690         * m4/po.m4: Likewise.
68691         * modules/gettext (Files): Add m4/fcntl-o.m4.
68692         (configure.ac): Require gettext infrastructure from version 0.18.
68694 2010-05-09  Jim Meyering  <meyering@redhat.com>
68696         init.sh: enable MALLOC_PERTURB_
68697         * tests/init.sh: Enable glibc's malloc-perturbing option.
68699         maint.mk: improve sc_cross_check_PATH_usage_in_tests
68700         With my recent change in init.sh from the two-line form:
68701             -#   : ${srcdir=.}
68702             -#   . "$srcdir/init.sh"; path_prepend_ .
68703             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
68704         I noticed that using the one-line form would cause this test
68705         to fail with a false-positive, or to stop working altogether,
68706         depending on whether help-version changed or all the tests did.
68707         * top/maint.mk (_hv_regex): Remove this definition.
68708         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
68709         (_hv_regex_strong): Use a stronger regex to check for conformance.
68710         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
68711         Give a separate diagnostic for lack of conforming use.
68713         maint.mk: prohibit definition of symbols defined by gnulib
68714         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
68715         definition of symbols defined by gnulib.
68717 2010-05-09  Bruno Haible  <bruno@clisp.org>
68719         acl: Avoid test failure on Cygwin-hosted mingw.
68720         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
68722 2010-05-09  Bruno Haible  <bruno@clisp.org>
68724         error: Use system's fcntl function.
68725         * lib/error.c (fcntl): Undefine.
68727 2010-05-09  Jim Meyering  <meyering@redhat.com>
68729         verify: adjust formatting to be more consistent
68730         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
68731         argument-list '('s, and after one comma.
68733 2010-05-09  Bruno Haible  <bruno@clisp.org>
68735         error: More reliable output on mingw.
68736         * lib/error.c: Include <windows.h>.
68737         (is_open): New function.
68738         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
68739         defined.
68741 2010-05-09  Bruno Haible  <bruno@clisp.org>
68743         vasnprintf: Fix syntax errors in libintl build on mingw.
68744         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
68745         pad_ourselves and prec_ourselves after use.
68747 2010-05-08  Bruno Haible  <bruno@clisp.org>
68749         * lib/config.charset: Update comments for Cygwin 1.7.
68750         * lib/localcharset.c: Likewise.
68752 2010-05-07  Jim Meyering  <meyering@redhat.com>
68754         init.sh: improve comments
68755         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
68756         . "${srcdir=.}/init.sh"; path_prepend_ .
68757         Add a note about path_prepend_ and the alternative of using
68758         TESTS_ENVIRONMENT.
68760 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
68762         exclude: Unescape hashed patterns in wildcard mode.
68763         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
68764         to the hash list.
68765         * tests/test-exclude8.sh: New test case.
68766         * modules/exclude-tests: Add new test.
68768 2010-05-05  Eric Blake  <eblake@redhat.com>
68770         verify: automate tests
68771         * modules/verify-tests: New module.
68772         * tests/test-verify.sh: New file.
68773         * tests/test-verify.c: Guard each negative test with a unique id.
68774         Also avoid warning about unused left hand of comma expressions.
68776 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68778         Further improvements to verify.h, suggested by Eric Blake.
68779         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
68780         the GL_* versions, to avoid collision with OpenGL.
68781         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
68782         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
68783         than testing merely whether it's defined.
68785         Modify verify.h to pacify gcc -Wredundant_decls.
68786         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
68787         These use the prefix "GL_" since they're likely to be useful elsewhere.
68788         We may need to break them out into a different .h file.
68789         (__COUNTER__): Define to 0 if the compiler doesn't support it.
68790         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
68791         of verify_function__.
68793 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68795         Tests for module pwrite.
68796         * modules/pwrite-tests: New file.
68797         * tests/test-pwrite.sh: New file.
68798         * tests/test-pwrite.c: New file.
68800         New module pwrite.
68801         * lib/unistd.in.h (pwrite): New declaration.
68802         * lib/pwrite.c: New file, from glibc with modifications.
68803         * m4/pwrite.m4: New file.
68804         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
68805         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
68806         REPLACE_PWRITE.
68807         * modules/pwrite: New file.
68808         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
68809         REPLACE_PWRITE.
68810         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
68811         * doc/posix-functions/pwrite.texi: Mention the new module.
68813 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68815         pread: Update documentation.
68816         * doc/posix-functions/pread.texi: Mention the 'pread' module.
68818 2010-05-04  Eric Blake  <eblake@redhat.com>
68820         docs: update cygwin progress
68821         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
68822         this bug.
68823         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
68824         Added in cygwin 1.7.2.
68825         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
68826         Likewise.
68827         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
68828         Likewise.
68829         * doc/glibc-functions/dup3.texi (dup3): Likewise.
68830         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
68831         * doc/glibc-functions/accept4.texi (accept4): Likewise.
68832         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
68833         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
68834         Mention nproc module.
68835         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
68836         bug in cygwin 1.7.5 addition.
68837         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
68838         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
68839         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
68840         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
68841         1.7.5.
68842         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
68843         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
68844         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
68845         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
68846         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
68847         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
68848         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
68849         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
68850         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
68851         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
68852         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
68853         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
68854         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
68855         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
68856         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
68857         Likewise.
68858         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
68859         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
68860         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
68861         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
68862         Likewise.
68863         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
68864         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
68865         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
68866         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
68867         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
68868         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
68869         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
68870         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
68871         Likewise.
68872         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
68873         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
68874         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
68875         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
68876         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
68877         Likewise.
68878         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
68879         Likewise.
68880         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
68881         Likewise.
68882         * doc/glibc-functions/xdrrec_endofrecord.texi
68883         (xdrrec_endofrecord): Likewise.
68884         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
68885         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
68886         Likewise.
68887         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
68888         Likewise.
68890 2010-05-04  Jim Meyering  <meyering@redhat.com>
68892         gendocs.sh: make its "-s FILE" option more useful
68893         * build-aux/gendocs.sh: When honoring the -s FILE option, update
68894         $PACKAGE to reflect the probably-different basename of "FILE".
68896 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
68898         bootstrap: don't ignore download_po_files failure
68899         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
68900         failure.
68902 2010-05-03  Jim Meyering  <meyering@redhat.com>
68904         maint.mk: allow to pass options to gendocs.sh
68905         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
68906         (gendocs_options_): New overridable variable.
68908         gnu-web-doc-update: don't ignore configure or build failure
68909         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
68911         announce-gen: backslash-escape '@'s in --help output
68912         * build-aux/announce-gen: Fix syntax errors.
68914         maint.mk, announce-gen: allow project-specific announcement mail headers
68915         * top/maint.mk (translation_project_): Define default.
68916         (announcement_Cc_, announcement_mail_headers_): Likewise.
68917         (announcement): Invoke announce-gen with new --mail-headers option.
68918         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
68920         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
68921         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
68922         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
68923         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
68924         line in the "err2" output file when running "make check" in verbose
68925         mode (i.e., with set -x enabled).
68927 2010-05-03  Bruno Haible  <bruno@clisp.org>
68929         wctob: Fix for weird platforms.
68930         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
68931         argument value.
68933 2010-05-03  Jim Meyering  <meyering@redhat.com>
68935         maint.mk: prohibit unwarranted use of <strings.h>
68936         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
68937         strings.h in a file that does not also use strcasecmp, strncasecmp,
68938         ffs or ffsll.
68940         maint.mk: remove obsolete comments
68941         * top/maint.mk: Remove stale, commented-out rules.
68943 2010-05-02  Bruno Haible  <bruno@clisp.org>
68945         wcwidth: Declare also when it's aliased.
68946         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
68947         macro.
68949 2010-05-02  Bruno Haible  <bruno@clisp.org>
68951         Fix regression from 2010-04-25.
68952         * gnulib-tool (func_modules_transitive_closure): Check the status of
68953         all modules, not only of the tests that are of the form foo-tests where
68954         foo is a module.
68956 2010-05-02  Bruno Haible  <bruno@clisp.org>
68958         wctob: Work around nasty Cygwin 1.7.2 bug.
68959         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
68960         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
68962 2010-05-01  Bruno Haible  <bruno@clisp.org>
68964         fpurge: Sharper test.
68965         * tests/test-fpurge.c (main): Add one more ftell check.
68966         * modules/fpurge-tests (Depends-on): Add ftell.
68967         Suggested by Eric Blake.
68969 2010-05-01  Bruno Haible  <bruno@clisp.org>
68971         ftello: Another test.
68972         * tests/test-ftello3.c: New file.
68973         * modules/ftello-tests (Files): Add it.
68974         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68975         MOSTLYCLEANFILES.
68977         ftell: Another test.
68978         * tests/test-ftell3.c: New file.
68979         * modules/ftell-tests (Files): Add it.
68980         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68981         MOSTLYCLEANFILES.
68983 2010-05-01  Bruno Haible  <bruno@clisp.org>
68985         ftell, ftello: Work around Solaris bug.
68986         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
68987         * lib/ftello.c: Include stdio-impl.h.
68988         (ftello): On Solaris, when _IOWRT is set, compute the result without
68989         looking at _IOREAD.
68990         * modules/ftello (Files): Add lib/stdio-impl.h.
68991         * doc/posix-functions/ftell.texi: Mention Solaris bug.
68992         * doc/posix-functions/ftello.texi: Likewise.
68993         Reported by Eric Blake.
68995 2010-05-01  Bruno Haible  <bruno@clisp.org>
68997         freading: Adapt to special meaning of _IOREAD flag on Solaris.
68998         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
68999         the _IOWRT flag is also set.
69001 2010-05-01  Bruno Haible  <bruno@clisp.org>
69003         Fix doc about a HP-UX stdio bug.
69004         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
69005         * doc/posix-functions/ftello.texi: Likewise.
69007 2010-05-01  Bruno Haible  <bruno@clisp.org>
69009         lseek test: Fix failure on Solaris.
69010         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
69011         output.
69013 2010-04-30  Jim Meyering  <meyering@redhat.com>
69015         bootstrap: don't ignore failure to generate po*/Makevars
69016         * build-aux/bootstrap (with_gettext): Don't ignore failure
69017         to create po/Makevars or runtime-po/Makevars.
69019 2010-04-29  Eric Blake  <eblake@redhat.com>
69021         headers: relax license to LGPLv2+
69022         * modules/fcntl-h (License): Relax license.
69023         * modules/getopt-posix (License): Likewise.
69024         * modules/locale (License): Likewise.
69025         * modules/math (License): Likewise.
69026         * modules/pty (License): Likewise.
69027         * modules/sched (License): Likewise.
69028         * modules/search (License): Likewise.
69029         * modules/spawn (License): Likewise.
69030         * modules/stdarg (License): Likewise.
69031         * modules/sysexits (License): Likewise.
69033 2010-04-29  Jim Meyering  <meyering@redhat.com>
69035         inttypes: relax license to LGPLv2+
69036         * modules/inttypes (License): Relax license.
69038 2010-04-29  Simon Josefsson  <simon@josefsson.org>
69040         * top/maint.mk (indent): Run twice to produce idempotent results.
69042 2010-04-28  Bruno Haible  <bruno@clisp.org>
69044         getdate: Generate getdate.c in the source directory.
69045         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
69046         MOSTLYCLEANFILES.
69047         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
69049 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
69051         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
69052         is not declared as a const *; avoid warnings in that case.
69054 2010-04-28  Eric Blake  <eblake@redhat.com>
69056         canonicalize-lgpl: avoid compiler warning
69057         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
69058         declaration' / 'extraneous semicolon' warning with some compilers.
69059         Reported by Andreas Gruenbacher.
69061 2010-04-28  Jim Meyering  <meyering@redhat.com>
69063         init.sh: ensure a more reliable exit status when exiting via trap
69064         * tests/init.sh (setup_): Don't rely on $? in signal handler.
69065         Inspired by patches from Dmitry V. Levin.
69066         Also trap on signal 3 (SIGQUIT).
69068 2010-04-27  Bruno Haible  <bruno@clisp.org>
69070         Update doc about utimes().
69071         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
69072         'utimens' module.
69073         Reported by Andreas Gruenbacher <agruen@suse.de>.
69075 2010-04-27  Eric Blake  <eblake@redhat.com>
69077         full-read, full-write: relax license
69078         * modules/full-read (License): Drop to LGPLv2+.
69079         * modules/full-write (License): Likewise.
69080         * modules/safe-read (License): Likewise.
69081         * modules/safe-write (License): Likewise.
69083         pthread: mention library for linking
69084         * modules/pthread (Link): Mention $(LIB_PTHREAD).
69086 2010-04-27  Jim Meyering  <meyering@redhat.com>
69088         maint.mk: fix a bug introduced in last change
69089         * top/maint.mk (gl_assured_headers_): Now that all names are on
69090         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
69091         is not anchored to end of word, it should be adequate.
69093         maint.mk: avoid side-effect in latest syntax-check
69094         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
69095         to run commands via $(shell...), and hence to incur cost only when
69096         the new rule is actually run.
69098         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
69099         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
69100         and use that to create a regexp used to detect all #if HAVE_..._H uses.
69101         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
69102         (gl_assured_headers_, az_, AZ_): Define.
69103         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
69105 2010-04-26  Jim Meyering  <jim@meyering.net>
69106             Bruno Haible  <bruno@clisp.org>
69108         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
69109         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
69110         Prompted by an exchange with Gilles Espinasse.
69112 2010-04-26  Jim Meyering  <meyering@redhat.com>
69114         git-version-gen: aesthetic tweak
69115         * build-aux/git-version-gen: Use "$nl" rather than a literal,
69116         so that the command remains on a single line.
69118 2010-04-26  Eric Blake  <eblake@redhat.com>
69120         git-version-gen: allow use on EBCDIC hosts
69121         * build-aux/git-version-gen (dirty): Use literal rather than tying
69122         ourselves to ascii.
69123         Reported by Steve Goetze.
69125 2010-04-25  Bruno Haible  <bruno@clisp.org>
69127         netdb: Add support for GNULIB_POSIXCHECK.
69128         * lib/netdb.in.h: Include warn-on-use.h.
69129         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
69130         functions are used when GNULIB_POSIXCHECK is defined and the
69131         getaddrinfo module is not in use.
69132         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
69133         freeaddrinfo, gai_strerror, getnameinfo are declared.
69134         * modules/netdb (Depends-on): Add warn-on-use.
69135         (Makefile.am): Include warn-on-use.h in netdb.h.
69137 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
69139         build: avoid "make check" failure without .git/ directory
69140         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
69141         there is no .git/ directory.
69143 2010-04-25  Bruno Haible  <bruno@clisp.org>
69145         ptsname: Fix misuse of ttyname_r.
69146         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
69147         of errno.
69149 2010-04-25  Bruno Haible  <bruno@clisp.org>
69151         ttyname_r: Make it work on Solaris 10.
69152         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
69153         if the system function has the POSIX declaration. Test whether the
69154         function fails if the buffer is less than 128 bytes large.
69155         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
69156         system's ttyname_r function. Provide a reasonably large buffer.
69157         * modules/ttyname_r (Depends-on): Add extensions.
69158         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
69160 2010-04-25  Bruno Haible  <bruno@clisp.org>
69162         Use the 'extensions' module for some more functions on Solaris.
69163         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
69164         module.
69165         * doc/posix-functions/ctime_r.texi: Likewise.
69166         * doc/posix-functions/getgrgid_r.texi: Likewise.
69167         * doc/posix-functions/getgrnam_r.texi: Likewise.
69168         * doc/posix-functions/getpwnam_r.texi: Likewise.
69169         * doc/posix-functions/getpwuid_r.texi: Likewise.
69170         * doc/posix-functions/readdir_r.texi: Likewise.
69171         * doc/posix-functions/sigwait.texi: Likewise.
69172         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
69173         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
69175 2010-04-25  Bruno Haible  <bruno@clisp.org>
69177         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
69178         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
69179         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
69180         * lib/ttyname_r.c: Include <limits.h>.
69181         (ttyname_r): Define using the system's ttyname_r function, if it exists
69182         and not on Solaris.
69183         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
69184         set.
69185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
69186         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
69187         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
69188         Reported by Simon Josefsson.
69190 2010-04-25  Bruno Haible  <bruno@clisp.org>
69192         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
69193         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
69194         * doc/posix-functions/ctime_r.texi: Likewise.
69195         * doc/posix-functions/getgrgid_r.texi: Likewise.
69196         * doc/posix-functions/getgrnam_r.texi: Likewise.
69197         * doc/posix-functions/getlogin_r.texi: Likewise.
69198         * doc/posix-functions/getpwnam_r.texi: Likewise.
69199         * doc/posix-functions/getpwuid_r.texi: Likewise.
69200         * doc/posix-functions/readdir_r.texi: Likewise.
69201         * doc/posix-functions/sigwait.texi: Likewise.
69202         * doc/posix-functions/ttyname_r.texi: Likewise.
69203         Reported by Simon Josefsson.
69205 2010-04-25  Bruno Haible  <bruno@clisp.org>
69207         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
69208         * gnulib-tool (func_usage): Document that --with-*-tests options apply
69209         also to --create-testdir.
69210         (func_acceptable): Don't consider the status of *-tests modules here.
69211         (func_modules_transitive_closure): Consider it here, before including a
69212         test module.
69213         (func_import, func_create_testdir): Set inc_all_direct_tests,
69214         inc_all_indirect_tests.
69215         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
69216         --create-testdir and --create-megatestdir.
69218 2010-04-25  Bruno Haible  <bruno@clisp.org>
69220         gnulib-tool: Add --without-*-tests options.
69221         * gnulib-tool (func_usage): Document the --without-*-tests options.
69222         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
69223         excl_unportable_tests): New variables.
69224         Fail if they are specified with --import or --update.
69225         (func_acceptable): Respect the excl_*_tests variables.
69226         (func_import): Set the excl_*_tests variables to empty.
69228 2010-04-25  Simon Josefsson  <simon@josefsson.org>
69229             Bruno Haible  <bruno@clisp.org>
69231         Work around a MacOS X 10.4 bug with openpty.
69232         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
69233         * tests/test-openpty.c (main): Close the master side explicitly.
69235 2010-04-25  Bruno Haible  <bruno@clisp.org>
69237         strnlen: Fix a C++ test error on MacOS X and Solaris.
69238         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
69239         the function is not declared.
69240         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
69241         Simon Josefsson.
69243 2010-04-24  Bruno Haible  <bruno@clisp.org>
69245         Avoid a gcc warning.
69246         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
69247         of correct type for %08lx directive.
69248         Reported by Eric Blake.
69250 2010-04-24  Bruno Haible  <bruno@clisp.org>
69252         vasnprintf: Correct errno value in case of out-of-memory.
69253         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
69254         or sprintf. Use the errno value from SNPRINTF or sprintf.
69255         Reported by Ian Beckwith <ianb@erislabs.net>.
69257 2010-04-24  Bruno Haible  <bruno@clisp.org>
69259         ansi-c++-opt: Find correct compiler when cross-compiling.
69260         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
69261         AC_CHECK_PROGS.
69262         Reported by Simon Josefsson.
69264 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
69266         vc-list-files: Add support for subversion
69267         * build-aux/vc-list-files: Use "svn list" to generate the list of
69268         files controlled by subversion.
69270 2010-04-23  Jim Meyering  <meyering@redhat.com>
69272         vc-list-files tests: convert to use init.sh
69273         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
69274         path_prepend_.
69275         Use Exit, not exit.
69276         Use skip_ rather than open coding it.
69277         Remove trap set-up and compare definitions.
69278         * tests/test-vc-list-files-git.sh: Likewise.
69279         * modules/vc-list-files-tests (Files): Add tests/init.sh.
69281 2010-04-22  Simon Josefsson  <simon@josefsson.org>
69283         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
69284         backup files.
69286 2010-04-21  Simon Josefsson  <simon@josefsson.org>
69288         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
69290 2010-04-20  Eric Blake  <eblake@redhat.com>
69292         tests: be robust to ignored SIGPIPE
69293         * tests/test-select-in.sh: Consume all output.
69294         * tests/test-lseek.sh: Check correct exit status, while avoiding
69295         EPIPE.
69297 2010-04-20  Simon Josefsson  <simon@josefsson.org>
69298             Bruno Haible  <bruno@clisp.org>
69300         visibility: Don't use -fvisibility if it leads to a warning.
69301         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
69302         yes, don't pretend that visibility works if it leads to a warning.
69303         Reported by Mike Gran <spk121@yahoo.com>.
69305 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
69307         * build-aux/bootstrap: Use "git -h" for testing for supported options
69308         instead of "git --help".  The short-form option only shows a summary,
69309         and doesn't layout the full man page.  Grep for the full option name
69310         in the summary, too.
69312 2010-04-19  Bruno Haible  <bruno@clisp.org>
69314         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
69315         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
69316         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
69317         mention of RELOCATABLE_STRIP.
69318         Reported by Sylvain Beucler <beuc@beuc.net>.
69320 2010-04-19  Bruno Haible  <bruno@clisp.org>
69322         * lib/diffseq.h: Fix typo in comment.
69323         Reported by Eric Blake.
69325 2010-04-19  Bruno Haible  <bruno@clisp.org>
69327         ioctl: Move autoconf macro to a .m4 file.
69328         * m4/ioctl.m4: New file, extracted from modules/ioctl.
69329         * modules/ioctl (Files): Add it.
69330         (configure.ac): Simply invoke gl_FUNC_IOCTL.
69331         Reported by Ian Beckwith <ianb@erislabs.net>.
69333 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
69334             Bruno Haible  <bruno@clisp.org>
69336         diffseq: Accommodate use-case with abstract arrays.
69337         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
69338         is not defined.
69339         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
69340         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
69342 2010-04-18  Bruno Haible  <bruno@clisp.org>
69344         * doc/posix-headers/stdbool.texi: More precise wording.
69346 2010-04-17  Jim Meyering  <meyering@redhat.com>
69348         maint.mk: use gnu-style indentation in an embedded perl script
69349         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
69350         Rename variable: s/two/last_two_bytes/
69352 2010-04-16  Eric Blake  <eblake@redhat.com>
69354         test-stdbool: skip test that fails with Solaris CC
69355         * tests/test-stdbool.c (f): Skip test that causes compilation
69356         error under buggy C++ compiler.
69357         * lib/stdbool.in.h: Document the limitation.
69358         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
69360         setenv: allow compilation with C++
69361         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
69362         register keyword.
69364         stdint: allow test to pass with C++
69365         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
69367         getopt: allow compilation with C++
69368         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
69369         struct.
69370         * lib/getopt.c (_getopt_internal_r): Use correct type.
69371         Reported by Dagobert Michelson, via Joel E. Denny.
69373 2010-04-16  Bruno Haible  <bruno@clisp.org>
69375         Override netdb.h always.
69376         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
69377         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
69378         Reported by Ludovic Courtès <ludo@gnu.org>.
69380 2010-04-15  Bruno Haible  <bruno@clisp.org>
69382         openpty: Fix mistake from 2010-03-21.
69383         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
69384         Reported by Simon Josefsson.
69386 2010-04-15  Eric Blake  <eblake@redhat.com>
69388         test-forkpty: fix expected signature
69389         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
69390         Reported by Simon Josefsson.
69392 2010-04-15  Jim Meyering  <meyering@redhat.com>
69394         maint.mk: texinfo_suffix_re_: correct the default regexp
69395         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
69397         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
69398         make it configurable via texinfo_suffix_re_.
69400 2010-04-14  Eric Blake  <eblake@redhat.com>
69402         strtok_r: relax license to LGPLv2+
69403         * modules/strtok_r (License): Relax license.
69404         Reported by Matthias Bolte.
69406 2010-04-14  Simon Josefsson  <simon@josefsson.org>
69408         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
69409         version 1.4.4 by default instead of requiring the libgcrypt
69410         version used during build.  This makes it possible to use the
69411         application with older but still binary compatible libgcrypt
69412         versions.
69414 2010-04-13  Eric Blake  <eblake@redhat.com>
69416         getopt-gnu: match recent glibc fixes and posix ruling
69417         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
69418         '+' handling, when requesting extensions.
69419         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
69420         'W;' handling.
69421         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
69422         * doc/posix-functions/getopt.texi (getopt): Document this.
69423         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69424         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69425         Likewise.
69427         getopt: merge bug fixes from glibc
69428         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
69429         diagnostics.  Honor '+:' correctly.  Reject ';'.
69431         getopt-posix: detect MacOS bug
69432         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
69433         optind when missing a required argument.
69434         * doc/posix-functions/getopt.texi (getopt): Document the bug.
69435         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
69436         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
69437         Likewise.
69439         getopt-posix: avoid spurious failure on Solaris
69440         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
69441         an indicator that setting optind=1 is sufficient for reset.
69443         getopt-posix: avoid spurious failure on FreeBSD
69444         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
69445         in POSIX mode, since the m4 test uses it.
69447         gnulib-tool: silence warning on BSD sh
69448         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
69450 2010-04-13  Jim Meyering  <meyering@redhat.com>
69452         doc: users.txt: GNU patch now uses gnulib
69453         * users.txt: Add patch.
69455 2010-04-12  Jim Meyering  <meyering@redhat.com>
69457         maint.mk: generate more concise timing data for syntax-check rules
69458         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
69459         " done" from each line that reports a syntax-check test duration.
69461 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
69463         git-version-gen: use "git update-index..." rather than "git status"
69464         * build-aux/git-version-gen: Use git update-index --refresh, not
69465         "git status".  With some versions of git, "git status" would fail
69466         to update the index and result in an unwarranted "-dirty" suffix.
69468 2010-04-11  Jim Meyering  <meyering@redhat.com>
69470         openat: correct formatting (no semantic change)
69471         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
69472         Suggested by Bruno Haible.
69474 2010-04-11  Bruno Haible  <bruno@clisp.org>
69476         Stricter declaration checking in testdirs.
69477         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69478         If for_tests is true, augment AM_CPPFLAGS to define
69479         GNULIB_STRICT_CHECKING.
69480         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
69481         GNULIB_STRICT_CHECKING is defined, verify that the function is
69482         declared.
69484 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
69485             Bruno Haible  <bruno@clisp.org>
69487         libunistring: Improve configure output.
69488         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
69489         Don't say "consider installing GNU libunistring" when checking again
69490         with libiconv.
69492 2010-04-11  Bruno Haible  <bruno@clisp.org>
69494         libunistring: Correct value of $LTLIBUNISTRING.
69495         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
69496         correct the value of $LTLIBUNISTRING.
69498 2010-04-11  Bruno Haible  <bruno@clisp.org>
69500         havelib: Add static libraries to LIBS in the right order.
69501         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
69502         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
69504 2010-04-11  Bruno Haible  <bruno@clisp.org>
69506         libunistring: Detect libunistring also when it depends on libiconv.
69507         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
69508         the second AC_LIB_HAVE_LINKFLAGS invocation.
69510 2010-04-11  James Youngman  <jay@gnu.org>
69512         close-stream: declare local scalars to be "const"
69513         * lib/close-stream.c (close_stream): Make boolean variables const
69514         to document the fact that we set but do not change them.
69516 2010-04-11  Bruno Haible  <bruno@clisp.org>
69518         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
69520 2010-04-11  Jim Meyering  <meyering@redhat.com>
69522         maint.mk: don't include dist-check.mk
69523         * top/maint.mk: Remove bogus include directive.
69525         maint.mk: improve empty-line-at-EOF check
69526         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
69527         solution, rather than tail+Perl-based one.  The latter would read
69528         a few kilobytes from the end of each file, and did not handle empty
69529         files properly.
69531         maint.mk: print the elapsed time for each syntax-check rule
69532         * top/maint.mk (sc_m_rules_): Save start time in a file.
69533         (sc_z_rules_): New rules: remove temp file and print elapsed time.
69534         (local-check): Interpose the .z rules
69536 2010-04-11  Jim Meyering  <meyering@redhat.com>
69538         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
69539         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
69540         empty file with one that ends in an empty line.
69542 2010-04-10  Bruno Haible  <bruno@clisp.org>
69544         mkdir: Make it work on mingw64.
69545         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
69546         * lib/mkdir.c: Update comment.
69547         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
69549 2010-04-10  Bruno Haible  <bruno@clisp.org>
69551         Don't override improved macro from newer autoconf.
69552         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
69553         autoconf >= 2.62.
69554         Reported by Joel E. Denny <jdenny@clemson.edu>.
69556 2010-04-10  Jim Meyering  <meyering@redhat.com>
69558         maint.mk: new syntax-check rule: prohibit empty lines at end of file
69559         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
69561         maint.mk: correct a diagnostic
69562         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
69563         in diagnostic; now use $prohibit.
69565 2010-04-10  Bruno Haible  <address@hidden>
69567         fchownat: Fix a C++ test error on Solaris 8.
69568         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
69569         the function does not exist.
69571 2010-04-10  Bruno Haible  <bruno@clisp.org>
69573         vasnprintf: Add more tests.
69574         * tests/test-vasnprintf-posix.c: Include <errno.h>.
69575         (test_function): Test converting an invalid wide string.
69577         vasnprintf: Correct handling of unconvertible wide string arguments.
69578         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
69579         VASNPRINTF.
69580         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
69581         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
69582         smaller than the expected maximum need for the directive. Set errno to
69583         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
69584         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
69585         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
69586         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
69587         * modules/vasnprintf (Files): Add m4/printf.m4.
69588         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69590 2010-04-10  Bruno Haible  <bruno@clisp.org>
69592         vasnprintf: Fix crash in %ls directive.
69593         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
69594         string is passed as argument to %ls, with no precision and no width.
69595         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69597 2010-04-10  Bruno Haible  <bruno@clisp.org>
69599         vasnprintf: Fix multiple test failures on mingw.
69600         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
69601         _snprintf, or snwprintf, not _snwprintf.
69603 2010-04-10  Bruno Haible  <bruno@clisp.org>
69605         write: Fix a C++ test error on mingw.
69606         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
69608 2010-04-10  Bruno Haible  <bruno@clisp.org>
69610         vasnprintf test: Reduce code duplication.
69611         * tests/test-vasnprintf.c (test_function): New function, extracted from
69612         test_vasnprintf.
69613         (test_vasnprintf, test_asnprintf): Invoke it.
69615 2010-04-10  Bruno Haible  <bruno@clisp.org>
69617         strnlen: Fix warning in C++ mode on MacOS X.
69618         * lib/string.in.h (strnlen): Use the modern idiom.
69619         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
69620         defining strnlen as a macro already in <config.h>.
69621         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69622         REPLACE_STRNLEN.
69623         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
69624         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69626 2010-04-08  James Youngman  <jay@gnu.org>
69628         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
69629         the example.
69631 2010-04-09  Jim Meyering  <meyering@redhat.com>
69633         maint.mk: print better diagnostic when there is no $(_hv_file)
69634         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
69635         announce that when $(_hv_file) (aka help-version) does not exist.
69637         init.sh: run tr in the "C" locale to avoid multibyte interpretation
69638         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
69639         not try to interpret its random input bytes.  Jarno Rajahalme reported
69640         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
69641         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
69642         (mktempd_): Likewise, just in case.
69644         ftruncate: add two years to projected module removal date: 2012
69645         * m4/ftruncate.m4: Adjust comments.
69647         ftruncate: mark module as obsolete; even MinGW provides it, now
69648         * modules/ftruncate (Status): Obsolete.
69649         (Notice): Say that.
69650         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
69651         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
69653 2010-04-08  Bruno Haible  <bruno@clisp.org>
69655         Fix side effects from tests-related modules.
69656         * modules/dprintf-posix (Comment): New section.
69657         * modules/fprintf-posix (Comment): Likewise.
69658         * modules/obstack-printf-posix (Comment): Likewise.
69659         * modules/printf-posix (Comment): Likewise.
69660         * modules/snprintf-posix (Comment): Likewise.
69661         * modules/sprintf-posix (Comment): Likewise.
69662         * modules/vasnprintf-posix (Comment): Likewise.
69663         * modules/vasprintf-posix (Comment): Likewise.
69664         * modules/vdprintf-posix (Comment): Likewise.
69665         * modules/vfprintf-posix (Comment): Likewise.
69666         * modules/vprintf-posix (Comment): Likewise.
69667         * modules/vsnprintf-posix (Comment): Likewise.
69668         * modules/vsprintf-posix (Comment): Likewise.
69669         * modules/xprintf-posix (Comment): Likewise.
69670         * modules/xvasprintf-posix (Comment): Likewise.
69671         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
69672         * modules/floorf-tests (Depends-on): Likewise.
69673         * modules/round-tests (Depends-on): Likewise.
69674         * modules/roundf-tests (Depends-on): Likewise.
69675         * modules/trunc-tests (Depends-on): Likewise.
69676         * modules/truncf-tests (Depends-on): Likewise.
69677         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
69678         'fprintf-posix' module is not present.
69679         * tests/test-floorf2.c (check): Likewise.
69680         * tests/test-trunc2.c (check): Likewise.
69681         * tests/test-truncf2.c (check): Likewise.
69682         * tests/test-round2.c (equal): Likewise.
69683         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69685 2010-04-07  Karl Berry  <karl@gnu.org>
69687         * config/srclist.txt,
69688         * config/srclistvars.sh,
69689         * config/srclist-update: doc fixes.
69691 2010-04-07  Jim Meyering  <meyering@redhat.com>
69693         maint.mk: add a PATH crosschecking syntax-check rule
69694         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
69695         Useful if you use a test like the one in help-version (coreutils,
69696         diffutils, grep, gzip) that ensures $(VERSION) matches what is
69697         printed by prog --version.
69699 2010-04-06  Bruno Haible  <bruno@clisp.org>
69701         Fix link error on mingw.
69702         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
69703         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
69705 2010-04-06  Bruno Haible  <bruno@clisp.org>
69707         Assume rmdir exists.
69708         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
69710 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
69712         doc: update users.txt
69713         * users.txt: Add gcal.
69715 2010-04-06  Jim Meyering  <meyering@redhat.com>
69717         init.sh: simply unset TMPDIR rather than risking env -i
69718         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
69719         although it probably works fine on all Unix-based systems, some
69720         systems (Cygwin?) cannot tolerate a totally cleared environment.
69721         Suggestion from Eric Blake.
69723 2010-04-06  Jim Meyering  <meyering@redhat.com>
69725         init.sh: portability fix: use env's POSIX-specified -i option not -u
69726         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
69727         than unportable env -u.  Solaris 5.11's env lacks support for -u.
69729 2010-04-05  Bruno Haible  <bruno@clisp.org>
69731         btowc: Work around Cygwin 1.7.2 bug.
69732         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
69733         does not map NUL to 0.
69734         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
69736 2010-04-05  Bruno Haible  <bruno@clisp.org>
69738         Make the multithread modules work on Cygwin 1.7.2.
69739         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
69740         imported symbols can be declared weak, so that it returns "no" on
69741         Cygwin 1.7.2.
69743 2010-04-05  Bruno Haible  <bruno@clisp.org>
69745         Use the module 'strncat'.
69746         * modules/unistr/u8-strncat (Depends-on): Add strncat.
69748         Tests for module 'strncat'.
69749         * modules/strncat-tests: New file.
69750         * tests/test-strncat.c: New file.
69752         New module 'strncat'.
69753         * lib/string.in.h (strncat): New declaration.
69754         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
69755         * m4/strncat.m4: New file, based on m4/memchr.m4.
69756         * modules/strncat: New file.
69757         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
69758         is declared.
69759         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
69760         REPLACE_STRNCAT.
69761         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
69762         REPLACE_STRNCAT.
69763         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
69764         module.
69765         * tests/test-string-c++.cc: Check signature of strncat.
69767 2010-04-05  Jim Meyering  <meyering@redhat.com>
69769         xstrtoumax-tests: convert to use init.sh
69770         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
69771         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69772         Use Exit, not exit.
69773         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69775         xstrtoimax-tests: convert to use init.sh
69776         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
69777         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69778         Use Exit, not exit.
69779         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69781 2010-04-05  Bruno Haible  <bruno@clisp.org>
69783         sys_socket: Avoid #define replacements in C++ mode.
69784         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
69785         warning to the function if possible, rather than #defining the symbol
69786         to a dysfunctional alias.
69788 2010-04-05  Bruno Haible  <bruno@clisp.org>
69790         fseeko: Fix C++ test error on mingw.
69791         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
69792         gl_FUNC_FSEEKO.
69793         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
69794         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
69795         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
69796         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
69798 2010-04-05  Bruno Haible  <bruno@clisp.org>
69800         duplocale: Improve test output.
69801         * tests/test-duplocale.c (main): Print reason for skipped test.
69803 2010-04-05  Bruno Haible  <bruno@clisp.org>
69805         Assume rmdir exists.
69806         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
69807         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
69809 2010-04-05  Bruno Haible  <bruno@clisp.org>
69811         Fix link error on Solaris 8 with cc.
69812         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
69814 2010-04-05  Bruno Haible  <bruno@clisp.org>
69816         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69817         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
69819 2010-04-05  Bruno Haible  <bruno@clisp.org>
69821         vasprintf: Update documentation.
69822         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
69824 2010-04-05  Bruno Haible  <bruno@clisp.org>
69826         ptsname: Improve test.
69827         * tests/test-ptsname.c (main): Also try the various master names of BSD
69828         systems.
69830 2010-04-05  Bruno Haible  <bruno@clisp.org>
69832         memchr: Avoid a possible C++ test error.
69833         * lib/string.in.h (memchr): Provide declaration if function is missing.
69834         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
69835         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
69836         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
69837         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
69839 2010-04-05  Bruno Haible  <bruno@clisp.org>
69841         strtok_r: Improve idiom.
69842         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
69843         AC_LIBOBJ is used.
69845 2010-04-05  Bruno Haible  <bruno@clisp.org>
69847         strdup: Improve idiom.
69848         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
69849         AC_LIBOBJ is used.
69850         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
69851         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
69852         when AC_LIBOBJ is used.
69854 2010-04-05  Bruno Haible  <bruno@clisp.org>
69856         mbsinit, mbrtowc, wcrtomb: Improve idioms.
69857         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
69858         don't set REPLACE_MBSINIT to 1.
69859         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
69860         don't set REPLACE_MBRTOWC to 1.
69861         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
69862         exist, don't set REPLACE_MBSRTOWCS to 1.
69863         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
69864         exist, don't set REPLACE_MBSNRTOWCS to 1.
69865         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
69866         don't set REPLACE_WCRTOMB to 1.
69867         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
69868         exist, don't set REPLACE_WCSRTOMBS to 1.
69869         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
69870         exist, don't set REPLACE_WCSNRTOMBS to 1.
69872 2010-04-05  Bruno Haible  <bruno@clisp.org>
69874         ldexpl: Improve idiom.
69875         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
69876         make sure to set HAVE_DECL_LDEXPL to 0.
69878 2010-04-05  Jim Meyering  <meyering@redhat.com>
69880         xstrtol-tests: convert to use init.sh
69881         * modules/xstrtol-tests (Files): Add tests/init.sh.
69882         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69883         Use Exit, not exit.
69884         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69886         atexit-tests: convert to use init.sh
69887         * modules/atexit-tests (Files): Add tests/init.sh.
69888         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69889         Use Exit, not exit.
69890         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69892         init.sh: fix typo
69893         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
69895         init.sh: make it easier for a test script to write to the tty, ...
69896         when using automake's parallel-tests mode.
69897         * tests/init.sh (stderr_fileno_): Define overridable variable.
69898         (warn_): New function, to use it.
69899         (fail_, skip_, framework_failure_): Use warn_.
69901 2010-04-04  Bruno Haible  <bruno@clisp.org>
69903         btowc: Avoid warning.
69904         * lib/btowc.c: Include <stdlib.h>.
69905         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
69907 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69908             Bruno Haible  <bruno@clisp.org>
69910         wchar: Port to NetBSD 1.5.
69911         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
69912         * lib/wctype.in.h (WEOF): Likewise.
69914 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69915             Bruno Haible  <bruno@clisp.org>
69917         Port extended stdio to NetBSD 1.5.
69918         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
69919         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
69920         older.
69922 2010-04-04  Bruno Haible  <bruno@clisp.org>
69924         string: Remove unused substitution.
69925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69926         HAVE_DECL_STRERROR.
69927         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
69929 2010-04-04  Bruno Haible  <bruno@clisp.org>
69931         strtod: Avoid a possible C++ test error.
69932         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
69933         set REPLACE_STRTOD.
69935 2010-04-04  Bruno Haible  <bruno@clisp.org>
69937         strerror: Update documentation.
69938         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
69940 2010-04-04  Bruno Haible  <bruno@clisp.org>
69942         stdio: Fix some C++ test errors on Solaris 8 with GCC.
69943         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
69944         _GL_CXXALIAS_SYS_CAST.
69946 2010-04-04  Bruno Haible  <bruno@clisp.org>
69948         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69949         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
69950         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
69951         REPLACE_FREXPL to 1.
69952         * doc/posix-functions/frexpl.texi: Update documentation.
69954 2010-04-04  Bruno Haible  <bruno@clisp.org>
69956         math: Fix some C++ test errors on Solaris 8 and Cygwin.
69957         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
69959 2010-04-04  Bruno Haible  <bruno@clisp.org>
69961         Implement nanosleep for native Windows.
69962         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
69964 2010-04-04  Bruno Haible  <bruno@clisp.org>
69966         math: Fix some C++ test errors on Solaris 8.
69967         * lib/math.in.h (truncf, trunc): Use simpler idiom.
69969 2010-04-04  Bruno Haible  <bruno@clisp.org>
69971         math: Fix some C++ test errors on Cygwin.
69972         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
69973         truncl): Provide declaration if the system does not have it.
69974         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
69975         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
69976         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
69977         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
69978         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
69979         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
69980         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
69981         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
69982         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
69983         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
69984         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
69985         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
69986         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
69987         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
69988         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
69989         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
69990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
69991         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69992         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69993         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
69994         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69995         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69997 2010-04-04  Bruno Haible  <bruno@clisp.org>
69999         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
70000         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
70001         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
70002         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
70003         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
70004         * m4/isinf.m4 (gl_ISINF): Likewise.
70005         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
70007 2010-04-04  Bruno Haible  <bruno@clisp.org>
70009         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
70010         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
70012 2010-04-04  Bruno Haible  <bruno@clisp.org>
70014         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
70015         * modules/tmpfile (configure.ac): Update.
70017         tmpfile: Fix C++ test error on mingw.
70018         * lib/stdio.in.h (tmpfile): New declaration.
70019         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
70020         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
70021         * modules/tmpfile (Depends-on): Add stdio.
70022         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70023         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
70024         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
70025         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
70026         REPLACE_TMPFILE.
70027         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
70029 2010-04-04  Bruno Haible  <bruno@clisp.org>
70031         ioctl: Fix C++ test error on mingw.
70032         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
70033         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
70034         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
70036 2010-04-03  Bruno Haible  <bruno@clisp.org>
70038         wcwidth: Fix C++ test error on mingw.
70039         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
70040         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
70041         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
70043 2010-04-03  Bruno Haible  <bruno@clisp.org>
70045         nanosleep: Fix C++ test error on mingw.
70046         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
70047         * lib/time.in.h (nanosleep): Use modern idiom.
70048         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
70049         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
70050         REPLACE_NANOSLEEP to 1.
70051         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
70052         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
70054 2010-04-03  Bruno Haible  <bruno@clisp.org>
70056         strptime: Fix C++ test error on mingw.
70057         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
70058         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
70059         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
70060         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
70061         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
70062         not REPLACE_STRPTIME.
70063         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
70064         REPLACE_STRPTIME.
70066 2010-04-03  Bruno Haible  <bruno@clisp.org>
70068         timegm: Fix C++ test error on mingw.
70069         * lib/time.in.h (timegm): Use modern idiom.
70070         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
70071         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
70072         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
70073         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
70075 2010-04-03  Bruno Haible  <bruno@clisp.org>
70077         timegm: Assume declaration if function exists.
70078         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
70079         if it exists. Don't clobber ac_cv_func_timegm.
70081 2010-04-03  Bruno Haible  <bruno@clisp.org>
70083         time_r: Fix C++ test error on mingw.
70084         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
70085         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
70086         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
70087         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
70088         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
70090 2010-04-03  Bruno Haible  <bruno@clisp.org>
70092         time_r: Minor updates.
70093         * modules/time_r (Description): Mention the provided functions.
70094         * lib/time_r.c: Don't include <string.h>.
70095         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
70096         * doc/posix-functions/localtime_r.texi: Likewise.
70098 2010-04-03  Bruno Haible  <bruno@clisp.org>
70100         time: Fix regression introduced on 2010-03-08.
70101         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
70102         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
70104 2010-04-03  Jim Meyering  <meyering@redhat.com>
70106         maint.mk: don't silently disable project-specific syntax-check rules
70107         * top/maint.mk (_prohibit_regexp): Define, to help people realize
70108         that they need to convert their project-specific syntax-check rules
70109         to use the new _sc_search_regexp.
70111 2010-04-03  Bruno Haible  <bruno@clisp.org>
70113         fchdir: Fix regression introduced on 2010-03-08.
70114         * lib/unistd.in.h (fchdir): Fix declaration.
70115         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
70116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
70117         REPLACE_FCHDIR.
70118         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
70119         REPLACE_FCHDIR.
70121 2010-04-03  Bruno Haible  <bruno@clisp.org>
70123         getpagesize: Fix C++ test error on mingw.
70124         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
70125         system does not declare the function.
70126         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
70127         declared.
70128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70129         HAVE_DECL_GETPAGESIZE.
70130         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
70132 2010-04-03  Bruno Haible  <bruno@clisp.org>
70134         stdio: Make C++ tests work on mingw.
70135         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
70136         does not declare the function.
70138 2010-04-03  Bruno Haible  <bruno@clisp.org>
70140         ftello: Fix C++ test error on mingw.
70141         * lib/stdio.in.h (ftello): Use modern idiom.
70142         * lib/ftello.c (ftello): Renamed from rpl_ftello.
70143         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
70144         is missing and that it needs to be replaced.
70145         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
70146         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
70147         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
70149 2010-04-03  Bruno Haible  <bruno@clisp.org>
70151         fseeko: Fix C++ test error on mingw.
70152         * lib/stdio.in.h (fseeko): Use modern idiom.
70153         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
70154         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
70155         is missing and that it needs to be replaced.
70156         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
70157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
70158         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
70160 2010-04-03  Bruno Haible  <bruno@clisp.org>
70162         mkstemp: Fix C++ test error on mingw.
70163         * lib/stdlib.in.h (mkstemp): Use modern idiom.
70164         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
70165         function is missing and that it needs to be replaced.
70166         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
70167         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
70169 2010-04-03  Bruno Haible  <bruno@clisp.org>
70171         stpncpy: Fix C++ test error on mingw.
70172         * lib/string.in.h (stpncpy): Use modern idiom.
70173         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
70174         function is missing and that it needs to be replaced.
70175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70176         REPLACE_STPNCPY.
70177         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
70179 2010-04-03  Bruno Haible  <bruno@clisp.org>
70181         sys_stat: Fix C++ test error on mingw.
70182         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
70183         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
70185 2010-04-03  Bruno Haible  <bruno@clisp.org>
70187         pty: Update doc.
70188         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
70190 2010-04-03  Bruno Haible  <bruno@clisp.org>
70192         unistd: Fix C++ test error on mingw.
70193         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
70195 2010-04-03  Bruno Haible  <bruno@clisp.org>
70197         Update doc regarding mingw.
70198         * doc/glibc-functions/openpty.texi: Update regarding mingw.
70199         * doc/glibc-functions/login_tty.texi: Likewise.
70200         * doc/glibc-functions/forkpty.texi: Likewise.
70202 2010-04-03  Bruno Haible  <bruno@clisp.org>
70204         stdlib: Avoid compilation failure of c-strtold on mingw.
70205         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
70207 2010-04-03  Bruno Haible  <bruno@clisp.org>
70209         locale: Make C++ tests work on Cygwin and mingw.
70210         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
70211         cannot provide the function.
70212         Reported by Simon Josefsson.
70214 2010-04-03  Bruno Haible  <bruno@clisp.org>
70216         localename: Port to MacOS X 10.6.
70217         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
70218         memory layout of the locales in MacOS X 10.6 as well.
70219         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
70221 2010-04-02  Bruno Haible  <bruno@clisp.org>
70223         gnulib-tool: Ensure that long-running tests are executed last.
70224         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
70225         running tests after the one for the other tests.
70227 2010-04-02  Bruno Haible  <bruno@clisp.org>
70229         gnulib-tool: Ensure the tests in the main directory are executed first.
70230         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
70231         start with the current directory.
70233 2010-04-02  Bruno Haible  <bruno@clisp.org>
70235         Tests for module 'havelib', moved here from GNU gettext.
70236         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
70237         modifications.
70238         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
70239         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
70240         with modifications.
70241         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
70242         modifications.
70243         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
70244         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
70245         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
70246         with modifications.
70247         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
70248         with modifications.
70249         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
70250         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
70251         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
70252         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
70253         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
70254         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
70255         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
70256         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
70257         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
70258         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
70259         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
70260         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
70261         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
70262         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
70263         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
70264         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
70265         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
70266         with modifications.
70267         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
70268         with modifications.
70269         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
70270         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
70271         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
70272         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
70273         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
70274         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
70275         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
70276         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
70277         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
70278         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
70279         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
70280         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
70281         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
70282         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
70283         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
70284         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
70285         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
70286         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
70287         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
70288         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
70289         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
70290         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
70291         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
70292         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
70293         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
70294         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
70295         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
70296         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
70297         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
70298         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
70299         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
70300         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
70301         * tests/havelib/rpathx/rpathx.c: New file, from
70302         gettext/autoconf-lib-link.
70303         * tests/havelib/rpathx/Makefile.am: New file, from
70304         gettext/autoconf-lib-link.
70305         * tests/havelib/rpathx/configure.ac: New file, from
70306         gettext/autoconf-lib-link with modifications.
70307         * tests/havelib/rpathy/rpathy.c: New file, from
70308         gettext/autoconf-lib-link.
70309         * tests/havelib/rpathy/Makefile.am: New file, from
70310         gettext/autoconf-lib-link.
70311         * tests/havelib/rpathy/configure.ac: New file, from
70312         gettext/autoconf-lib-link with modifications.
70313         * tests/havelib/rpathz/rpathz.c: New file, from
70314         gettext/autoconf-lib-link.
70315         * tests/havelib/rpathz/Makefile.am: New file, from
70316         gettext/autoconf-lib-link.
70317         * tests/havelib/rpathz/configure.ac: New file, from
70318         gettext/autoconf-lib-link with modifications.
70319         * tests/havelib/rpathlx/usex.c: New file, from
70320         gettext/autoconf-lib-link.
70321         * tests/havelib/rpathlx/Makefile.am: New file, from
70322         gettext/autoconf-lib-link.
70323         * tests/havelib/rpathlx/configure.ac: New file, from
70324         gettext/autoconf-lib-link with modifications.
70325         * tests/havelib/rpathly/usey.c: New file, from
70326         gettext/autoconf-lib-link.
70327         * tests/havelib/rpathly/Makefile.am: New file, from
70328         gettext/autoconf-lib-link.
70329         * tests/havelib/rpathly/configure.ac: New file, from
70330         gettext/autoconf-lib-link with modifications.
70331         * tests/havelib/rpathlz/usez.c: New file, from
70332         gettext/autoconf-lib-link.
70333         * tests/havelib/rpathlz/Makefile.am: New file, from
70334         gettext/autoconf-lib-link.
70335         * tests/havelib/rpathlz/configure.ac: New file, from
70336         gettext/autoconf-lib-link with modifications.
70337         * tests/havelib/rpathlyx/usey.c: New file, from
70338         gettext/autoconf-lib-link.
70339         * tests/havelib/rpathlyx/Makefile.am: New file, from
70340         gettext/autoconf-lib-link.
70341         * tests/havelib/rpathlyx/configure.ac: New file, from
70342         gettext/autoconf-lib-link with modifications.
70343         * tests/havelib/rpathlzyx/usez.c: New file, from
70344         gettext/autoconf-lib-link.
70345         * tests/havelib/rpathlzyx/Makefile.am: New file, from
70346         gettext/autoconf-lib-link.
70347         * tests/havelib/rpathlzyx/configure.ac: New file, from
70348         gettext/autoconf-lib-link with modifications.
70349         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
70350         with modifications.
70352 2010-04-02  Bruno Haible  <bruno@clisp.org>
70354         gnulib-tool: Create distributed built sources also for the tests.
70355         * gnulib-tool (func_create_testdir): Also generate distributed built
70356         sources in the tests directory.
70358 2010-04-02  Bruno Haible  <bruno@clisp.org>
70360         gnulib-tool: Obey user's environment variables.
70361         * gnulib-tool (func_create_testdir): When creating built sources,
70362         respect the environment variables for autoconf, automake, etc. given by
70363         the user.
70365 2010-04-02  Bruno Haible  <bruno@clisp.org>
70367         gnulib-tool: Provide the value of --m4-base to modules.
70368         * gnulib-tool (func_import, func_create_testdir): Emit a definition
70369         of gl_m4_base.
70371 2010-04-02  Eric Blake  <eblake@redhat.com>
70373         maint.mk: fix some fallout
70374         * NEWS: Document the incompatible change, and its effect on cfg.mk.
70375         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
70377 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70379         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
70380         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
70381         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
70382         (sc_cast_of_x_alloc_return_value): Likewise.
70383         (sc_cast_of_alloca_return_value): Likewise.
70384         (sc_space_tab): Likewise.
70385         (sc_prohibit_atoi_atof): Likewise.
70386         (sc_prohibit_magic_number_exit): Likewise.
70387         (sc_error_exit_success): Likewise.
70388         (sc_file_system): Likewise.
70389         (sc_prohibit_have_config_h): Likewise.
70390         (sc_require_config_h): Likewise.
70391         (sc_prohibit_HAVE_MBRTOWC): Likewise.
70392         (sc_obsolete_symbols): Likewise.
70393         (sc_changelog): Likewise.
70394         (sc_program_name): Likewise.
70395         (sc_the_the): Likewise.
70396         (sc_trailing_blank): Likewise.
70397         (sc_two_space_separator_in_usage): Likewise.
70398         (sc_useless_cpp_parens): Likewise.
70399         (sc_GPL_version): Likewise.
70400         (sc_GFDL_version): Likewise.
70401         (sc_texinfo_acronym): Likewise.
70402         (sc_prohibit_cvs_keyword): Likewise.
70403         (sc_prohibit_stat_st_blocks): Likewise.
70404         (sc_prohibit_S_IS_definition): Likewise.
70405         (sc_redundant_const): Likewise.
70406         (sc_makefile_TAB_only_indentation): Likewise.
70407         (sc_m4_quote_check): Likewise.
70408         (sc_makefile_path_separator_check): Likewise.
70409         (sc_copyright_check): Likewise.
70410         (sc_Wundef_boolean): Likewise.
70411         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
70413         maint.mk: match 0 or more whitespace-before-function-call '('
70414         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
70415         that have zero or two-and-more spaces between the function name
70416         and the open parenthesis.
70417         (sc_error_message_warn_fatal): Likewise.
70418         (sc_error_message_uppercase): Likewise.
70419         (sc_error_message_period): Likewise.
70421 2010-03-31  Eric Blake  <eblake@redhat.com>
70423         maint.mk: check for [ as well as test
70424         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
70425         Based on a libvirt report by Matthias Bolte.
70427         gnumakefile: don't squelch _version output
70428         * top/GNUmakefile (_version): Create one-shot dependency rather
70429         than using $(shell) when version must be regenerated.
70430         (_autoreconf): Run verbosely, by default.
70432         sys_time: avoid compiler warnings
70433         * lib/sys_time.in.h (includes): Ensure gcc pragma is
70434         unconditional, fixing regression from 2010-03-29.
70435         Reported by Simon Josefsson.
70437 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
70439         maint.mk: s/_header_without_use/_sc_header_without_use/
70440         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
70441         (sc_prohibit_assert_without_use): Use the new name.
70442         (sc_prohibit_close_stream_without_use): Likewise.
70443         (sc_prohibit_getopt_without_use): Likewise.
70444         (sc_prohibit_quotearg_without_use): Likewise.
70445         (sc_prohibit_quote_without_use): Likewise.
70446         (sc_prohibit_long_options_without_use): Likewise.
70447         (sc_prohibit_inttostr_without_use): Likewise.
70448         (sc_prohibit_ignore_value_without_use): Likewise.
70449         (sc_prohibit_error_without_use): Likewise.
70450         (sc_prohibit_xalloc_without_use): Likewise.
70451         (sc_prohibit_hash_without_use): Likewise.
70452         (sc_prohibit_hash_pjw_without_use): Likewise.
70453         (sc_prohibit_safe_read_without_use): Likewise.
70454         (sc_prohibit_argmatch_without_use): Likewise.
70455         (sc_prohibit_canonicalize_without_use): Likewise.
70456         (sc_prohibit_root_dev_ino_without_use): Likewise.
70457         (sc_prohibit_openat_without_use): Likewise.
70458         (sc_prohibit_c_ctype_without_use): Likewise.
70459         (sc_prohibit_signal_without_use): Likewise.
70460         (sc_prohibit_intprops_without_use): Likewise.
70462 2010-03-30  Eric Blake  <eblake@redhat.com>
70464         maint: improve module indicators
70465         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
70466         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
70467         columns, and avoid extra macro expansion.
70469         fdopendir: work around FreeBSD bug
70470         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
70471         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
70472         * modules/dirent (Makefile.am): Substitute it.
70473         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
70474         declaration.
70475         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
70476         fix.
70477         Reported by Christian Weisgerber <naddy@mips.inka.de>.
70479 2010-03-29  Bruno Haible  <bruno@clisp.org>
70481         Emit #pragma system_header after the inclusion guard, not before.
70482         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
70483         guard that spans the entire file, not before. This enables an
70484         optimization in GCC's preprocessor.
70485         * lib/ctype.in.h: Likewise.
70486         * lib/dirent.in.h: Likewise.
70487         * lib/errno.in.h: Likewise.
70488         * lib/float.in.h: Likewise.
70489         * lib/getopt.in.h: Likewise.
70490         * lib/iconv.in.h: Likewise.
70491         * lib/langinfo.in.h: Likewise.
70492         * lib/locale.in.h: Likewise.
70493         * lib/math.in.h: Likewise.
70494         * lib/netdb.in.h: Likewise.
70495         * lib/netinet_in.in.h: Likewise.
70496         * lib/pty.in.h: Likewise.
70497         * lib/sched.in.h: Likewise.
70498         * lib/se-selinux.in.h: Likewise.
70499         * lib/search.in.h: Likewise.
70500         * lib/spawn.in.h: Likewise.
70501         * lib/stdarg.in.h: Likewise.
70502         * lib/stdint.in.h: Likewise.
70503         * lib/string.in.h: Likewise.
70504         * lib/strings.in.h: Likewise.
70505         * lib/sys_file.in.h: Likewise.
70506         * lib/sys_ioctl.in.h: Likewise.
70507         * lib/sys_time.in.h: Likewise.
70508         * lib/sys_times.in.h: Likewise.
70509         * lib/sys_utsname.in.h: Likewise.
70510         * lib/sys_wait.in.h: Likewise.
70511         * lib/sysexits.in.h: Likewise.
70512         * lib/wctype.in.h: Likewise.
70514 2010-03-28  James Youngman  <jay@gnu.org>
70516         save-cwd: don't leak a file descriptor when the caller execs.
70517         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
70518         saved file descriptor.
70519         * modules/save-cwd (Depends-on): Depend on cloexec.
70521 2010-03-29  Bruno Haible  <bruno@clisp.org>
70523         Remove vestiges of fts-lgpl module.
70524         * lib/fts_.h: Assume GNULIB_FTS is 1.
70525         * lib/fts.c: Likewise.
70526         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70528 2010-03-28  Bruno Haible  <bruno@clisp.org>
70530         Fix definition of tests witness macro.
70531         * gnulib-tool (func_import): Fix definition of witness macro.
70533 2010-03-28  Bruno Haible  <bruno@clisp.org>
70535         Fix ioctl's protoype on glibc systems.
70536         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
70537         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
70538         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
70539         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
70540         signature. If not, arrange to replace the ioctl function.
70541         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
70542         REPLACE_IOCTL.
70543         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
70544         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
70545         Reported by Ludovic Courtès <ludo@gnu.org>.
70547 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
70549         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
70550         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
70551         made it so grep -r --include=GLOB* ... did not work.
70553 2010-03-26  Jim Meyering  <meyering@redhat.com>
70554             Eric Blake  <eblake@redhat.com>
70556         maint.mk: prohibit use of test's -o and -a operators
70557         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
70559 2010-03-28  Bruno Haible  <bruno@clisp.org>
70561         Remove unused GNULIB_XYZ macro definitions.
70562         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
70563         invocation.
70565 2010-03-28  Bruno Haible  <bruno@clisp.org>
70567         Mark privileged tests modules.
70568         * modules/idpriv-drop-tests (Status): New section.
70569         * modules/idpriv-droptemp-tests (Status): New section.
70571 2010-03-28  Bruno Haible  <bruno@clisp.org>
70573         Split C++ tests into separate tests modules.
70574         * modules/dirent-c++-tests: New file, extracted from
70575         modules/dirent-tests.
70576         * modules/dirent-tests: Depend on it.
70577         * modules/fcntl-h-c++-tests: New file, extracted from
70578         modules/fcntl-h-tests.
70579         * modules/fcntl-h-tests: Depend on it.
70580         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
70581         * modules/glob-tests: Depend on it.
70582         * modules/iconv-h-c++-tests: New file, extracted from
70583         modules/iconv-h-tests.
70584         * modules/iconv-h-tests: Depend on it.
70585         * modules/langinfo-c++-tests: New file, extracted from
70586         modules/langinfo-tests.
70587         * modules/langinfo-tests: Depend on it.
70588         * modules/locale-c++-tests: New file, extracted from
70589         modules/locale-tests.
70590         * modules/locale-tests: Depend on it.
70591         * modules/math-c++-tests: New file, extracted from modules/math-tests.
70592         * modules/math-tests: Depend on it.
70593         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
70594         * modules/pty-tests: Depend on it.
70595         * modules/search-c++-tests: New file, extracted from
70596         modules/search-tests.
70597         * modules/search-tests: Depend on it.
70598         * modules/signal-c++-tests: New file, extracted from
70599         modules/signal-tests.
70600         * modules/signal-tests: Depend on it.
70601         * modules/spawn-c++-tests: New file, extracted from
70602         modules/spawn-tests.
70603         * modules/spawn-tests: Depend on it.
70604         * modules/stdio-c++-tests: New file, extracted from
70605         modules/stdio-tests.
70606         * modules/stdio-tests: Depend on it.
70607         * modules/stdlib-c++-tests: New file, extracted from
70608         modules/stdlib-tests.
70609         * modules/stdlib-tests: Depend on it.
70610         * modules/string-c++-tests: New file, extracted from
70611         modules/string-tests.
70612         * modules/string-tests: Depend on it.
70613         * modules/sys_ioctl-c++-tests: New file, extracted from
70614         modules/sys_ioctl-tests.
70615         * modules/sys_ioctl-tests: Depend on it.
70616         * modules/sys_select-c++-tests: New file, extracted from
70617         modules/sys_select-tests.
70618         * modules/sys_select-tests: Depend on it.
70619         * modules/sys_socket-c++-tests: New file, extracted from
70620         modules/sys_socket-tests.
70621         * modules/sys_socket-tests: Depend on it.
70622         * modules/sys_stat-c++-tests: New file, extracted from
70623         modules/sys_stat-tests.
70624         * modules/sys_stat-tests: Depend on it.
70625         * modules/sys_time-c++-tests: New file, extracted from
70626         modules/sys_time-tests.
70627         * modules/sys_time-tests: Depend on it.
70628         * modules/time-c++-tests: New file, extracted from modules/time-tests.
70629         * modules/time-tests: Depend on it.
70630         * modules/unistd-c++-tests: New file, extracted from
70631         modules/unistd-tests.
70632         * modules/unistd-tests: Depend on it.
70633         * modules/wchar-c++-tests: New file, extracted from
70634         modules/wchar-tests.
70635         * modules/wchar-tests: Depend on it.
70636         * modules/wctype-c++-tests: New file, extracted from
70637         modules/wctype-tests.
70638         * modules/wctype-tests: Depend on it.
70639         Reported by Simon Josefsson.
70641 2010-03-28  Bruno Haible  <bruno@clisp.org>
70643         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
70644         * gnulib-tool (func_exists_module): New function, extracted from
70645         func_verify_module.
70646         (func_verify_module): Use it.
70647         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
70648         'foo' only if 'foo' exists.
70649         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
70650         module.
70652 2010-03-28  Bruno Haible  <bruno@clisp.org>
70654         gnulib-tool: Add support for special categories of tests.
70655         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
70656         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
70657         (func_usage): Document them.
70658         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
70659         inc_unportable_tests, inc_all_tests): New variables.
70660         (func_acceptable): Consider these variables.
70661         (func_modules_transitive_closure): Make it work when the 'Status' field
70662         consists of multiple words.
70663         (func_import): Store and restore the values of inc_cxx_tests,
70664         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
70665         inc_all_tests in gnulib-comp.m4.
70666         (func_create_testdir): Set inc_all_tests to true.
70667         * doc/gnulib.texi (Extra tests modules): New section.
70668         Suggested by Jim Meyering.
70670 2010-03-28  Bruno Haible  <bruno@clisp.org>
70672         ansi-c++-opt: Allow turning off the C++ build by default.
70673         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
70674         gl_CXX_CHOICE_DEFAULT_NO is defined.
70675         Requested by Eric Blake.
70677 2010-03-28  Bruno Haible  <bruno@clisp.org>
70679         unistd: Avoid #define replacements in C++ mode.
70680         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
70681         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
70682         setsockopt, shutdown, select): In C++, attach a warning to the function
70683         if possible, rather than #defining the symbol to a dysfunctional alias.
70684         Reported by John W. Eaton <jwe@gnu.org>.
70686 2010-03-28  Bruno Haible  <bruno@clisp.org>
70688         Fix link errors on mingw.
70689         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
70690         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
70691         $(LIBSOCKET).
70692         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
70693         $(LIBSOCKET).
70695 2010-03-28  Bruno Haible  <bruno@clisp.org>
70696             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70698         lib-ignore: Determine different options for different compilers.
70699         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
70700         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
70701         Add comments.
70702         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
70703         * NEWS: Mention the change.
70705 2010-03-27  Bruno Haible  <bruno@clisp.org>
70707         Remove unused GNULIB_XYZ macro definitions.
70708         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70709         * modules/fseek (configure.ac): Likewise.
70710         * modules/ioctl (configure.ac): Likewise.
70711         * modules/open (configure.ac): Likewise.
70712         * modules/stdlib-safer (configure.ac): Likewise.
70714 2010-03-27  Bruno Haible  <bruno@clisp.org>
70716         Add a remark about certain modules.
70717         * modules/malloc (Comment): New section.
70718         * modules/realloc (Comment): Likewise.
70719         * modules/sigpipe (Comment): Likewise.
70721 2010-03-27  Bruno Haible  <bruno@clisp.org>
70723         Resolve conflict between the two kinds of module indicators.
70724         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
70725         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
70726         * modules/canonicalize (configure.ac): Invoke
70727         gl_MODULE_INDICATOR_FOR_TESTS.
70728         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
70729         GNULIB_XYZ.
70730         * tests/test-dirent-c++.cc: Likewise.
70731         * tests/test-dirent-safer.c: Likewise.
70732         * tests/test-dup2.c: Likewise.
70733         * tests/test-fchdir.c: Likewise.
70734         * tests/test-fcntl-h-c++.cc: Likewise.
70735         * tests/test-getopt.c: Likewise.
70736         * tests/test-getopt.h: Likewise.
70737         * tests/test-langinfo-c++.cc: Likewise.
70738         * tests/test-locale-c++.cc: Likewise.
70739         * tests/test-math-c++.cc: Likewise.
70740         * tests/test-pty-c++.cc: Likewise.
70741         * tests/test-search-c++.cc: Likewise.
70742         * tests/test-signal-c++.cc: Likewise.
70743         * tests/test-spawn-c++.cc: Likewise.
70744         * tests/test-stdio-c++.cc: Likewise.
70745         * tests/test-stdlib-c++.cc: Likewise.
70746         * tests/test-string-c++.cc: Likewise.
70747         * tests/test-sys_ioctl-c++.cc: Likewise.
70748         * tests/test-sys_select-c++.cc: Likewise.
70749         * tests/test-sys_socket-c++.cc: Likewise.
70750         * tests/test-sys_stat-c++.cc: Likewise.
70751         * tests/test-sys_time-c++.cc: Likewise.
70752         * tests/test-time-c++.cc: Likewise.
70753         * tests/test-unistd-c++.cc: Likewise.
70754         * tests/test-wchar-c++.cc: Likewise.
70755         * tests/uninorm/test-u8-nfc.c: Likewise.
70756         * tests/uninorm/test-u8-nfd.c: Likewise.
70757         * tests/uninorm/test-u8-nfkc.c: Likewise.
70758         * tests/uninorm/test-u8-nfkd.c: Likewise.
70759         * tests/uninorm/test-u16-nfc.c: Likewise.
70760         * tests/uninorm/test-u16-nfd.c: Likewise.
70761         * tests/uninorm/test-u16-nfkc.c: Likewise.
70762         * tests/uninorm/test-u16-nfkd.c: Likewise.
70763         * tests/uninorm/test-u32-nfc.c: Likewise.
70764         * tests/uninorm/test-u32-nfc-big.c: Likewise.
70765         * tests/uninorm/test-u32-nfd.c: Likewise.
70766         * tests/uninorm/test-u32-nfd-big.c: Likewise.
70767         * tests/uninorm/test-u32-nfkc.c: Likewise.
70768         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
70769         * tests/uninorm/test-u32-nfkd.c: Likewise.
70770         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
70771         * tests/uninorm/test-u32-normalize-big.c: Likewise.
70773 2010-03-27  Bruno Haible  <bruno@clisp.org>
70775         Distinguish two kinds of module indicators.
70776         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
70777         gl_MODULE_INDICATOR.
70778         (gl_MODULE_INDICATOR): New macro.
70779         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70780         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
70781         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70782         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70783         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70784         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70785         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70786         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70787         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70788         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70789         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70790         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70791         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70792         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70793         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70794         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70795         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70796         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70797         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70798         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70799         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70800         * modules/cloexec (configure.ac): Likewise.
70801         * modules/getopt-gnu (configure.ac): Likewise.
70802         * modules/uninorm/u8-normalize (configure.ac): Likewise.
70803         * modules/uninorm/u16-normalize (configure.ac): Likewise.
70804         * modules/uninorm/u32-normalize (configure.ac): Likewise.
70805         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
70807 2010-03-27  Bruno Haible  <bruno@clisp.org>
70809         New module description field 'Comment'.
70810         * gnulib-tool: New option --extract-comment.
70811         (func_usage): Document it.
70812         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
70813         (func_get_comment): New function.
70814         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
70816 2010-03-27  Bruno Haible  <bruno@clisp.org>
70818         Addendum to 2010-02-07 commit.
70819         * gnulib-tool (func_usage): Document --extract-applicability option.
70821 2010-03-27  Bruno Haible  <bruno@clisp.org>
70823         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
70824         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
70825         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
70826         rather than link errors.
70828 2010-03-27  Bruno Haible  <bruno@clisp.org>
70830         Avoid side effects from tests-related modules on the compilation of lib.
70831         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
70832         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
70833         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
70834         parameter. Emit into AM_CPPFLAGS a definition of the designated C
70835         macro.
70836         (func_import): Define a witness macro. Assign it a value that depends
70837         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
70838         tests-related modules.
70839         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
70840         Reported by Jim Meyering.
70842 2010-03-27  Bruno Haible  <bruno@clisp.org>
70844         Factorize common .m4 code.
70845         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
70846         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
70847         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
70848         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
70849         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70850         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
70851         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
70852         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70853         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70854         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70855         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
70856         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70857         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70858         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70859         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70860         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
70861         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70862         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70863         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70864         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
70865         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
70866         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70867         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70868         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70869         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70870         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70871         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
70872         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
70873         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
70874         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70875         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70876         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70878 2010-03-27  Bruno Haible  <bruno@clisp.org>
70880         Fix a compilation error on Cygwin with g++ >= 4.3.
70881         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
70882         if it is undefined or if we alias it to chmod.
70883         (lstat): Don't warn about the use of this function if it is undefined
70884         or if we alias it to stat.
70885         Reported by Simon Josefsson.
70887 2010-03-27  Bruno Haible  <bruno@clisp.org>
70889         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
70890         * modules/getlogin (configure.ac): Update.
70892         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
70893         * modules/getlogin_r (configure.ac): Update.
70895         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
70896         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
70897         * modules/inet_ntop (configure.ac): Update.
70899         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
70900         * modules/inet_pton (configure.ac): Update.
70902         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
70903         * modules/mbslen (configure.ac): Update.
70905         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
70906         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
70907         * modules/forkpty (configure.ac): Update.
70908         * modules/openpty (configure.ac): Update.
70910 2010-03-26  Simon Josefsson  <simon@josefsson.org>
70912         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
70913         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
70915 2010-03-25  Eric Blake  <eblake@redhat.com>
70917         maint: use pragma consistently across replacement headers
70918         * lib/ctype.in.h (system_header): Hoist for consistent placement.
70919         * lib/dirent.in.h (system_header): Likewise.
70920         * lib/errno.in.h (system_header): Likewise.
70921         * lib/float.in.h (system_header): Likewise.
70922         * lib/getopt.in.h (system_header): Likewise.
70923         * lib/iconv.in.h (system_header): Likewise.
70924         * lib/inttypes.in.h (system_header): Likewise.
70925         * lib/langinfo.in.h (system_header): Likewise.
70926         * lib/locale.in.h (system_header): Likewise.
70927         * lib/math.in.h (system_header): Likewise.
70928         * lib/netdb.in.h (system_header): Likewise.
70929         * lib/netinet_in.in.h (system_header): Likewise.
70930         * lib/pty.in.h (system_header): Likewise.
70931         * lib/sched.in.h (system_header): Likewise.
70932         * lib/se-selinux.in.h (system_header): Likewise.
70933         * lib/search.in.h (system_header): Likewise.
70934         * lib/spawn.in.h (system_header): Likewise.
70935         * lib/stdarg.in.h (system_header): Likewise.
70936         * lib/stdint.in.h (system_header): Likewise.
70937         * lib/string.in.h (system_header): Likewise.
70938         * lib/strings.in.h (system_header): Likewise.
70939         * lib/sys_file.in.h (system_header): Likewise.
70940         * lib/sys_ioctl.in.h (system_header): Likewise.
70941         * lib/sys_socket.in.h (system_header): Likewise.
70942         * lib/sys_times.in.h (system_header): Likewise.
70943         * lib/sys_utsname.in.h (system_header): Likewise.
70944         * lib/sys_wait.in.h (system_header): Likewise.
70945         * lib/sysexits.in.h (system_header): Likewise.
70946         * lib/unistd.in.h (system_header): Likewise.
70947         * lib/wctype.in.h (system_header): Likewise.
70949         arpa/inet: fix mingw compilation warning
70950         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
70951         Reported by Matthew Bolte.
70953 2010-03-25  Bruno Haible  <bruno@clisp.org>
70955         Avoid collision between gnulib wrapper and libintl wrapper.
70956         * lib/printf.c (printf): Don't define if a printf wrapper is already
70957         defined in intl/printf.c.
70958         Reported by Michel Boaventura <michel@michelboaventura.com>.
70960 2010-03-25  Bruno Haible  <bruno@clisp.org>
70962         Use ANSI C.
70963         * lib/readutmp.h (getutent): Provide ANSI C prototype.
70965 2010-03-25  Bruno Haible  <bruno@clisp.org>
70967         Minor formatting changes.
70968         * lib/acosl.c: Insert space before function argument list.
70969         * lib/argz.c: Likewise.
70970         * lib/asinl.c: Likewise.
70971         * lib/expl.c: Likewise.
70972         * lib/gen-uni-tables.c: Likewise.
70973         * lib/gettext.h: Likewise.
70974         * lib/glthread/lock.h: Likewise.
70975         * lib/tanl.c: Likewise.
70976         * lib/uniname/uniname.c: Likewise.
70977         * tests/test-idpriv-drop.c: Likewise.
70978         * tests/test-idpriv-droptemp.c: Likewise.
70979         * tests/test-lock.c: Likewise.
70980         * tests/test-tls.c: Likewise.
70981         * lib/argp-help.c: Insert space before function-like macro argument
70982         list.
70983         * lib/memcmp.c: Likewise.
70984         * tests/test-base64.c: Likewise.
70985         * lib/localename.c: Insert space before sizeof's argument list.
70986         * lib/safe-alloc.h: Likewise.
70987         * lib/file-set.h: Insert space before macro argument list.
70988         * tests/test-argp.c: Likewise.
70989         * lib/argp-namefrob.h: Insert space before function parameter list.
70990         * lib/getaddrinfo.c: Likewise.
70991         * lib/netdb.in.h: Likewise.
70992         * lib/parse-duration.h: Likewise.
70993         * lib/parse-duration.c: Likewise.
70994         * lib/poll.c: Likewise.
70995         * lib/select.c: Likewise.
70996         * lib/trim.h: Likewise.
70997         * tests/test-usleep.c: Likewise.
70998         * lib/ldexpl.c: Insert space before function parameter list and before
70999         function argument list.
71000         * lib/logl.c: Likewise.
71001         * lib/sqrtl.c: Likewise.
71002         * lib/trim.c: Likewise.
71003         * lib/cosl.c: Use GNU style indentation. Insert space before function
71004         argument list.
71005         * lib/sinl.c: Likewise.
71006         * lib/tsearch.c: Insert space after 'for'.
71007         Reported by Jim Meyering.
71009 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
71011         * maint.mk (sc_Wundef_boolean): Check for the presence of the
71012         config header before grepping, as it's not present before
71013         autoreconf/configure are run.  Reported by Simon Josefsson.
71015 2010-03-23  Bruno Haible  <bruno@clisp.org>
71017         pt_chown: Make it work with automake < 1.11.
71018         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
71019         Reported by Simon Josefsson.
71021 2010-03-23  Bruno Haible  <bruno@clisp.org>
71023         pt_chown: Don't depend on GPLed modules.
71024         * lib/pt_chown.c: Don't include idpriv.h.
71025         (main): Don't drop privileges.
71026         * modules/pt_chown (Depends-on): Remove idpriv-drop.
71027         Reported by Simon Josefsson.
71029 2010-03-24  Simon Josefsson  <simon@josefsson.org>
71031         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
71032         suggestions from karl@freefriends.org (Karl Berry).
71034 2010-03-22  Eric Blake  <eblake@redhat.com>
71036         gethostname: further tweaks
71037         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
71038         are overriding gethostname.
71039         Suggested by Bruno Haible.
71041 2010-03-21  Bruno Haible  <bruno@clisp.org>
71043         Fix comments.
71044         * lib/forkpty.c (rpl_forkpty): Fix comment.
71045         * lib/openpty.c (rpl_openpty): Likewise.
71046         Reported by Eric Blake.
71048 2010-03-22  Eric Blake  <eblake@redhat.com>
71050         gethostname: fix build on mingw
71051         * lib/unistd.in.h (includes): Work around fact that mingw
71052         <winsock2.h> re-includes <unistd.h>, by avoiding any
71053         redeclarations if we are being included by <winsock2.h>.
71054         Reported by Matthias Bolte.
71056 2010-03-21  Bruno Haible  <bruno@clisp.org>
71058         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71059         * lib/forkpty.c (forkpty): New replacement function, from glibc with
71060         modifications.
71061         * lib/pty.in.h (forkpty): Update declaration. Add comments.
71062         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
71063         provide the replacement.
71064         * modules/forkpty (Depends-on): Add openpty, login_tty.
71065         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
71066         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
71067         * doc/glibc-functions/forkpty.texi: More supported platforms.
71068         * config/srclist.txt: Add forkpty.c (commented).
71070 2010-03-21  Bruno Haible  <bruno@clisp.org>
71072         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
71073         (Makefile.am): Verify that PTY_LIB is defined.
71075         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
71077 2010-03-21  Bruno Haible  <bruno@clisp.org>
71079         Tests for module 'login_tty'.
71080         * modules/login_tty-tests: New file.
71081         * tests/test-login_tty.c: New file.
71083         New module 'login_tty'.
71084         * lib/login_tty.c: New file.
71085         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
71086         * modules/login_tty: New file.
71087         * doc/glibc-functions/login_tty.texi: Mention the new module.
71089 2010-03-21  Bruno Haible  <bruno@clisp.org>
71091         login_tty: Documentation.
71092         * doc/glibc-functions/login_tty.texi: New file.
71093         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
71095 2010-03-21  Bruno Haible  <bruno@clisp.org>
71097         pty: Consistent macro naming.
71098         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
71099         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
71100         * modules/pty (configure.ac): Update.
71102 2010-03-21  Bruno Haible  <bruno@clisp.org>
71104         Tests for openpty: Make stricter.
71105         * tests/test-openpty.c (main): Add test of canonical processing and
71106         erase.
71107         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
71109         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
71110         * lib/openpty.c (openpty): New replacement function.
71111         * lib/pty.in.h: Include <termios.h>.
71112         (openpty): Update declaration. Add comments.
71113         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
71114         is not declared, arrange to provide the replacement. Check for _getpty
71115         and posix_openpt.
71116         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
71117         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
71118         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
71119         * modules/pty-tests (test_pty_c___LDADD): New variable.
71120         * doc/glibc-functions/openpty.texi: More supported platforms.
71122 2010-03-21  Bruno Haible  <bruno@clisp.org>
71124         setenv: Tweaks.
71125         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
71126         the test program.
71127         * doc/posix-functions/setenv.texi: Update platforms list.
71129 2010-03-21  Bruno Haible  <bruno@clisp.org>
71131         New module 'unlockpt'.
71132         * lib/unlockpt.c: New file, from glibc with modifications.
71133         * m4/unlockpt.m4: New file.
71134         * modules/unlockpt: New file.
71135         * lib/stdlib.in.h (unlockpt): New declaration.
71136         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
71137         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
71138         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
71139         HAVE_UNLOCKPT.
71140         * doc/posix-functions/unlockpt.texi: Mention the new module.
71141         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
71142         * config/srclist.txt: Add unlockpt.c (commented).
71144 2010-03-21  Jim Meyering  <meyering@redhat.com>
71146         maint.mk: prohibit inclusion of "intprops.h" without use
71147         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
71149 2010-03-21  Bruno Haible  <bruno@clisp.org>
71151         New module 'grantpt'.
71152         * lib/grantpt.c: New file, from glibc with modifications.
71153         * m4/grantpt.m4: New file.
71154         * modules/grantpt: New file.
71155         * lib/stdlib.in.h (grantpt): New declaration.
71156         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
71157         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
71158         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
71159         HAVE_GRANTPT.
71160         * doc/posix-functions/grantpt.texi: Mention the new module.
71161         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
71162         * config/srclist.txt: Add grantpt.c (commented).
71164 2010-03-21  Bruno Haible  <bruno@clisp.org>
71166         New module 'pt_chown'.
71167         * lib/pt_chown.c: New file, from glibc with modifications.
71168         * lib/pty-private.h: New file, from glibc with modifications.
71169         * modules/pt_chown: New file.
71170         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
71172 2010-03-21  Bruno Haible  <bruno@clisp.org>
71174         Tests for module 'ptsname'.
71175         * modules/ptsname-tests: New file.
71176         * tests/test-ptsname.c: New file.
71178         New module 'ptsname'.
71179         * lib/ptsname.c: New file, from glibc with modifications.
71180         * m4/ptsname.m4: New file.
71181         * modules/ptsname: New file.
71182         * lib/stdlib.in.h (ptsname): New declaration.
71183         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
71184         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
71185         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
71186         HAVE_PTSNAME.
71187         * doc/posix-functions/ptsname.texi: Mention the new module.
71188         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
71189         * config/srclist.txt: Add ptsname.c (commented).
71191 2010-03-21  Bruno Haible  <bruno@clisp.org>
71193         Tests for module 'ttyname_r'.
71194         * modules/ttyname_r-tests: New file.
71195         * tests/test-ttyname_r.c: New file.
71197         New module 'ttyname_r'.
71198         * lib/ttyname_r.c: New file.
71199         * m4/ttyname_r.m4: New file.
71200         * modules/ttyname_r: New file.
71201         * lib/unistd.in.h (ttyname_r): New declaration.
71202         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
71203         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
71204         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
71205         HAVE_TTYNAME_R.
71206         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
71207         * doc/posix-functions/ttyname_r.texi: Mention the new module.
71209 2010-03-20  Bruno Haible  <bruno@clisp.org>
71211         signal: Undefine macro definitions in C++ mode.
71212         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
71213         sigfillset): Undefine macro definitions from the system header in C++
71214         mode.
71215         Reported by John W. Eaton <jwe@gnu.org>.
71217 2010-03-20  Bruno Haible  <bruno@clisp.org>
71219         Ensure no #include statements inside extern "C" { ... }.
71220         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
71221         contain #include statements.
71222         * lib/time.in.h: Likewise.
71224 2010-03-20  Bruno Haible  <bruno@clisp.org>
71226         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
71227         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
71228         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
71229         Reported by John W. Eaton <jwe@gnu.org>.
71231 2010-03-20  Bruno Haible  <bruno@clisp.org>
71233         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
71234         Reported by Jim Meyering.
71236 2010-03-20  Bruno Haible  <bruno@clisp.org>
71238         pipe: Set errno upon failure.
71239         * lib/pipe.h: Specify that when -1 is returned, errno is set.
71240         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
71241         errno value in error message.
71243 2010-03-20  Bruno Haible  <bruno@clisp.org>
71244             Jim Meyering  <meyering@redhat.com>
71246         lchown: Avoid "unused variable" warning.
71247         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
71249 2010-03-20  Bruno Haible  <bruno@clisp.org>
71251         Work around unlink() bug on MacOS X 10.5.6.
71252         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
71253         attempting to unlink a parent directory.
71254         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
71255         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
71256         activate for the replacement function.
71257         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
71259 2010-03-20  Bruno Haible  <bruno@clisp.org>
71261         Fix link errors on Solaris 8.
71262         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
71263         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
71265 2010-03-19  Jim Meyering  <meyering@redhat.com>
71267         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
71268         The _LIBC implementation of build_range_exp correctly honors the
71269         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
71270         However, the non-_LIBC implementation would ignore that syntax-bit
71271         flag and return REG_ERANGE unconditionally.
71272         This change makes it honor that flag.
71273         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
71274         Make two pointer parameters "const".
71275         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
71276         (parse_bracket_exp): Update caller.
71278         regex.m4: correct the reversed range endpoint ([b-a]) test
71279         * m4/regex.m4: When requiring that [b-a] evoke failure,
71280         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
71281         test pass once again for x86-based systems.
71283 2010-03-19  Bruno Haible  <bruno@clisp.org>
71285         scandir: Fix link error on Solaris 8.
71286         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
71287         macros.
71289 2010-03-19  Bruno Haible  <bruno@clisp.org>
71291         getusershell: Fix documentation.
71292         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
71293         module.
71294         * doc/glibc-functions/setusershell.texi: Likewise.
71296         getusershell: Provide declaration, missing on Solaris 9.
71297         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
71298         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
71299         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
71300         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
71301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
71302         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
71303         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
71304         HAVE_GETUSERSHELL.
71305         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
71307 2010-03-19  Bruno Haible  <bruno@clisp.org>
71309         wctype: Provide iswblank function.
71310         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
71311         exists and is fine.
71312         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
71313         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
71314         * tests/test-wctype.c (main): Re-enable the iswblank tests.
71315         * doc/posix-functions/iswblank.texi: Update.
71317 2010-03-19  Bruno Haible  <bruno@clisp.org>
71319         Tests of module 'pty' in C++ mode.
71320         * modules/pty-tests: New file.
71321         * tests/test-pty-c++.cc: New file.
71322         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71324 2010-03-19  Eric Blake  <eblake@redhat.com>
71326         logb: fix documentation
71327         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
71328         1.5 declaration bug.
71330         forkpty, openpty: prefer glibc's const-safe prototype
71331         * lib/forkpty.c (rpl_forkpty): New file.
71332         * lib/openpty.c (rpl_openpty): Likewise.
71333         * modules/forkpty (Files): Distribute it.
71334         * modules/openpty (Files): Likewise.
71335         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
71336         check...
71337         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
71338         replacement for non-const BSD signature.
71339         * modules/pty (Makefile.am): Substitute witnesses.
71340         * lib/pty.in.h (forkpty, openpty): Declare replacements.
71341         * tests/test-forkpty.c: Update signature check.
71342         * tests/test-openpty.c: Likewise.
71343         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
71344         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71346         forkpty, openpty: split functions into new modules
71347         * modules/pty (Makefile.am): Substitute new witnesses.
71348         (Libraries): Move library detection...
71349         * modules/forkpty: ...into new module.
71350         * modules/openpty: Another new module.
71351         * modules/pty-tests: Rename and split...
71352         * modules/forkpty-tests: ...to this...
71353         * modules/openpty-tests: ...and this.
71354         * tests/test-pty.c: Rename and split...
71355         * tests/test-forkpty.c: ...to this...
71356         * tests/test-openpty.c: ...and this.
71357         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
71358         (gl_PTY): Split library searching...
71359         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
71360         (gl_FORKPTY, gl_OPENPTY): New macros.
71361         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
71362         * NEWS: Mention the split.
71363         * MODULES.html.sh (Misc): Document the modules.
71364         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
71365         * doc/glibc-functions/openpty.texi (openpty): Likewise.
71367         pty: improve replacement header
71368         * lib/pty.in.h: New file.
71369         * modules/pty (Files): Ship it.
71370         (Makefile.am): Always build replacement.
71371         * m4/pty.m4: Rename...
71372         * m4/pty_h.m4: ...to this.
71373         (gl_PTY): Modernize setting of witness macros; update check of
71374         forkpty to take proper advantage of cache.
71375         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
71377         getopt: avoid compiler warning
71378         * lib/getopt.c (attribute_hidden): Remove unused macro.
71380 2010-03-18  Bruno Haible  <bruno@clisp.org>
71382         Fix link errors on Solaris 8.
71383         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
71384         * modules/search-tests (test_search_c___LDADD): Likewise.
71385         * modules/signal-tests (test_signal_c___LDADD): Likewise.
71386         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
71387         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
71388         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
71389         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
71390         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
71391         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
71393 2010-03-18  Bruno Haible  <bruno@clisp.org>
71395         Fix bug introduced on 2010-03-14.
71396         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
71397         (gl_SPAWN_H): Require it.
71398         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
71399         Reported by Simon Josefsson.
71401 2010-03-18  Bruno Haible  <bruno@clisp.org>
71403         Fix typo introduced on 2009-12-31.
71404         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
71405         posix_spawn_file_actions_adddup2.
71407 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
71408         and Eric Blake  <eblake@redhat.com>
71410         test-vc-list-files-git: make more robust
71411         * tests/test-vc-list-files-git.sh: Unset problematic environment
71412         variables.  Chain commands together.
71414 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
71416         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
71417         `AC_CHECK_DECL' invocation.
71419 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
71421         * lib/inttostr.c (inttostr): Make sure the invocation of verify
71422         appears before executable statements. Suggested by Petr Sumbera
71423         <Petr.Sumbera@Sun.COM>.
71425 2010-03-14  Bruno Haible  <bruno@clisp.org>
71427         * tests/test-flock.c (test_exclusive): Comment out a test that causes
71428         portability problems. Instead use a simpler test.
71429         (main): Check that invalid arguments are rejected only on Linux.
71431 2010-03-14  Bruno Haible  <bruno@clisp.org>
71433         Fix bug introduced on 2009-12-31.
71434         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
71435         gl_PREREQ_SYS_H_WINSOCK2 always.
71436         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
71437         SYS_SOCKET_H variable.
71438         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
71439         Update comments.
71440         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
71441         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
71442         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
71443         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
71444         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
71446 2010-03-14  Bruno Haible  <bruno@clisp.org>
71448         Fix values returned by sinl, cosl.
71449         * lib/trigl.h: Add specification comments.
71450         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
71451         that combines the values from the precomputed table with the values of
71452         the Chebyshev polynomials.
71454 2010-03-14  Bruno Haible  <bruno@clisp.org>
71456         Fix compilation error when modules 'posix_spawn[p]' are not used.
71457         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
71458         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
71460 2010-03-14  Bruno Haible  <bruno@clisp.org>
71462         Fix compilation error on mingw when module 'time_r' is not used.
71463         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
71464         is 1.
71465         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
71466         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71467         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
71468         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
71470 2010-03-14  Bruno Haible  <bruno@clisp.org>
71472         Fix compilation error with Sun C.
71473         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
71474         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
71475         instead of GCC specific ULONG_LONG_MAX.
71476         * lib/xstrtoll.c: Likewise.
71477         * lib/xstrtoull.c: Likewise.
71479 2010-03-13  Bruno Haible  <bruno@clisp.org>
71481         Allow the user to disable C++ code and tests.
71482         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
71483         (gl_PROG_ANSI_CXX): Require it.
71485 2010-03-13  Bruno Haible  <bruno@clisp.org>
71487         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
71488         cases.
71490 2010-03-13  Bruno Haible  <bruno@clisp.org>
71492         Test that gnulib does not break the standard C++ headers.
71493         * tests/test-locale-c++2.cc: New file.
71494         * modules/locale-tests (Files): Add it.
71495         (Makefile.am): Compile it for test-locale-c++.
71496         * tests/test-math-c++2.cc: New file.
71497         * modules/math-tests (Files): Add it.
71498         (Makefile.am): Compile it for test-math-c++.
71499         * tests/test-signal-c++2.cc: New file.
71500         * modules/signal-tests (Files): Add it.
71501         (Makefile.am): Compile it for test-signal-c++.
71502         * tests/test-stdio-c++2.cc: New file.
71503         * modules/stdio-tests (Files): Add it.
71504         (Makefile.am): Compile it for test-stdio-c++.
71505         * tests/test-stdlib-c++2.cc: New file.
71506         * modules/stdlib-tests (Files): Add it.
71507         (Makefile.am): Compile it for test-stdlib-c++.
71508         * tests/test-string-c++2.cc: New file.
71509         * modules/string-tests (Files): Add it.
71510         (Makefile.am): Compile it for test-string-c++.
71511         * tests/test-time-c++2.cc: New file.
71512         * modules/time-tests (Files): Add it.
71513         (Makefile.am): Compile it for test-time-c++.
71514         Reported by John W. Eaton <jwe@gnu.org>.
71516 2010-03-13  Bruno Haible  <bruno@clisp.org>
71518         * gnulib-tool (func_usage): Clarify which options are available for
71519         --create-testdir and --create-megatestdir.
71521 2010-03-13  Bruno Haible  <bruno@clisp.org>
71523         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
71524         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
71525         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
71526         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
71527         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
71528         when appropriate.
71529         Reported by Jim Meyering.
71531 2010-03-12  Simon Josefsson  <simon@josefsson.org>
71533         * gnulib-tool (func_import): Explain origin of code.
71535 2010-03-12  Bruno Haible  <bruno@clisp.org>
71537         Fix problem with automake's definition of CXXLINK.
71538         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
71539         Reported by Simon Josefsson and Ludovic Courtès.
71541 2010-03-12  Bruno Haible  <bruno@clisp.org>
71543         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
71544         stable releases.
71546 2010-03-11  Bruno Haible  <bruno@clisp.org>
71548         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
71549         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
71550         whether the system provides one variant or multiple variants of the
71551         function.
71552         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
71553         C++ compilers.
71554         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
71555         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
71556         Reported by Jim Meyering.
71558 2010-03-09  Simon Josefsson  <simon@josefsson.org>
71560         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
71562 2010-03-08  Bruno Haible  <bruno@clisp.org>
71564         gnulib-tool: Add support for --libtool in --create-testdir.
71565         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
71566         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
71568 2010-03-08  Eric Blake  <eblake@redhat.com>
71570         gnulib-tool.texi: mention possibility of git submodule
71571         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
71572         submodules.
71573         * doc/.gitignore: Ignore another generated file.
71575 2010-03-08  Karl Berry  <karl@gnu.org>
71577         * doc/gnulib-tool.texi (VCS Issues): Mention third option
71578         of committing gnulib files while skipping others.
71580 2010-03-07  Bruno Haible  <bruno@clisp.org>
71582         Tests of module 'wctype' in C++ mode.
71583         * tests/test-wctype-c++.cc: New file.
71584         * modules/wctype-tests (Files): Add it and tests/signature.h.
71585         (Depends-on): Add ansi-c++-opt.
71586         (Makefile.am): Arrange to compile and run test-wctype-c++.
71588         Tests of module 'wchar' in C++ mode.
71589         * tests/test-wchar-c++.cc: New file.
71590         * modules/wchar-tests (Files): Add it and tests/signature.h.
71591         (Depends-on): Add ansi-c++-opt.
71592         (Makefile.am): Arrange to compile and run test-wchar-c++.
71593         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
71594         gl_MODULE_INDICATOR.
71596         Tests of module 'unistd' in C++ mode.
71597         * tests/test-unistd-c++.cc: New file.
71598         * modules/unistd-tests (Files): Add it and tests/signature.h.
71599         (Depends-on): Add ansi-c++-opt.
71600         (Makefile.am): Arrange to compile and run test-unistd-c++.
71601         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
71602         gl_MODULE_INDICATOR.
71604         Tests of module 'time' in C++ mode.
71605         * tests/test-time-c++.cc: New file.
71606         * modules/time-tests (Files): Add it and tests/signature.h.
71607         (Depends-on): Add ansi-c++-opt.
71608         (Makefile.am): Arrange to compile and run test-time-c++.
71609         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71611         Tests of module 'sys_time' in C++ mode.
71612         * tests/test-sys_time-c++.cc: New file.
71613         * modules/sys_time-tests (Files): Add it and tests/signature.h.
71614         (Depends-on): Add ansi-c++-opt.
71615         (Makefile.am): Arrange to compile and run test-sys_time-c++.
71616         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
71617         gl_MODULE_INDICATOR.
71619         Tests of module 'sys_stat' in C++ mode.
71620         * tests/test-sys_stat-c++.cc: New file.
71621         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
71622         (Depends-on): Add ansi-c++-opt.
71623         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
71624         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
71625         gl_MODULE_INDICATOR.
71627         Tests of module 'sys_socket' in C++ mode.
71628         * tests/test-sys_socket-c++.cc: New file.
71629         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
71630         (Depends-on): Add ansi-c++-opt.
71631         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
71632         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
71633         gl_MODULE_INDICATOR.
71635         Tests of module 'sys_select' in C++ mode.
71636         * tests/test-sys_select-c++.cc: New file.
71637         * modules/sys_select-tests (Files): Add it and tests/signature.h.
71638         (Depends-on): Add ansi-c++-opt.
71639         (Makefile.am): Arrange to compile and run test-sys_select-c++.
71640         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
71641         gl_MODULE_INDICATOR.
71643         Tests of module 'sys_ioctl' in C++ mode.
71644         * tests/test-sys_ioctl-c++.cc: New file.
71645         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
71646         (Depends-on): Add ansi-c++-opt.
71647         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
71648         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
71649         gl_MODULE_INDICATOR.
71651         Tests of module 'string' in C++ mode.
71652         * tests/test-string-c++.cc: New file.
71653         * modules/string-tests (Files): Add it and tests/signature.h.
71654         (Depends-on): Add ansi-c++-opt.
71655         (Makefile.am): Arrange to compile and run test-string-c++.
71656         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
71657         gl_MODULE_INDICATOR.
71659         Tests of module 'stdlib' in C++ mode.
71660         * tests/test-stdlib-c++.cc: New file.
71661         * modules/stdlib-tests (Files): Add it and tests/signature.h.
71662         (Depends-on): Add ansi-c++-opt.
71663         (Makefile.am): Arrange to compile and run test-stdlib-c++.
71664         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
71665         gl_MODULE_INDICATOR.
71667         Tests of module 'stdio' in C++ mode.
71668         * tests/test-stdio-c++.cc: New file.
71669         * modules/stdio-tests (Files): Add it and tests/signature.h.
71670         (Depends-on): Add ansi-c++-opt.
71671         (Makefile.am): Arrange to compile and run test-stdio-c++.
71672         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
71673         gl_MODULE_INDICATOR.
71675         Tests of module 'spawn' in C++ mode.
71676         * tests/test-spawn-c++.cc: New file.
71677         * modules/spawn-tests (Files): Add it and tests/signature.h.
71678         (Depends-on): Add ansi-c++-opt.
71679         (Makefile.am): Arrange to compile and run test-spawn-c++.
71680         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
71681         gl_MODULE_INDICATOR.
71683         Tests of module 'signal' in C++ mode.
71684         * tests/test-signal-c++.cc: New file.
71685         * modules/signal-tests (Files): Add it and tests/signature.h.
71686         (Depends-on): Add ansi-c++-opt.
71687         (Makefile.am): Arrange to compile and run test-signal-c++.
71688         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
71689         gl_MODULE_INDICATOR.
71691         Tests of module 'search' in C++ mode.
71692         * tests/test-search-c++.cc: New file.
71693         * modules/search-tests (Files): Add it and tests/signature.h.
71694         (Depends-on): Add ansi-c++-opt.
71695         (Makefile.am): Arrange to compile and run test-search-c++.
71696         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
71697         gl_MODULE_INDICATOR.
71699         Tests of module 'math' in C++ mode.
71700         * tests/test-math-c++.cc: New file.
71701         * modules/math-tests (Files): Add it and tests/signature.h.
71702         (Depends-on): Add ansi-c++-opt.
71703         (Makefile.am): Arrange to compile and run test-math-c++.
71704         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71706         Tests of module 'locale' in C++ mode.
71707         * tests/test-locale-c++.cc: New file.
71708         * modules/locale-tests (Files): Add it and tests/signature.h.
71709         (Depends-on): Add ansi-c++-opt.
71710         (Makefile.am): Arrange to compile and run test-locale-c++.
71711         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
71712         gl_MODULE_INDICATOR.
71714         Tests of module 'langinfo' in C++ mode.
71715         * tests/test-langinfo-c++.cc: New file.
71716         * modules/langinfo-tests (Files): Add it and tests/signature.h.
71717         (Depends-on): Add ansi-c++-opt.
71718         (Makefile.am): Arrange to compile and run test-langinfo-c++.
71719         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
71720         gl_MODULE_INDICATOR.
71722         Tests of module 'iconv-h' in C++ mode.
71723         * tests/test-iconv-h-c++.cc: New file.
71724         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
71725         (Depends-on): Add ansi-c++-opt.
71726         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
71728         Tests of module 'glob' in C++ mode.
71729         * tests/test-glob-c++.cc: New file.
71730         * modules/glob-tests (Files): Add it.
71731         (Depends-on): Add ansi-c++-opt.
71732         (Makefile.am): Arrange to compile and run test-glob-c++.
71734         Tests of module 'fcntl-h' in C++ mode.
71735         * tests/test-fcntl-h-c++.cc: New file.
71736         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
71737         (Depends-on): Add ansi-c++-opt.
71738         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
71739         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
71740         gl_MODULE_INDICATOR.
71742         Tests of module 'dirent' in C++ mode.
71743         * tests/test-dirent-c++.cc: New file.
71744         * modules/dirent-tests (Files): Add it and tests/signature.h.
71745         (Depends-on): Add ansi-c++-opt.
71746         (Makefile.am): Arrange to compile and run test-dirent-c++.
71747         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71748         gl_MODULE_INDICATOR.
71750         New module 'ansi-c++-opt'.
71751         * modules/ansi-c++-opt: New file.
71752         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
71754         Document C++ namespace mode.
71755         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
71757         wctype: Avoid #define replacements in C++ mode.
71758         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
71759         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
71760         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
71761         In C++, define a namespaced alias symbol.
71762         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
71763         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
71764         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
71765         rule.
71767         wchar: Avoid #define replacements in C++ mode.
71768         * lib/wchar.in.h: Include c++defs.h.
71769         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
71770         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
71771         symbol.
71772         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
71773         * modules/wchar (Depends-on): Add c++defs.
71774         (Makefile.am): Update wchar.h rule.
71776         unistd: Avoid #define replacements in C++ mode.
71777         * lib/unistd.in.h: Include c++defs.h.
71778         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
71779         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
71780         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
71781         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
71782         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
71783         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
71784         symbol.
71785         (environ): Update.
71786         * modules/unistd (Depends-on): Add c++defs.
71787         (Makefile.am): Update unistd.h rule.
71789         time: Avoid #define replacements in C++ mode.
71790         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
71791         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
71792         define a namespaced alias symbol.
71793         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
71794         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
71795         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
71796         * modules/time (Depends-on): Add c++defs, warn-on-use.
71797         (Makefile.am): Update time.h rule.
71798         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71799         * modules/nanosleep (configure.ac): Likewise.
71800         * modules/strptime (configure.ac): Likewise.
71801         * modules/timegm (configure.ac): Likewise.
71803         sys_time: Avoid #define replacements in C++ mode.
71804         * lib/sys_time.in.h: Include c++defs.h.
71805         (gettimeofday): In C++, define a namespaced alias symbol.
71806         * modules/sys_time (Depends-on): Add c++defs.
71807         (Makefile.am): Update sys/time.h rule.
71809         sys_stat: Avoid #define replacements in C++ mode.
71810         * lib/sys_stat.in.h: Include c++defs.h.
71811         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
71812         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
71813         namespaced alias symbol.
71814         In C++, define a namespaced alias symbol.
71815         * modules/sys_stat (Depends-on): Add c++defs.
71816         (Makefile.am): Update sys/stat.h rule.
71818         sys_socket: Avoid #define replacements in C++ mode.
71819         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
71820         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
71821         definitions also when the system has a <sys/socket.h>.
71822         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
71823         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
71824         In C++, define a namespaced alias symbol.
71825         * modules/sys_socket (Depends-on): Add c++defs.
71826         (Makefile.am): Update sys/socket.h rule.
71828         sys_select: Avoid #define replacements in C++ mode.
71829         * lib/sys_select.in.h: Include c++defs.h. Enable the function
71830         definitions also when the system has a <sys/select.h>.
71831         (select): In C++, define a namespaced alias symbol.
71832         * modules/sys_select (Depends-on): Add c++defs.
71833         (Makefile.am): Update sys/select.h rule.
71835         sys_ioctl: Avoid #define replacements in C++ mode.
71836         * lib/sys_ioctl.in.h: Include c++defs.h.
71837         (ioctl): In C++, define a namespaced alias symbol.
71838         * modules/sys_ioctl (Depends-on): Add c++defs.
71839         (Makefile.am): Update sys/ioctl.h rule.
71841         string: Avoid #define replacements in C++ mode.
71842         * lib/string.in.h: Include c++defs.h.
71843         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
71844         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
71845         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
71846         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
71847         strsignal, strverscmp): In C++, define a namespaced alias symbol.
71848         * modules/string (Depends-on): Add c++defs.
71849         (Makefile.am): Update string.h rule.
71851         stdlib: Avoid #define replacements in C++ mode.
71852         * lib/stdlib.in.h: Include c++defs.h.
71853         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
71854         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
71855         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
71856         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
71857         symbol.
71858         * modules/stdlib (Depends-on): Add c++defs.
71859         (Makefile.am): Update stdlib.h rule.
71861         stdio: Avoid #define replacements in C++ mode.
71862         * lib/stdio.in.h: Include c++defs.h.
71863         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
71864         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
71865         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
71866         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
71867         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
71868         namespaced alias symbol.
71869         * modules/stdio (Depends-on): Add c++defs.
71870         (Makefile.am): Update stdio.h rule.
71872         spawn: Avoid #define replacements in C++ mode.
71873         * lib/spawn.in.h: Include c++defs.h.
71874         (posix_spawn, posix_spawnp, posix_spawnattr_init,
71875         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
71876         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
71877         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
71878         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
71879         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
71880         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
71881         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
71882         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
71883         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
71884         In C++, define a namespaced alias symbol.
71885         * modules/spawn (Depends-on): Add c++defs.
71886         (Makefile.am): Update spawn.h rule.
71888         signal: Avoid #define replacements in C++ mode.
71889         * lib/signal.in.h: Include c++defs.h.
71890         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
71891         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
71892         namespaced alias symbol.
71893         * modules/signal (Depends-on): Add c++defs.
71894         (Makefile.am): Update signal.h rule.
71896         search: Avoid #define replacements in C++ mode.
71897         * lib/search.in.h: Include c++defs.h.
71898         (_gl_search_compar_fn, _gl_search_action_fn): New types.
71899         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
71900         symbol.
71901         * modules/search (Depends-on): Add c++defs.
71902         (Makefile.am): Update search.h rule.
71904         math: Avoid #define replacements in C++ mode.
71905         * lib/math.in.h: Include c++defs.h.
71906         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
71907         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
71908         trunc, truncl): In C++, define a namespaced alias symbol.
71909         * modules/math (Depends-on): Add c++defs.
71910         (Makefile.am): Update math.h rule.
71912         locale: Avoid #define replacements in C++ mode.
71913         * lib/locale.in.h: Include c++defs.h.
71914         (duplocale): In C++, define a namespaced alias symbol.
71915         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
71916         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
71917         * modules/locale (Depends-on): Add c++defs.
71918         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
71920         langinfo: Avoid #define replacements in C++ mode.
71921         * lib/langinfo.in.h: Include c++defs.h.
71922         (nl_langinfo): In C++, define a namespaced alias symbol.
71923         * modules/langinfo (Depends-on): Add c++defs.
71924         (Makefile.am): Update langinfo.h rule.
71926         iconv-h: Avoid #define replacements in C++ mode.
71927         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
71928         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
71929         symbol.
71930         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
71931         whenever iconv is present.
71932         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
71933         (Makefile.am): Update iconv.h rule.
71935         glob: Avoid #define replacements in C++ mode.
71936         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
71937         (_gl_glob_errfunc_fn): New type.
71938         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
71939         symbol.
71940         * modules/glob (Depends-on): Add c++defs, warn-on-use.
71941         (Makefile.am): Update glob.h rule.
71943         fcntl-h: Avoid #define replacements in C++ mode.
71944         * lib/fcntl.in.h: Include c++defs.h.
71945         (fcntl, open, openat): In C++, define a namespaced alias symbol.
71946         * modules/fcntl-h (Depends-on): Add c++defs.
71947         (Makefile.am): Update fcntl.h rule.
71949         dirent: Avoid #define replacements in C++ mode.
71950         * lib/dirent.in.h: Include c++defs.h.
71951         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
71952         namespaced alias symbol.
71953         (dirfd): Update declaration.
71954         * modules/dirent (Depends-on): Add c++defs.
71955         (Makefile.am): Update dirent.h rule.
71957         ctype: Make it usable in C++ code.
71958         * lib/ctype.in.h: Include c++defs.h.
71959         (isblank): Declare as extern "C".
71960         * modules/ctype (Depends-on): Add c++defs.
71961         (Makefile.am): Update ctype.h rule.
71963         New module 'c++defs'.
71964         * modules/c++defs: New file.
71965         * build-aux/c++defs.h: New file.
71966         Reported by John W. Eaton <jwe@gnu.org>.
71968 2010-03-07  Bruno Haible  <bruno@clisp.org>
71970         logb: Provide missing declaration for Cygwin.
71971         * lib/math.in.h (logb): New declaration.
71972         * m4/logb.m4: New file.
71973         * modules/logb (Files): Add m4/logb.m4.
71974         (Depends-on): Add math.
71975         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
71976         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
71977         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
71978         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
71979         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
71981 2010-03-07  Bruno Haible  <bruno@clisp.org>
71983         Fix test-cond link error.
71984         * tests/test-cond.c: Include <stdio.h>.
71986 2010-03-07  Bruno Haible  <bruno@clisp.org>
71988         Fix test-dirent-safer link error.
71989         * modules/dirent-safer-tests (Makefile.am): Define
71990         test_dirent_safer_LDADD.
71992 2010-03-07  Bruno Haible  <bruno@clisp.org>
71994         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
71995         among default module list.
71997 2010-03-07  Bruno Haible  <bruno@clisp.org>
71999         Fix link error on platforms with GNU libiconv.
72000         * modules/unistr/u8-strcoll-tests (Makefile): Define
72001         test_u8_strcoll_LDADD.
72002         * modules/unistr/u16-strcoll-tests (Makefile): Define
72003         test_u16_strcoll_LDADD.
72004         * modules/unistr/u32-strcoll-tests (Makefile): Define
72005         test_u32_strcoll_LDADD.
72007 2010-03-07  Bruno Haible  <bruno@clisp.org>
72009         Use POSIX declarations for socket functions.
72010         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
72011         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
72012         rpl_sendto): Change declaration to match POSIX.
72013         * lib/connect.c (rpl_connect): Likewise.
72014         * lib/accept.c (rpl_accept): Likewise.
72015         * lib/bind.c (rpl_bind): Likewise.
72016         * lib/getpeername.c (rpl_getpeername): Likewise.
72017         * lib/getsockname.c (rpl_getsockname): Likewise.
72018         * lib/recv.c (rpl_recv): Likewise.
72019         * lib/send.c (rpl_send): Likewise.
72020         * lib/recvfrom.c (rpl_recvfrom): Likewise.
72021         * lib/sendto.c (rpl_sendto): Likewise.
72023 2010-03-06  Bruno Haible  <bruno@clisp.org>
72025         Clarify access, euidaccess, faccessat.
72026         * doc/posix-functions/faccessat.texi: Mention security problem under
72027         "Other problems", not "Portability problems".
72028         * doc/posix-functions/access.texi: Likewise. Mention a related security
72029         problem.
72030         * doc/glibc-functions/euidaccess.texi: Mention security problems.
72031         * lib/euidaccess.c: Add comments about platforms.
72032         * lib/unistd.in.h (access, euidaccess): Add warnings.
72034 2010-03-07  Bruno Haible  <bruno@clisp.org>
72036         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
72037         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
72038         (POSIX_SPAWN_SETSCHEDULER): Likewise.
72039         (POSIX_SPAWN_USEVFORK): Define in a way that works when
72040         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72041         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
72042         declare when POSIX_SPAWN_SETSCHEDULER is zero.
72043         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
72044         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
72045         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
72046         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
72047         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
72048         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
72049         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
72050         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
72051         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
72052         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
72053         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
72054         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
72055         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
72056         Likewise.
72057         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
72058         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
72059         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
72060         Likewise.
72061         * tests/test-spawn.c (main): Make it work when
72062         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
72064 2010-03-07  Bruno Haible  <bruno@clisp.org>
72066         Fix incorrect Makefile.am generation in German locale.
72067         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72068         Execute sed command with character range in C locale.
72070 2010-03-06  Bruno Haible  <bruno@clisp.org>
72072         Tests for module 'iconv-h'.
72073         * modules/iconv-h-tests: New file.
72074         * tests/test-iconv-h.c: New file.
72076         New module 'iconv-h'.
72077         * modules/iconv-h: New file.
72078         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
72079         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
72080         (configure.ac): Remove gl_ICONV_H.
72081         (Makefile.am): Remove rule for iconv.h.
72083 2010-03-06  Bruno Haible  <bruno@clisp.org>
72085         More consistent naming of *.m4 files.
72086         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
72087         * modules/wctype (Files): Update.
72089         More consistent naming of *.m4 files.
72090         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
72091         * modules/wchar (Files): Update.
72093 2010-03-06  Jim Meyering  <meyering@redhat.com>
72095         euidaccess: relax license to LGPLv2+
72096         * modules/euidaccess (License): Relax to LGPLv2+.
72098 2010-03-06  Bruno Haible  <bruno@clisp.org>
72100         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
72101         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
72102         (Makefile.am): Augment lib_SOURCES instead.
72104 2010-03-04  Jim Meyering  <meyering@redhat.com>
72106         utime: remove obsolete module
72107         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
72108         unnecessary for years, and has been marked as obsolete for 10 months.
72109         * modules/utime: Remove file.
72110         * lib/utime.c: Remove file.
72111         * m4/utime.m4: Remove file.
72112         * m4/utimes-null.m4: Remove file.
72113         * doc/posix-functions/utime.texi (utime): Remove reference to
72114         the module.  Move the sole "fixed by gnulib" item into the
72115         "problems not fixed by Gnulib" list.
72116         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
72118 2010-03-05  Simon Josefsson  <simon@josefsson.org>
72120         * modules/exit (License): Relax license to LGPLv2+.
72121         (Status): Mark as obsolete.
72122         * NEWS: Mention deprecated 'exit' module.
72123         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
72124         of now obsolete 'exit'.
72126 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72128         fts-lgpl: remove unused module
72129         * modules/fts-lgpl: Remove.
72130         * MODULES.html.sh (func_all_modules): Adjust.
72131         * check-module (find_included_lib_files): Adjust.
72132         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
72134 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
72136         copy-acl: enhance Solaris ACL error handling
72137         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
72138         * lib/set-mode-acl.c (qset_acl): Likewise.
72140 2010-03-02  Bruno Haible  <bruno@clisp.org>
72142         spawn: Don't override the system defined values on FreeBSD 8.
72143         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
72144         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
72145         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
72146         if HAVE_POSIX_SPAWN is 1.
72147         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
72149 2010-03-01  Bruno Haible  <bruno@clisp.org>
72151         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
72152         regarding Automake.
72154 2010-02-25  Bruno Haible  <bruno@clisp.org>
72156         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
72157         * gnulib-tool: Define 'echo' as a function only before the ksh alias
72158         setting, not afterwards.
72159         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
72161 2010-02-24  Eric Blake  <eblake@redhat.com>
72163         bootstrap, git-version-gen: use timestamp
72164         * build-aux/git-version-gen (scriptversion): Force UTC.
72165         * build-aux/bootstrap (scriptversion): New variable.
72167         bootstrap: allow older git
72168         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
72169         older than 1.6.4.  Requested by the libvirt project.
72171 2010-02-23  Eric Blake  <eblake@redhat.com>
72173         warn-on-use: work with old autoconf
72174         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
72175         AS_VAR semantics of autoconf 2.60.
72176         Reported by Bruno Haible.
72178         bootstrap: improve some comments
72179         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
72180         clarification comments.
72182         gettimeofday: provide correct function
72183         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
72184         when replacement is declared, otherwise provide gettimeofday.
72185         Reported by Michael Goffioul.
72187 2010-02-23  Jim Meyering  <meyering@redhat.com>
72189         lib-ignore: relax license to "unlimited", not LGPLv2+
72190         * modules/lib-ignore (License): Relax to "unlimited".
72192 2010-02-23  Jim Meyering  <meyering@redhat.com>
72194         lib-ignore: relax license to LGPLv2+
72195         * modules/lib-ignore (License): Relax to LGPLv2+.
72197 2010-02-22  Eric Blake  <eblake@redhat.com>
72199         lseek: avoid bash 3.2 broken pipe bug
72200         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
72201         warning from bash 3.2.
72202         Reported by Ben Pfaff, with analysis from Bruno Haible.
72204         bootstrap: support non-FSF copyright holder
72205         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
72206         bootstrap.conf override of COPYRIGHT_HOLDER.
72207         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
72209         bootstrap: interoperate with gettext 0.14.1
72210         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
72212         bootstrap: allow for alternate submodule location
72213         * build-aux/bootstrap (gnulib_path): New variable; use instead of
72214         hardcoding submodule location.
72215         (gnulib_mk): Allow direct use of Makefile.am.
72217         bootstrap: use GNULIB_SRCDIR to reduce disk usage
72218         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
72219         rather than reconfiguring where the submodule points.
72221         gettimeofday: restore support for platforms that lack function
72222         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
72223         replacement if function is missing.
72224         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
72225         * modules/sys_time (Makefile.am): Substitute it.
72226         * lib/sys_time.in.h (gettimeofday): Check it.
72227         Reported by Michael Goffioul.
72229 2010-02-21  Bruno Haible  <bruno@clisp.org>
72231         * lib/stdio.in.h (obstack_printf): Fix typo.
72233 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
72235         vc-list-files: use bzr ls's -R option
72236         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
72237         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
72239 2010-02-21  Jim Meyering  <meyering@redhat.com>
72241         init.sh: fix EXEEXT shims to work also for names like test-prog
72242         * tests/init.sh: Re-exec a better shell, when needed.
72243         If the current shell lacks support for posix $(...), an init.sh-using
72244         test will now try to find a shell that supports that.  If EXEEXT is
72245         nonempty, we also require support for hyphen-in-alias-name and shell
72246         substitutions like ${var#glob}.  Failure to find such a shell results
72247         in a skipped test.
72249 2010-02-21  Bruno Haible  <bruno@clisp.org>
72251         Really work around "broken pipe" error message from bash 3.2.
72252         * gnulib-tool (func_reset_sigpipe): Remove function.
72253         (echo): In bash 3.2, define to a function that uses printf.
72254         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
72256 2010-02-20  Bruno Haible  <bruno@clisp.org>
72258         Restore support for automake 1.9.6 with autoconf 2.61.
72259         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
72260         Reported by James Youngman <jay@gnu.org>.
72262 2010-02-20  Bruno Haible  <bruno@clisp.org>
72264         Improve *printf warning condition.
72265         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
72266         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
72267         and the function is overridden due to SIGPIPE emulation.
72269 2010-02-20  Bruno Haible  <bruno@clisp.org>
72271         * lib/stdio.in.h: Tweak comments.
72273 2010-02-19  Bruno Haible  <bruno@clisp.org>
72275         Make it easier to find modules. New gnulib-tool option '--find'.
72276         * gnulib-tool: New option --find.
72277         (func_usage): Document it.
72278         (func_sanitize_modulelist): New function, extracted from
72279         func_all_modules.
72280         (func_all_modules): Invoke it.
72281         * doc/gnulib-tool.texi (Which modules?): New node.
72283 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
72285         * lib/sys_select.in.h: Provide select replacement even if
72286         sys/select.h exists on a system, for Interix.
72288 2010-02-18  Jim Meyering  <meyering@redhat.com>
72290         init.sh: don't use $(...) just yet
72291         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
72292         to accommodate e.g., Solaris' /bin/sh.
72294 2010-02-17  Bruno Haible  <bruno@clisp.org>
72296         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
72297         Reported by Ludovic Courtès <ludo@gnu.org>.
72299 2010-02-16  Simon Josefsson  <simon@josefsson.org>
72301         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
72302         linking with -lintl.
72304 2010-02-17  Simon Josefsson  <simon@josefsson.org>
72306         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
72307         if not provided by the system's netdb.h.  Reported by
72308         ludo@gnu.org (Ludovic Courtès).
72310 2010-02-15  Jim Meyering  <meyering@redhat.com>
72312         init.sh: improve portability and efficiency
72313         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
72314         "dummy" in a for loop.
72315         Use '!', not '^' to select the complement of a character set used
72316         in a "case" statement.
72317         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
72318         Suggestions from Eric Blake.
72320         init.sh: automatically accommodate programs with the .exe suffix
72321         Automatically arrange for an invocation of "prog" to execute the
72322         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
72323         may use the simpler "prog", yet still work when built on a system
72324         that requires specifying the added suffix.
72325         Do this by constructing a function named "prog" that invokes
72326         "prog.exe" for each .exe file in selected directories.
72327         * tests/init.sh (find_exe_basenames_): New function.
72328         (create_exe_shim_functions_): New function.
72329         (path_prepend_): Use it.
72331         maint.mk: mark syntax-check sc_*.m rules as .PHONY
72332         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
72333         "make -t syntax-check" doesn't create a ton of sc_*.m files.
72335 2010-02-14  Jim Meyering  <meyering@redhat.com>
72337         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
72338         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
72339         (sc_prohibit_hash_pjw_without_use): New rule.
72341         maint.mk: allow the default upload destination dir to be overridden
72342         * top/maint.mk (upload_dest_dir_): Define with a default that
72343         preserves the status quo.
72344         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
72345         Reported by Peter Simons.
72347         maint.mk: prohibit inclusion of "hash.h" without_use
72348         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
72350 2010-02-10  Jim Meyering  <meyering@redhat.com>
72352         maint.mk: prohibit inclusion of "ignore-value.h" without_use
72353         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
72355 2010-02-09  Eric Blake  <ebb9@byu.net>
72356         and Bruno Haible  <bruno@clisp.org>
72358         obstack-printf-posix: ensure declaration
72359         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
72360         extracted from gl_FUNC_OBSTACK_PRINTF.
72361         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
72362         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
72363         Likewise.
72364         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
72365         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
72366         0.
72368 2010-02-08  Bruno Haible  <bruno@clisp.org>
72370         gnulib-tool: Fix typo in 2010-02-07 commit.
72371         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
72372         Reported by Eric Blake.
72374 2010-02-07  Bruno Haible  <bruno@clisp.org>
72376         gnulib-tool: Fix up caching patches.
72377         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
72378         option --no-cache. Use associative arrays when supported by the shell.
72379         (sed_comments): New variable.
72380         (modcache): Renamed from do_cache.
72381         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
72382         abbreviate unnecessarily.
72383         (have_associative): New variable.
72384         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
72385         way also for ksh and zsh.
72386         (func_init_sed_convert_to_cache_statements): New function, extracted
72387         from func_cache_lookup_module. Add support for associative arrays.
72388         Don't set the c_MODULE_cached variable here. Ignore all lines before
72389         the first field header. Remove only the final newline, not all trailing
72390         newlines. Support empty fields correctly. Limit the use of 'eval' to
72391         assignments.
72392         (func_get_description, func_get_status, func_get_notice,
72393         func_get_applicability, func_get_filelist, func_get_dependencies,
72394         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
72395         func_get_automake_snippet, func_get_include_directive,
72396         func_get_link_directive, func_get_license, func_get_maintainer):
72397         Update documentation. List the unoptimized code first. Add support for
72398         associative arrays. Limit the use of 'eval' to assignments.
72399         (func_get_applicability): Undo stylistic pessimisations.
72400         (func_get_automake_snippet, func_get_include_directive): Reduce code
72401         duplication.
72402         (func_modules_transitive_closure, func_modules_add_dummy,
72403         func_modules_notice, func_modules_to_filelist, func_add_file,
72404         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
72405         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
72406         func_create_testdir, func_create_megatestdir): Update documentation.
72408 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72410         * gnulib-tool (func_cache_lookup_module): Store the module name
72411         belonging to the cache variable; error out if two different
72412         module names map to the same cache variable name.
72414 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72416         gnulib-tool: Make caching optional.
72417         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
72418         Update matching short versions of --no-changelog.
72419         (func_usage): Update.
72420         (sed_extract_cache_prog): Renamed from ...
72421         (sed_extract_prog): ... this; revert to old extraction script.
72422         (func_get_description, func_get_status)
72423         (func_get_notice, func_get_applicability, func_get_filelist)
72424         (func_get_dependencies, func_get_autoconf_early_snippet)
72425         (func_get_autoconf_snippet, func_get_automake_snippet)
72426         (func_get_include_directive, func_get_link_directive)
72427         (func_get_license, func_get_maintainer): If $do_cache is false,
72428         use old, non-caching extraction scripts.
72429         Suggestion by Bruno Haible.
72431 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72433         gnulib-tool: cache module metainformation.
72434         * gnulib-tool (sed_extract_prog): Match newline before each
72435         header, and rewrite header to a shell variable suffix.
72436         (func_cache_var, func_cache_lookup_module): New functions,
72437         to turn a module name into a cache variable prefix, and to
72438         look up and cache module metainformation.
72439         (func_get_description, func_get_status)
72440         (func_get_notice, func_get_applicability, func_get_filelist)
72441         (func_get_dependencies, func_get_autoconf_early_snippet)
72442         (func_get_autoconf_snippet, func_get_automake_snippet)
72443         (func_get_include_directive, func_get_link_directive)
72444         (func_get_license, func_get_maintainer): Use
72445         func_cache_lookup_module.
72447 2010-02-07  Bruno Haible  <bruno@clisp.org>
72449         fnctl: Fix missing dependency.
72450         * modules/fcntl (Depends-on): Add getdtablesize.
72451         Reported by John W. Eaton <jwe@gnu.org>.
72453 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72455         Argp: fix recognition of short alias options.
72457         * lib/argp-parse.c (convert_options): Fix improper use of
72458         `|' between character values.
72459         * tests/test-argp.c (group1_option): New alias option
72460         --read (-r).
72461         (group1_parser): Special handling for 'r'.
72462         (test15): New test case.
72463         (test_fun): Add test15.
72464         * tests/test-argp-2.sh: Update expected --help and --usage
72465         outputs.
72467 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
72469         * tests/test-argp.c: Fix indentation.
72471 2010-02-04  Eric Blake  <ebb9@byu.net>
72473         gettimeofday: expose type of second argument
72474         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
72475         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
72476         * tests/test-gettimeofday.c: Use it to silence warning.
72477         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
72478         the issue.
72480 2010-02-03  Jim Meyering  <meyering@redhat.com>
72482         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
72483         * lib/regcomp.c (TYPE_SIGNED): Define.
72484         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
72486         regcomp.c: avoid a new -Wshadow warning
72487         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
72489 2010-02-01  Jim Meyering  <meyering@redhat.com>
72491         removing useless parentheses in cpp #define directives
72492         For motivation, see commit c0221df4, "define STREQ(a,b)
72493         consistently, removing useless parentheses"
72494         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
72495         * lib/mountlist.c (MNT_IGNORE): Likewise.
72496         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
72498 2010-02-01  Eric Blake  <ebb9@byu.net>
72500         sys_time: use link-warning
72501         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
72502         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
72503         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
72504         * modules/sys_time (Depends-on): Add warn-on-use.
72505         (Makefile.am): Always build replacement.
72506         (configure.ac): Update substitutions.
72507         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
72508         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
72509         bother with SYS_TIME_H.
72510         * modules/gettimeofday (configure.ac): Declare indicator.
72511         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
72512         in use.
72514         closein-tests: silence compiler warning
72515         * tests/test-closein.c (main): Ignore fread result.
72516         * modules/closein-tests (Depends-on): Add ignore-value.
72518         tests: silence warning about system return
72519         * tests/test-areadlink-with-size.c (main): Ignore system result.
72520         * tests/test-areadlink.c (main): Likewise.
72521         * tests/test-areadlinkat-with-size.c (main): Likewise.
72522         * tests/test-areadlinkat.c (main): Likewise.
72523         * tests/test-canonicalize-lgpl.c (main): Likewise.
72524         * tests/test-canonicalize.c (main): Likewise.
72525         * tests/test-chown.c (main): Likewise.
72526         * tests/test-fchownat.c (main): Likewise.
72527         * tests/test-fdutimensat.c (main): Likewise.
72528         * tests/test-fstatat.c (main): Likewise.
72529         * tests/test-futimens.c (main): Likewise.
72530         * tests/test-lchown.c (main): Likewise.
72531         * tests/test-link.c (main): Likewise.
72532         * tests/test-linkat.c (main): Likewise.
72533         * tests/test-lstat.c (main): Likewise.
72534         * tests/test-mkdir.c (main): Likewise.
72535         * tests/test-mkdirat.c (main): Likewise.
72536         * tests/test-mkfifo.c (main): Likewise.
72537         * tests/test-mkfifoat.c (main): Likewise.
72538         * tests/test-mknod.c (main): Likewise.
72539         * tests/test-readlink.c (main): Likewise.
72540         * tests/test-remove.c (main): Likewise.
72541         * tests/test-rename.c (main): Likewise.
72542         * tests/test-renameat.c (main): Likewise.
72543         * tests/test-rmdir.c (main): Likewise.
72544         * tests/test-symlink.c (main): Likewise.
72545         * tests/test-symlinkat.c (main): Likewise.
72546         * tests/test-unlink.c (main): Likewise.
72547         * tests/test-unlinkat.c (main): Likewise.
72548         * tests/test-utimens.c (main): Likewise.
72549         * tests/test-utimensat.c (main): Likewise.
72550         * modules/areadlink-tests (Depends-on): Add ignore-value.
72551         * modules/areadlink-with-size-tests (Depends-on): Likewise.
72552         * modules/areadlinkat-tests (Depends-on): Likewise.
72553         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
72554         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
72555         * modules/canonicalize-tests (Depends-on): Likewise.
72556         * modules/chown-tests (Depends-on): Likewise.
72557         * modules/fdutimensat-tests (Depends-on): Likewise.
72558         * modules/futimens-tests (Depends-on): Likewise.
72559         * modules/lchown-tests (Depends-on): Likewise.
72560         * modules/link-tests (Depends-on): Likewise.
72561         * modules/linkat-tests (Depends-on): Likewise.
72562         * modules/lstat-tests (Depends-on): Likewise.
72563         * modules/mkdir-tests (Depends-on): Likewise.
72564         * modules/mkfifo-tests (Depends-on): Likewise.
72565         * modules/mkfifoat-tests (Depends-on): Likewise.
72566         * modules/mknod-tests (Depends-on): Likewise.
72567         * modules/openat-tests (Depends-on): Likewise.
72568         * modules/readlink-tests (Depends-on): Likewise.
72569         * modules/remove-tests (Depends-on): Likewise.
72570         * modules/rename-tests (Depends-on): Likewise.
72571         * modules/renameat-tests (Depends-on): Likewise.
72572         * modules/rmdir-tests (Depends-on): Likewise.
72573         * modules/symlink-tests (Depends-on): Likewise.
72574         * modules/symlinkat-tests (Depends-on): Likewise.
72575         * modules/unlink-tests (Depends-on): Likewise.
72576         * modules/utimens-tests (Depends-on): Likewise.
72577         * modules/utimensat-tests (Depends-on): Likewise.
72579 2010-01-31  Bruno Haible  <bruno@clisp.org>
72581         Perform the same test for many <math.h> functions.
72582         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
72583         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
72584         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
72585         of gl_MATHFUNC.
72586         * modules/acos (configure.ac): Likewise.
72587         * modules/asin (configure.ac): Likewise.
72588         * modules/atan (configure.ac): Likewise.
72589         * modules/atan2 (configure.ac): Likewise.
72590         * modules/cbrt (configure.ac): Likewise.
72591         * modules/copysign (configure.ac): Likewise.
72592         * modules/cos (configure.ac): Likewise.
72593         * modules/cosh (configure.ac): Likewise.
72594         * modules/erf (configure.ac): Likewise.
72595         * modules/erfc (configure.ac): Likewise.
72596         * modules/exp (configure.ac): Likewise.
72597         * modules/fmod (configure.ac): Likewise.
72598         * modules/hypot (configure.ac): Likewise.
72599         * modules/j0 (configure.ac): Likewise.
72600         * modules/j1 (configure.ac): Likewise.
72601         * modules/jn (configure.ac): Likewise.
72602         * modules/lgamma (configure.ac): Likewise.
72603         * modules/log (configure.ac): Likewise.
72604         * modules/log10 (configure.ac): Likewise.
72605         * modules/log1p (configure.ac): Likewise.
72606         * modules/pow (configure.ac): Likewise.
72607         * modules/remainder (configure.ac): Likewise.
72608         * modules/sin (configure.ac): Likewise.
72609         * modules/sinh (configure.ac): Likewise.
72610         * modules/tan (configure.ac): Likewise.
72611         * modules/tanh (configure.ac): Likewise.
72612         * modules/y0 (configure.ac): Likewise.
72613         * modules/y1 (configure.ac): Likewise.
72614         * modules/yn (configure.ac): Likewise.
72615         Suggested by Paolo Bonzini.
72617 2010-01-31  Bruno Haible  <bruno@clisp.org>
72619         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
72621 2010-01-31  Bruno Haible  <bruno@clisp.org>
72623         Work around getdelim() bug on FreeBSD 8.0.
72624         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
72625         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
72626         not work.
72627         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
72628         is 1.
72629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
72630         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
72631         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
72632         a non-zero size.
72633         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
72635 2010-01-31  Bruno Haible  <bruno@clisp.org>
72637         Work around getline() bug on FreeBSD 8.0.
72638         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
72639         and a non-zero size.
72640         * tests/test-getline.c (main): Likewise.
72641         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
72642         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
72644 2010-01-28  Eric Blake  <ebb9@byu.net>
72646         regex: fix build failure
72647         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
72648         platforms.
72650 2010-01-28  Jim Meyering  <meyering@redhat.com>
72652         regex: do not ignore memory allocation failure
72653         * lib/regex_internal.c (create_cd_newstate): Detect
72654         re_node_set_init_copy failure.   Extracted from glibc commit
72655         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72657         regex: sync more white-space changes from libc
72658         * lib/regex_internal.c: White-space only changes.
72659         * lib/regexec.c: Likewise.
72661         regex: add many uses of __attribute_warn_unused_result__
72662         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
72663         * lib/regexec.c: Likewise.
72664         Extracted from a messy glibc commit.
72666         regcomp.c: spelling and merge-artifact from glibc
72667         * lib/regcomp.c: Merge remainder of glibc's
72668         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72670         regcomp.c: sync white-space changes from glibc
72671         * lib/regcomp.c: Merge to accommodate white space
72672         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72674         regcomp.c: do not ignore internal return values
72675         * lib/regcomp.c: Do not ignore internal return values.
72676         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
72677         but without its white-space changes and spelling fixes.
72679         regex_internal.h: define __attribute_warn_unused_result__
72680         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
72682         maint: add a syntax-check rule to check for vulnerable Makefile.in
72683         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
72685 2010-01-27  Jim Meyering  <meyering@redhat.com>
72687         ncftpput-ftp: clean up spaces
72688         * build-aux/ncftpput-ftp: Make Copyright line consistent.
72689         Remove trailing blanks.
72691 2010-01-27  Simon Josefsson  <simon@josefsson.org>
72693         * build-aux/git-version-gen: Fix copyright statement.
72694         * build-aux/gnupload: Likewise.
72695         * tests/test-arcfour.c: Likewise.
72696         * tests/test-arctwo.c: Likewise.
72697         * tests/test-count-one-bits.c: Likewise.
72698         * tests/test-crc.c: Likewise.
72699         * tests/test-des.c: Likewise.
72700         * tests/test-gc-arcfour.c: Likewise.
72701         * tests/test-gc-arctwo.c: Likewise.
72702         * tests/test-gc-des.c: Likewise.
72703         * tests/test-gc-hmac-md5.c: Likewise.
72704         * tests/test-gc-hmac-sha1.c: Likewise.
72705         * tests/test-gc-md2.c: Likewise.
72706         * tests/test-gc-md4.c: Likewise.
72707         * tests/test-gc-md5.c: Likewise.
72708         * tests/test-gc-pbkdf2-sha1.c: Likewise.
72709         * tests/test-gc-rijndael.c: Likewise.
72710         * tests/test-gc-sha1.c: Likewise.
72711         * tests/test-gc.c: Likewise.
72712         * tests/test-gethostname.c: Likewise.
72713         * tests/test-gettimeofday.c: Likewise.
72714         * tests/test-hash.c: Likewise.
72715         * tests/test-hmac-md5.c: Likewise.
72716         * tests/test-hmac-sha1.c: Likewise.
72717         * tests/test-md2.c: Likewise.
72718         * tests/test-md4.c: Likewise.
72719         * tests/test-md5.c: Likewise.
72720         * tests/test-memchr.c: Likewise.
72721         * tests/test-memchr2.c: Likewise.
72722         * tests/test-memcmp.c: Likewise.
72723         * tests/test-memmem.c: Likewise.
72724         * tests/test-memrchr.c: Likewise.
72725         * tests/test-rawmemchr.c: Likewise.
72726         * tests/test-read-file.c: Likewise.
72727         * tests/test-rijndael.c: Likewise.
72728         * tests/test-sockets.c: Likewise.
72729         * tests/test-strchrnul.c: Likewise.
72730         * tests/test-strstr.c: Likewise.
72731         * tests/test-strtod.c: Likewise.
72732         * build-aux/ncftpput-ftp: Likewise.
72734 2010-01-26  Eric Blake  <ebb9@byu.net>
72736         ignore-value: update recommended header name
72737         * modules/ignore-value (Include): Only use <> for headers that
72738         exist in glibc.
72740 2010-01-26  Jim Meyering  <meyering@redhat.com>
72742         test-userspec.c: avoid compiler warnings
72743         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
72744         and "initialization discards qualifiers..." warnings.
72745         Put the first "uid" in its own scope, and make char* members "const".
72747 2010-01-25  Bruno Haible  <bruno@clisp.org>
72749         gnulib-tool: Make warning diagnostics consistent.
72750         * gnulib-tool (func_warning): New function.
72751         Use it everywhere where gnulib-tool produces output to stderr and it is
72752         not a fatal error.
72754 2010-01-25  Bruno Haible  <bruno@clisp.org>
72756         Fix test dependencies.
72757         * modules/xstrtol-tests (Depends-on): Add inttypes.
72758         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
72760 2010-01-25  Pádraig Brady  <P@draigBrady.com>
72762         syntax-check: detect incorrect boolean macro values in config.h
72763         * modules/maintainer-makefile (configure.ac): Parameterize the location
72764         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
72765         The logic is from Eric Blake and the location indicated by Jim Meyering.
72766         Note the more natural CONFIG_HEADER name is prohibited by automake
72767         for backwards compatibility reasons.
72768         * top/maint.mk (sc_Wundef_boolean): New rule.
72770 2010-01-25  Jim Meyering  <meyering@redhat.com>
72772         bootstrap: detect MacOS 10.6's shasum, too
72773         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
72774         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
72776 2010-01-23  Jim Meyering  <meyering@redhat.com>
72778         xstrtoll: new module
72779         * modules/xstrtoll: New file.
72780         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
72781         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
72782         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
72783         ./configure fails if you use this module and lack "long long".
72784         * modules/xstrtoll-tests: New module.
72785         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
72786         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
72787         new init.sh-based test framework.
72789 2010-01-24  Bruno Haible  <bruno@clisp.org>
72791         Tests for module 'yn'.
72792         * modules/yn-tests: New file.
72793         * tests/test-yn.c: New file.
72795         Tests for module 'y1'.
72796         * modules/y1-tests: New file.
72797         * tests/test-y1.c: New file.
72799         Tests for module 'y0'.
72800         * modules/y0-tests: New file.
72801         * tests/test-y0.c: New file.
72803         Tests for module 'tanh'.
72804         * modules/tanh-tests: New file.
72805         * tests/test-tanh.c: New file.
72807         Tests for module 'tan'.
72808         * modules/tan-tests: New file.
72809         * tests/test-tan.c: New file.
72811         Tests for module 'sqrt'.
72812         * modules/sqrt-tests: New file.
72813         * tests/test-sqrt.c: New file.
72815         Tests for module 'sinh'.
72816         * modules/sinh-tests: New file.
72817         * tests/test-sinh.c: New file.
72819         Tests for module 'sin'.
72820         * modules/sin-tests: New file.
72821         * tests/test-sin.c: New file.
72823         Tests for module 'rint'.
72824         * modules/rint-tests: New file.
72825         * tests/test-rint.c: New file.
72827         Tests for module 'remainder'.
72828         * modules/remainder-tests: New file.
72829         * tests/test-remainder.c: New file.
72831         Tests for module 'pow'.
72832         * modules/pow-tests: New file.
72833         * tests/test-pow.c: New file.
72835         Tests for module 'nextafter'.
72836         * modules/nextafter-tests: New file.
72837         * tests/test-nextafter.c: New file.
72839         Tests for module 'modf'.
72840         * modules/modf-tests: New file.
72841         * tests/test-modf.c: New file.
72843         Tests for module 'logb'.
72844         * modules/logb-tests: New file.
72845         * tests/test-logb.c: New file.
72847         Tests for module 'log1p'.
72848         * modules/log1p-tests: New file.
72849         * tests/test-log1p.c: New file.
72851         Tests for module 'log10'.
72852         * modules/log10-tests: New file.
72853         * tests/test-log10.c: New file.
72855         Tests for module 'log'.
72856         * modules/log-tests: New file.
72857         * tests/test-log.c: New file.
72859         Tests for module 'lgamma'.
72860         * modules/lgamma-tests: New file.
72861         * tests/test-lgamma.c: New file.
72863         Tests for module 'ldexp'.
72864         * modules/ldexp-tests: New file.
72865         * tests/test-ldexp.c: New file.
72867         Tests for module 'jn'.
72868         * modules/jn-tests: New file.
72869         * tests/test-jn.c: New file.
72871         Tests for module 'j1'.
72872         * modules/j1-tests: New file.
72873         * tests/test-j1.c: New file.
72875         Tests for module 'j0'.
72876         * modules/j0-tests: New file.
72877         * tests/test-j0.c: New file.
72879         Tests for module 'hypot'.
72880         * modules/hypot-tests: New file.
72881         * tests/test-hypot.c: New file.
72883         Tests for module 'fmod'.
72884         * modules/fmod-tests: New file.
72885         * tests/test-fmod.c: New file.
72887         Tests for module 'fabs'.
72888         * modules/fabs-tests: New file.
72889         * tests/test-fabs.c: New file.
72891         Tests for module 'exp'.
72892         * modules/exp-tests: New file.
72893         * tests/test-exp.c: New file.
72895         Tests for module 'erfc'.
72896         * modules/erfc-tests: New file.
72897         * tests/test-erfc.c: New file.
72899         Tests for module 'erf'.
72900         * modules/erf-tests: New file.
72901         * tests/test-erf.c: New file.
72903         Tests for module 'cosh'.
72904         * modules/cosh-tests: New file.
72905         * tests/test-cosh.c: New file.
72907         Tests for module 'cos'.
72908         * modules/cos-tests: New file.
72909         * tests/test-cos.c: New file.
72911         Tests for module 'copysign'.
72912         * modules/copysign-tests: New file.
72913         * tests/test-copysign.c: New file.
72915         Tests for module 'cbrt'.
72916         * modules/cbrt-tests: New file.
72917         * tests/test-cbrt.c: New file.
72919         Tests for module 'atan2'.
72920         * modules/atan2-tests: New file.
72921         * tests/test-atan2.c: New file.
72923         Tests for module 'atan'.
72924         * modules/atan-tests: New file.
72925         * tests/test-atan.c: New file.
72927         Tests for module 'asin'.
72928         * modules/asin-tests: New file.
72929         * tests/test-asin.c: New file.
72931         Tests for module 'acos'.
72932         * modules/acos-tests: New file.
72933         * tests/test-acos.c: New file.
72935 2010-01-24  Bruno Haible  <bruno@clisp.org>
72937         Fix tests for common <math.h> functions.
72938         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
72939         code snippet that references the function pointer, rather than merely
72940         calling the function. Substitute the FUNC_LIBM variable.
72941         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
72942         * modules/acos (configure.ac): Likewise.
72943         * modules/asin (configure.ac): Likewise.
72944         * modules/atan (configure.ac): Likewise.
72945         * modules/atan2 (configure.ac): Likewise.
72946         * modules/cbrt (configure.ac): Likewise.
72947         * modules/copysign (configure.ac): Likewise.
72948         * modules/cos (configure.ac): Likewise.
72949         * modules/cosh (configure.ac): Likewise.
72950         * modules/erf (configure.ac): Likewise.
72951         * modules/erfc (configure.ac): Likewise.
72952         * modules/exp (configure.ac): Likewise.
72953         * modules/fabs (configure.ac): Likewise.
72954         * modules/fmod (configure.ac): Likewise.
72955         * modules/hypot (configure.ac): Likewise.
72956         * modules/j0 (configure.ac): Likewise.
72957         * modules/j1 (configure.ac): Likewise.
72958         * modules/jn (configure.ac): Likewise.
72959         * modules/ldexp (configure.ac): Likewise.
72960         * modules/lgamma (configure.ac): Likewise.
72961         * modules/log (configure.ac): Likewise.
72962         * modules/log10 (configure.ac): Likewise.
72963         * modules/log1p (configure.ac): Likewise.
72964         * modules/logb (configure.ac): Likewise.
72965         * modules/modf (configure.ac): Likewise.
72966         * modules/nextafter (configure.ac): Likewise.
72967         * modules/pow (configure.ac): Likewise.
72968         * modules/remainder (configure.ac): Likewise.
72969         * modules/rint (configure.ac): Likewise.
72970         * modules/sin (configure.ac): Likewise.
72971         * modules/sinh (configure.ac): Likewise.
72972         * modules/tan (configure.ac): Likewise.
72973         * modules/tanh (configure.ac): Likewise.
72974         * modules/y0 (configure.ac): Likewise.
72975         * modules/y1 (configure.ac): Likewise.
72976         * modules/yn (configure.ac): Likewise.
72978 2010-01-24  Bruno Haible  <bruno@clisp.org>
72980         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
72981         * tests/test-acosl.c (x): New variable.
72982         (main): Store argument in x and fetch it from x.
72983         * tests/test-asinl.c (x): New variable.
72984         (main): Store argument in x and fetch it from x.
72985         * tests/test-atanl.c (x): New variable.
72986         (main): Store argument in x and fetch it from x.
72987         * tests/test-cosl.c (x): New variable.
72988         (main): Store argument in x and fetch it from x.
72989         * tests/test-expl.c (x): New variable.
72990         (main): Store argument in x and fetch it from x.
72991         * tests/test-logl.c (x): New variable.
72992         (main): Store argument in x and fetch it from x.
72993         * tests/test-sinl.c (x): New variable.
72994         (main): Store argument in x and fetch it from x.
72995         * tests/test-sqrtl.c (x): New variable.
72996         (main): Store argument in x and fetch it from x.
72997         * tests/test-tanl.c (x): New variable.
72998         (main): Store argument in x and fetch it from x.
73000 2010-01-24  Bruno Haible  <bruno@clisp.org>
73002         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
73003         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
73004         assignments to the initial TESTS_ENVIRONMENT.
73005         * doc/gnulib.texi (Unit test modules): Document it.
73006         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
73007         TESTS_ENVIRONMENT.
73008         * modules/btowc-tests (Makefile.am): Likewise.
73009         * modules/c-stack-tests (Makefile.am): Likewise.
73010         * modules/c-strcase-tests (Makefile.am): Likewise.
73011         * modules/copy-file-tests (Makefile.am): Likewise.
73012         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
73013         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
73014         * modules/mbrtowc-tests (Makefile.am): Likewise.
73015         * modules/mbscasecmp-tests (Makefile.am): Likewise.
73016         * modules/mbscasestr-tests (Makefile.am): Likewise.
73017         * modules/mbschr-tests (Makefile.am): Likewise.
73018         * modules/mbscspn-tests (Makefile.am): Likewise.
73019         * modules/mbsinit-tests (Makefile.am): Likewise.
73020         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
73021         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
73022         * modules/mbspbrk-tests (Makefile.am): Likewise.
73023         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
73024         * modules/mbsrchr-tests (Makefile.am): Likewise.
73025         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
73026         * modules/mbsspn-tests (Makefile.am): Likewise.
73027         * modules/mbsstr-tests (Makefile.am): Likewise.
73028         * modules/nl_langinfo-tests (Makefile.am): Likewise.
73029         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
73030         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
73031         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
73032         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
73033         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
73034         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
73035         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
73036         * modules/wcrtomb-tests (Makefile.am): Likewise.
73037         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
73038         * modules/wcsrtombs-tests (Makefile.am): Likewise.
73039         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
73040         assignments from TESTS_ENVIRONMENT.
73041         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
73042         augmentation.
73043         * modules/argp-version-etc-tests (Makefile.am): Likewise.
73044         * modules/atexit-tests (Makefile.am): Likewise.
73045         * modules/binary-io-tests (Makefile.am): Likewise.
73046         * modules/closein-tests (Makefile.am): Likewise.
73047         * modules/dprintf-posix-tests (Makefile.am): Likewise.
73048         * modules/exclude-tests (Makefile.am): Likewise.
73049         * modules/fflush-tests (Makefile.am): Likewise.
73050         * modules/fpending-tests (Makefile.am): Likewise.
73051         * modules/fprintf-posix-tests (Makefile.am): Likewise.
73052         * modules/freadahead-tests (Makefile.am): Likewise.
73053         * modules/freadptr-tests (Makefile.am): Likewise.
73054         * modules/freadseek-tests (Makefile.am): Likewise.
73055         * modules/fseek-tests (Makefile.am): Likewise.
73056         * modules/fseeko-tests (Makefile.am): Likewise.
73057         * modules/ftell-tests (Makefile.am): Likewise.
73058         * modules/ftello-tests (Makefile.am): Likewise.
73059         * modules/idpriv-drop-tests (Makefile.am): Likewise.
73060         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
73061         * modules/lseek-tests (Makefile.am): Likewise.
73062         * modules/parse-duration-tests (Makefile.am): Likewise.
73063         * modules/perror-tests (Makefile.am): Likewise.
73064         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
73065         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
73066         * modules/pipe-tests (Makefile.am): Likewise.
73067         * modules/pread-tests (Makefile.am): Likewise.
73068         * modules/printf-posix-tests (Makefile.am): Likewise.
73069         * modules/select-tests (Makefile.am): Likewise.
73070         * modules/sigpipe-tests (Makefile.am): Likewise.
73071         * modules/tsearch-tests (Makefile.am): Likewise.
73072         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
73073         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
73074         * modules/uniname/uniname-tests (Makefile.am): Likewise.
73075         * modules/uniwidth/width-tests (Makefile.am): Likewise.
73076         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
73077         * modules/version-etc-tests (Makefile.am): Likewise.
73078         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
73079         * modules/vprintf-posix-tests (Makefile.am): Likewise.
73080         * modules/xalloc-die-tests (Makefile.am): Likewise.
73081         * modules/xprintf-posix-tests (Makefile.am): Likewise.
73082         * modules/xstrtoimax-tests (Makefile.am): Likewise.
73083         * modules/xstrtol-tests (Makefile.am): Likewise.
73084         * modules/xstrtoumax-tests (Makefile.am): Likewise.
73085         * modules/yesno-tests (Makefile.am): Likewise.
73086         Suggested by Jim Meyering.
73088 2010-01-24  Bruno Haible  <bruno@clisp.org>
73090         More documentation.
73091         * doc/gnulib.texi (Writing modules): New chapter.
73092         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
73093         the new chapter.
73095 2010-01-24  Jim Meyering  <meyering@redhat.com>
73097         maint.mk: do not prepend "./" after filtering
73098         * top/maint.mk (_prepend_srcdir_prefix): New variable
73099         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
73100         "./" when $(srcdir) is ".".
73102         define STREQ(a,b) consistently, removing useless parentheses
73103         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
73104         since the only risk is that "a" or "b" contains an unparenthesized
73105         comma, but if either did that, STREQ would have 3 or more arguments.
73106         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
73107         * lib/fts.c (STREQ): Remove unnecessary parentheses.
73108         * lib/hash-triple.c (STREQ): Likewise.
73109         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
73110         * lib/getugroups.c (STREQ): Likewise.
73112 2010-01-23  Jim Meyering  <meyering@redhat.com>
73114         maint.mk: fix syntax-check in a non-srcdir build directory
73115         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
73116         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
73118 2010-01-22  Jim Meyering  <meyering@redhat.com>
73120         userspec: add unit tests
73121         * tests/test-userspec.c: New file.
73122         * modules/userspec-tests: Likewise.
73124 2010-01-21  Jim Meyering  <meyering@redhat.com>
73126         maint.mk: handle source file names containing "." robustly
73127         * top/maint.mk (_dot_escaped_srcdir): Define.
73128         (VC_LIST): Use it in LHS of sed substitution.
73130 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
73132         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
73133         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
73134         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
73135         from a non-srcdir build.
73137 2010-01-20  Eric Blake  <ebb9@byu.net>
73139         warn-on-use: use instead of link-warning
73140         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
73141         * modules/unistd (Depends-on, Makefile.am): Likewise.
73142         * modules/arpa_inet (Depends-on): Replace link-warning with
73143         warn-on-use.
73144         (Makefile.am): Update rules accordingly.
73145         * modules/ctype (Depends-on, Makefile.am): Likewise.
73146         * modules/dirent (Depends-on, Makefile.am): Likewise.
73147         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
73148         * modules/inttypes (Depends-on, Makefile.am): Likewise.
73149         * modules/langinfo (Depends-on, Makefile.am): Likewise.
73150         * modules/locale (Depends-on, Makefile.am): Likewise.
73151         * modules/math (Depends-on, Makefile.am): Likewise.
73152         * modules/search (Depends-on, Makefile.am): Likewise.
73153         * modules/signal (Depends-on, Makefile.am): Likewise.
73154         * modules/spawn (Depends-on, Makefile.am): Likewise.
73155         * modules/stdlib (Depends-on, Makefile.am): Likewise.
73156         * modules/string (Depends-on, Makefile.am): Likewise.
73157         * modules/strings (Depends-on, Makefile.am): Likewise.
73158         * modules/sys_file (Depends-on, Makefile.am): Likewise.
73159         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
73160         * modules/sys_select (Depends-on, Makefile.am): Likewise.
73161         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
73162         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
73163         * modules/sys_times (Depends-on, Makefile.am): Likewise.
73164         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
73165         * modules/wchar (Depends-on, Makefile.am): Likewise.
73166         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
73167         should be poisoned.
73168         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
73169         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
73170         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
73171         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73172         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
73173         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
73174         * m4/math_h.m4 (gl_MATH_H): Likewise.
73175         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73176         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
73177         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
73178         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
73179         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
73180         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
73181         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
73182         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
73183         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
73184         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73185         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73186         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
73187         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
73188         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
73189         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
73190         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
73191         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
73192         GL_LINK_WARNING.
73193         * lib/ctype.in.h: Likewise.
73194         * lib/dirent.in.h: Likewise.
73195         * lib/fcntl.in.h: Likewise.
73196         * lib/inttypes.in.h: Likewise.
73197         * lib/langinfo.in.h: Likewise.
73198         * lib/locale.in.h: Likewise.
73199         * lib/math.in.h: Likewise.
73200         * lib/search.in.h: Likewise.
73201         * lib/signal.in.h: Likewise.
73202         * lib/spawn.in.h: Likewise.
73203         * lib/stdio.in.h: Likewise.
73204         * lib/stdlib.in.h: Likewise.
73205         * lib/string.in.h: Likewise.
73206         * lib/strings.in.h: Likewise.
73207         * lib/sys_file.in.h: Likewise.
73208         * lib/sys_ioctl.in.h: Likewise.
73209         * lib/sys_select.in.h: Likewise.
73210         * lib/sys_socket.in.h: Likewise.
73211         * lib/sys_stat.in.h: Likewise.
73212         * lib/sys_times.in.h: Likewise.
73213         * lib/sys_utsname.in.h: Likewise.
73214         * lib/unistd.in.h: Likewise.
73215         * lib/wchar.in.h: Likewise.
73217 2010-01-20  Bruno Haible  <bruno@clisp.org>
73219         Avoid duplicate -lm.
73220         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
73221         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
73222         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
73223         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
73224         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
73225         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
73226         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
73227         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
73228         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
73229         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
73230         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
73231         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
73232         Reported by Paolo Bonzini.
73234 2010-01-19  Bruno Haible  <bruno@clisp.org>
73236         langinfo, nl_langinfo: Relicense under LGPLv2+.
73237         * modules/langinfo (License): Change to LGPLv2+.
73238         * modules/nl_langinfo (License): Likewise.
73239         Patch by David Lutterkort <lutter@redhat.com>.
73241 2010-01-19  Bruno Haible  <bruno@clisp.org>
73243         Avoid compilation error with cc on OSF/1 5.1.
73244         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
73245         statement, not before.
73246         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73248 2010-01-18  Bruno Haible  <bruno@clisp.org>
73250         Avoid a link error due to the __printf__ symbol.
73251         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
73252         and 2.6.x.
73253         (__format__, __printf__): Remove definitions.
73254         * lib/argp-fmtstream.h: Likewise.
73255         * lib/argp.h: Likewise.
73256         * lib/error.h: Likewise.
73257         * lib/vasnprintf.h: Likewise.
73258         * lib/xprintf.h: Likewise.
73259         * lib/xvasprintf.h: Likewise.
73260         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73262 2010-01-18  Bruno Haible  <bruno@clisp.org>
73264         Tests for module 'tanl'.
73265         * modules/tanl-tests: New file.
73266         * tests/test-tanl.c: New file.
73268         Tests for module 'sqrtl'.
73269         * modules/sqrtl-tests: New file.
73270         * tests/test-sqrtl.c: New file.
73272         Tests for module 'sinl'.
73273         * modules/sinl-tests: New file.
73274         * tests/test-sinl.c: New file.
73276         Tests for module 'logl'.
73277         * modules/logl-tests: New file.
73278         * tests/test-logl.c: New file.
73280         Tests for module 'expl'.
73281         * modules/expl-tests: New file.
73282         * tests/test-expl.c: New file.
73284         Tests for module 'cosl'.
73285         * modules/cosl-tests: New file.
73286         * tests/test-cosl.c: New file.
73288         Tests for module 'atanl'.
73289         * modules/atanl-tests: New file.
73290         * tests/test-atanl.c: New file.
73292         Tests for module 'asinl'.
73293         * modules/asinl-tests: New file.
73294         * tests/test-asinl.c: New file.
73296         Tests for module 'acosl'.
73297         * modules/acosl-tests: New file.
73298         * tests/test-acosl.c: New file.
73300         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73301         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
73302         tanl): Use the standard gnulib idiom.
73303         * lib/cosl.c: Don't include trigl.c and sincosl.c.
73304         * lib/sinl.c: Likewise.
73305         * lib/tanl.c: Don't include trigl.c.
73306         (kernel_tanl): Make static.
73307         * lib/sincosl.c: Include trigl.h first.
73308         * lib/trigl.c: Likewise.
73309         * m4/acosl.m4: New file.
73310         * m4/asinl.m4: New file.
73311         * m4/atanl.m4: New file.
73312         * m4/cosl.m4: New file.
73313         * m4/expl.m4: New file.
73314         * m4/logl.m4: New file.
73315         * m4/sinl.m4: New file.
73316         * m4/sqrtl.m4: New file.
73317         * m4/tanl.m4: New file.
73318         * m4/mathl.m4: Remove file.
73319         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
73320         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
73321         Don't initialize GNULIB_MATHL.
73322         * modules/acosl: New file.
73323         * modules/asinl: New file.
73324         * modules/atanl: New file.
73325         * modules/cosl: New file.
73326         * modules/expl: New file.
73327         * modules/logl: New file.
73328         * modules/sinl: New file.
73329         * modules/sqrtl: New file.
73330         * modules/tanl: New file.
73331         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
73332         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
73333         substitute GNULIB_MATHL.
73334         * modules/mathl: Rewritten.
73335         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
73336         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
73337         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
73338         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
73339         * doc/posix-functions/expl.texi: Mention the 'expl' module.
73340         * doc/posix-functions/logl.texi: Mention the 'logl' module.
73341         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
73342         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
73343         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
73345 2010-01-18  Bruno Haible  <bruno@clisp.org>
73347         sqrt: Make gl_FUNC_SQRT requirable.
73348         * m4/sqrt.m4: New file.
73349         * modules/sqrt (Files): Add it.
73350         (configure.ac): Invoke gl_FUNC_SQRT.
73352 2010-01-18  Bruno Haible  <bruno@clisp.org>
73354         New modules for common <math.h> functions.
73355         * m4/mathfunc.m4: New file.
73356         * modules/acos: New file.
73357         * modules/asin: New file.
73358         * modules/atan: New file.
73359         * modules/atan2: New file.
73360         * modules/cbrt: New file.
73361         * modules/copysign: New file.
73362         * modules/cos: New file.
73363         * modules/cosh: New file.
73364         * modules/erf: New file.
73365         * modules/erfc: New file.
73366         * modules/exp: New file.
73367         * modules/fabs: New file.
73368         * modules/fmod: New file.
73369         * modules/hypot: New file.
73370         * modules/j0: New file.
73371         * modules/j1: New file.
73372         * modules/jn: New file.
73373         * modules/ldexp: New file.
73374         * modules/lgamma: New file.
73375         * modules/log: New file.
73376         * modules/log10: New file.
73377         * modules/log1p: New file.
73378         * modules/logb: New file.
73379         * modules/modf: New file.
73380         * modules/nextafter: New file.
73381         * modules/pow: New file.
73382         * modules/remainder: New file.
73383         * modules/rint: New file.
73384         * modules/sin: New file.
73385         * modules/sinh: New file.
73386         * modules/sqrt: New file.
73387         * modules/tan: New file.
73388         * modules/tanh: New file.
73389         * modules/y0: New file.
73390         * modules/y1: New file.
73391         * modules/yn: New file.
73392         * doc/posix-functions/acos.texi: Mention the 'acos' module.
73393         * doc/posix-functions/asin.texi: Mention the 'asin' module.
73394         * doc/posix-functions/atan.texi: Mention the 'atan' module.
73395         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
73396         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
73397         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
73398         * doc/posix-functions/cos.texi: Mention the 'cos' module.
73399         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
73400         * doc/posix-functions/erf.texi: Mention the 'erf' module.
73401         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
73402         * doc/posix-functions/exp.texi: Mention the 'exp' module.
73403         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
73404         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
73405         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
73406         * doc/posix-functions/j0.texi: Mention the 'j0' module.
73407         * doc/posix-functions/j1.texi: Mention the 'j1' module.
73408         * doc/posix-functions/jn.texi: Mention the 'jn' module.
73409         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
73410         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
73411         * doc/posix-functions/log.texi: Mention the 'log' module.
73412         * doc/posix-functions/log10.texi: Mention the 'log10' module.
73413         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
73414         * doc/posix-functions/logb.texi: Mention the 'logb' module.
73415         * doc/posix-functions/modf.texi: Mention the 'modf' module.
73416         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
73417         * doc/posix-functions/pow.texi: Mention the 'pow' module.
73418         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
73419         * doc/posix-functions/rint.texi: Mention the 'rint' module.
73420         * doc/posix-functions/sin.texi: Mention the 'sin' module.
73421         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
73422         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
73423         * doc/posix-functions/tan.texi: Mention the 'tan' module.
73424         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
73425         * doc/posix-functions/y0.texi: Mention the 'y0' module.
73426         * doc/posix-functions/y1.texi: Mention the 'y1' module.
73427         * doc/posix-functions/yn.texi: Mention the 'yn' module.
73429 2010-01-18  Jim Meyering  <meyering@redhat.com>
73431         ignore-value: relax license to LGPLv2+
73432         * modules/ignore-value (License): Relax to LGPLv2+.
73434         getdate: don't leak when TZ contains two or more '"'s
73435         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
73436         double quote in TZ after the first one.
73438         readtokens: do not leak internal token_lengths buffer
73439         * lib/readtokens.c (readtokens): Free the local, lengths,
73440         when the supplied "token_lengths" parameter is NULL.
73442 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73444         Fix a couple of missing LIBTHREAD link failures on AIX.
73445         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
73446         $(LIBTHREAD).
73447         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
73449         Link test-poll against INET_PTON_LIB.
73450         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
73451         for inet_pton on Solaris 10.
73453 2010-01-17  Bruno Haible  <bruno@clisp.org>
73455         unistdio/*-sprintf: Fix typo in module description.
73456         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
73457         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
73458         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
73459         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
73460         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
73461         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
73462         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
73463         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73465 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73467         gnulib-tool: fix filelist for AIX, HP-UX ksh.
73468         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
73469         variables in shell case patterns, for AIX and HP-UX ksh.
73471         Split large sed scripts, for HP-UX sed.
73472         * modules/stdio: Split sed scripts around 50 sed commands,
73473         to avoid HP-UX limit of 99 commands, in the near future.
73474         * modules/string: Likewise.
73475         * modules/unistd: Likewise.
73477         gnulib-tool: avoid writing in the current directory.
73478         * gnulib-tool (func_emit_lib_Makefile_am)
73479         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
73480         not in the current directory, so concurrent gnulib-tool
73481         instances do not interfere.
73483 2010-01-16  Jim Meyering  <meyering@redhat.com>
73485         doc: update users.txt
73486         * users.txt: Add grep.
73487         (diffutils, gzip): Update URLs.
73489 2010-01-12  Bruno Haible  <bruno@clisp.org>
73491         posix_spawn: Avoid test failure on Cygwin.
73492         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
73493         characters.
73494         Reported by Simon Josefsson.
73496 2010-01-12  Bruno Haible  <bruno@clisp.org>
73498         * tests/test-cond.c (main): When skipping the test, show the reason.
73500 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73502         * lib/striconv.c (str_cd_iconv): Avoid if before free.
73504 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73506         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
73507         VC_LIST_ALWAYS_EXCLUDE_REGEX.
73509 2010-01-12  Eric Blake  <ebb9@byu.net>
73511         build: guarantee AS_VAR_IF
73512         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
73513         (gl_AS_VAR_IF): Move...
73514         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
73515         Reported by Simon Josefsson.
73517 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73519         * lib/stdio.in.h: Fix typo.
73521 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73523         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
73524         libgpg-error.
73526 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73528         * tests/test-xalloc-die.sh: Use $EXEEXT.
73530 2010-01-12  Simon Josefsson  <simon@josefsson.org>
73531             Bruno Haible  <bruno@clisp.org>
73533         getlogin, getlogin_r: Avoid test failure.
73534         * tests/test-getlogin.c: Include <stdio.h>.
73535         (main): Skip the test when the function fails because stdin is not a
73536         tty.
73537         * tests/test-getlogin_r.c: Include <stdio.h>.
73538         (main): Skip the test when the function fails because stdin is not a
73539         tty.
73541 2010-01-11  Eric Blake  <ebb9@byu.net>
73543         tests: avoid more large file warnings
73544         * tests/test-fflush.c: Avoid warning about ftell use.
73545         * tests/test-fseek.c: Avoid warning about fseek use.
73547 2010-01-10  Bruno Haible  <bruno@clisp.org>
73549         nproc: Work better on Linux when /proc and /sys are not mounted.
73550         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
73551         as lower bound when, on glibc/Linux systems,
73552         sysconf (_SC_NPROCESSORS_CONF) returns 1.
73553         Suggested by Pádraig Brady <P@draigbrady.com>.
73554         Reported by Dmitry V. Levin <ldv@altlinux.org>.
73556         nproc: Refactor.
73557         * lib/nproc.c (num_processors_via_affinity_mask): New function,
73558         extracted from num_processors.
73559         (num_processors): Call it.
73561 2010-01-11  Jim Meyering  <meyering@redhat.com>
73563         utimecmp: avoid new warning from upcoming gcc-4.5.0
73564         * lib/utimecmp.c (BILLION): Define using #define rather than an
73565         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
73567 2010-01-11  Eric Blake  <ebb9@byu.net>
73569         math: add portability warnings for classification macros
73570         * modules/math (Depends-on): Add warn-on-use.
73571         (Makefile.am): Provide new substitutions.
73572         * m4/math_h.m4 (gl_MATH_H): Require inline.
73573         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
73574         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
73575         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
73576         implement warnings.
73578         unistd: warn on use of environ without module
73579         * modules/unistd (Depends-on): Add warn-on-use.
73580         (Makefile.am): Provide new substitutions.
73581         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
73582         * lib/unistd.in.h (environ): Wrap with a warning helper function.
73584         stdio: warn on suspicious uses
73585         * modules/stdio (Depends-on): Add warn-on-use.
73586         (Makefile.am): Provide new substitutions.
73587         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
73588         fseeko.
73589         * lib/stdio.in.h (gets): Always warn on use.
73590         (fseek, ftell): Adjust when warnings are issued, and honor
73591         _GL_NO_LARGE_FILES as a way to silence the warning.
73592         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
73593         any warning about large file offsets.
73594         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
73595         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
73596         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
73597         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
73598         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
73599         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
73600         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
73601         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
73603         warn-on-use: new module
73604         * modules/warn-on-use: New file.
73605         * build-aux/warn-on-use.h: Likewise.
73606         * m4/warn-on-use.m4: Likewise.
73607         * MODULES.html.sh (Support for building): Mention it.
73609 2010-01-10  Bruno Haible  <bruno@clisp.org>
73611         Tests for module 'unistr/u32-strdup'.
73612         * modules/unistr/u32-strdup-tests: New file.
73613         * tests/unistr/test-u32-strdup.c: New file.
73615         Tests for module 'unistr/u16-strdup'.
73616         * modules/unistr/u16-strdup-tests: New file.
73617         * tests/unistr/test-u16-strdup.c: New file.
73619         Tests for module 'unistr/u8-strdup'.
73620         * modules/unistr/u8-strdup-tests: New file.
73621         * tests/unistr/test-u8-strdup.c: New file.
73622         * tests/unistr/test-strdup.h: New file.
73624         Tests for module 'unistr/u32-strncmp'.
73625         * modules/unistr/u32-strncmp-tests: New file.
73626         * tests/unistr/test-u32-strncmp.c: New file.
73628         Tests for module 'unistr/u16-strncmp'.
73629         * modules/unistr/u16-strncmp-tests: New file.
73630         * tests/unistr/test-u16-strncmp.c: New file.
73632         Tests for module 'unistr/u8-strncmp'.
73633         * modules/unistr/u8-strncmp-tests: New file.
73634         * tests/unistr/test-u8-strncmp.c: New file.
73635         * tests/unistr/test-strncmp.h: New file.
73637         Tests for module 'unistr/u32-strcoll'.
73638         * modules/unistr/u32-strcoll-tests: New file.
73639         * tests/unistr/test-u32-strcoll.c: New file.
73641         Tests for module 'unistr/u16-strcoll'.
73642         * modules/unistr/u16-strcoll-tests: New file.
73643         * tests/unistr/test-u16-strcoll.c: New file.
73645         Tests for module 'unistr/u8-strcoll'.
73646         * modules/unistr/u8-strcoll-tests: New file.
73647         * tests/unistr/test-u8-strcoll.c: New file.
73649         Tests for module 'unistr/u32-strcmp'.
73650         * modules/unistr/u32-strcmp-tests: New file.
73651         * tests/unistr/test-u32-strcmp.c: New file.
73652         * tests/unistr/test-u32-strcmp.h: New file.
73654         Tests for module 'unistr/u16-strcmp'.
73655         * modules/unistr/u16-strcmp-tests: New file.
73656         * tests/unistr/test-u16-strcmp.c: New file.
73657         * tests/unistr/test-u16-strcmp.h: New file.
73659         Tests for module 'unistr/u8-strcmp'.
73660         * modules/unistr/u8-strcmp-tests: New file.
73661         * tests/unistr/test-u8-strcmp.c: New file.
73662         * tests/unistr/test-u8-strcmp.h: New file.
73663         * tests/unistr/test-strcmp.h: New file.
73665         Tests for module 'unistr/u32-strncat'.
73666         * modules/unistr/u32-strncat-tests: New file.
73667         * tests/unistr/test-u32-strncat.c: New file.
73669         Tests for module 'unistr/u16-strncat'.
73670         * modules/unistr/u16-strncat-tests: New file.
73671         * tests/unistr/test-u16-strncat.c: New file.
73673         Tests for module 'unistr/u8-strncat'.
73674         * modules/unistr/u8-strncat-tests: New file.
73675         * tests/unistr/test-u8-strncat.c: New file.
73676         * tests/unistr/test-strncat.h: New file.
73678         Tests for module 'unistr/u32-strcat'.
73679         * modules/unistr/u32-strcat-tests: New file.
73680         * tests/unistr/test-u32-strcat.c: New file.
73682         Tests for module 'unistr/u16-strcat'.
73683         * modules/unistr/u16-strcat-tests: New file.
73684         * tests/unistr/test-u16-strcat.c: New file.
73686         Tests for module 'unistr/u8-strcat'.
73687         * modules/unistr/u8-strcat-tests: New file.
73688         * tests/unistr/test-u8-strcat.c: New file.
73689         * tests/unistr/test-strcat.h: New file.
73691         Tests for module 'unistr/u32-stpncpy'.
73692         * modules/unistr/u32-stpncpy-tests: New file.
73693         * tests/unistr/test-u32-stpncpy.c: New file.
73695         Tests for module 'unistr/u16-stpncpy'.
73696         * modules/unistr/u16-stpncpy-tests: New file.
73697         * tests/unistr/test-u16-stpncpy.c: New file.
73699         Tests for module 'unistr/u8-stpncpy'.
73700         * modules/unistr/u8-stpncpy-tests: New file.
73701         * tests/unistr/test-u8-stpncpy.c: New file.
73702         * tests/unistr/test-stpncpy.h: New file.
73704         Tests for module 'unistr/u32-strncpy'.
73705         * modules/unistr/u32-strncpy-tests: New file.
73706         * tests/unistr/test-u32-strncpy.c: New file.
73708         Tests for module 'unistr/u16-strncpy'.
73709         * modules/unistr/u16-strncpy-tests: New file.
73710         * tests/unistr/test-u16-strncpy.c: New file.
73712         Tests for module 'unistr/u8-strncpy'.
73713         * modules/unistr/u8-strncpy-tests: New file.
73714         * tests/unistr/test-u8-strncpy.c: New file.
73715         * tests/unistr/test-strncpy.h: New file.
73717         Tests for module 'unistr/u32-stpcpy'.
73718         * modules/unistr/u32-stpcpy-tests: New file.
73719         * tests/unistr/test-u32-stpcpy.c: New file.
73721         Tests for module 'unistr/u16-stpcpy'.
73722         * modules/unistr/u16-stpcpy-tests: New file.
73723         * tests/unistr/test-u16-stpcpy.c: New file.
73725         Tests for module 'unistr/u8-stpcpy'.
73726         * modules/unistr/u8-stpcpy-tests: New file.
73727         * tests/unistr/test-u8-stpcpy.c: New file.
73728         * tests/unistr/test-stpcpy.h: New file.
73730         Tests for module 'unistr/u32-strcpy'.
73731         * modules/unistr/u32-strcpy-tests: New file.
73732         * tests/unistr/test-u32-strcpy.c: New file.
73734         Tests for module 'unistr/u16-strcpy'.
73735         * modules/unistr/u16-strcpy-tests: New file.
73736         * tests/unistr/test-u16-strcpy.c: New file.
73738         Tests for module 'unistr/u8-strcpy'.
73739         * modules/unistr/u8-strcpy-tests: New file.
73740         * tests/unistr/test-u8-strcpy.c: New file.
73741         * tests/unistr/test-strcpy.h: New file.
73743         Tests for module 'unistr/u32-strnlen'.
73744         * modules/unistr/u32-strnlen-tests: New file.
73745         * tests/unistr/test-u32-strnlen.c: New file.
73747         Tests for module 'unistr/u16-strnlen'.
73748         * modules/unistr/u16-strnlen-tests: New file.
73749         * tests/unistr/test-u16-strnlen.c: New file.
73751         Tests for module 'unistr/u8-strnlen'.
73752         * modules/unistr/u8-strnlen-tests: New file.
73753         * tests/unistr/test-u8-strnlen.c: New file.
73754         * tests/unistr/test-strnlen.h: New file.
73756         Tests for module 'unistr/u32-strlen'.
73757         * modules/unistr/u32-strlen-tests: New file.
73758         * tests/unistr/test-u32-strlen.c: New file.
73760         Tests for module 'unistr/u16-strlen'.
73761         * modules/unistr/u16-strlen-tests: New file.
73762         * tests/unistr/test-u16-strlen.c: New file.
73764         Tests for module 'unistr/u8-strlen'.
73765         * modules/unistr/u8-strlen-tests: New file.
73766         * tests/unistr/test-u8-strlen.c: New file.
73768         Tests for module 'unistr/u32-prev'.
73769         * modules/unistr/u32-prev-tests: New file.
73770         * tests/unistr/test-u32-prev.c: New file.
73772         Tests for module 'unistr/u16-prev'.
73773         * modules/unistr/u16-prev-tests: New file.
73774         * tests/unistr/test-u16-prev.c: New file.
73776         Tests for module 'unistr/u8-prev'.
73777         * modules/unistr/u8-prev-tests: New file.
73778         * tests/unistr/test-u8-prev.c: New file.
73780         Tests for module 'unistr/u32-next'.
73781         * modules/unistr/u32-next-tests: New file.
73782         * tests/unistr/test-u32-next.c: New file.
73784         Tests for module 'unistr/u16-next'.
73785         * modules/unistr/u16-next-tests: New file.
73786         * tests/unistr/test-u16-next.c: New file.
73788         Tests for module 'unistr/u8-next'.
73789         * modules/unistr/u8-next-tests: New file.
73790         * tests/unistr/test-u8-next.c: New file.
73792         Tests for module 'unistr/u32-strmbtouc'.
73793         * modules/unistr/u32-strmbtouc-tests: New file.
73794         * tests/unistr/test-u32-strmbtouc.c: New file.
73796         Tests for module 'unistr/u16-strmbtouc'.
73797         * modules/unistr/u16-strmbtouc-tests: New file.
73798         * tests/unistr/test-u16-strmbtouc.c: New file.
73800         Tests for module 'unistr/u8-strmbtouc'.
73801         * modules/unistr/u8-strmbtouc-tests: New file.
73802         * tests/unistr/test-u8-strmbtouc.c: New file.
73804         Tests for module 'unistr/u32-strmblen'.
73805         * modules/unistr/u32-strmblen-tests: New file.
73806         * tests/unistr/test-u32-strmblen.c: New file.
73808         Tests for module 'unistr/u16-strmblen'.
73809         * modules/unistr/u16-strmblen-tests: New file.
73810         * tests/unistr/test-u16-strmblen.c: New file.
73812         Tests for module 'unistr/u8-strmblen'.
73813         * modules/unistr/u8-strmblen-tests: New file.
73814         * tests/unistr/test-u8-strmblen.c: New file.
73816         Tests for module 'unistr/u32-cpy-alloc'.
73817         * modules/unistr/u32-cpy-alloc-tests: New file.
73818         * tests/unistr/test-u32-cpy-alloc.c: New file.
73820         Tests for module 'unistr/u16-cpy-alloc'.
73821         * modules/unistr/u16-cpy-alloc-tests: New file.
73822         * tests/unistr/test-u16-cpy-alloc.c: New file.
73824         Tests for module 'unistr/u8-cpy-alloc'.
73825         * modules/unistr/u8-cpy-alloc-tests: New file.
73826         * tests/unistr/test-u8-cpy-alloc.c: New file.
73827         * tests/unistr/test-cpy-alloc.h: New file.
73829         Tests for module 'unistr/u32-mbsnlen'.
73830         * modules/unistr/u32-mbsnlen-tests: New file.
73831         * tests/unistr/test-u32-mbsnlen.c: New file.
73833         Tests for module 'unistr/u16-mbsnlen'.
73834         * modules/unistr/u16-mbsnlen-tests: New file.
73835         * tests/unistr/test-u16-mbsnlen.c: New file.
73837         Tests for module 'unistr/u8-mbsnlen'.
73838         * modules/unistr/u8-mbsnlen-tests: New file.
73839         * tests/unistr/test-u8-mbsnlen.c: New file.
73841         Tests for module 'unistr/u32-chr'.
73842         * modules/unistr/u32-chr-tests: New file.
73843         * tests/unistr/test-u32-chr.c: New file.
73845         Tests for module 'unistr/u16-chr'.
73846         * modules/unistr/u16-chr-tests: New file.
73847         * tests/unistr/test-u16-chr.c: New file.
73849         Tests for module 'unistr/u8-chr'.
73850         * modules/unistr/u8-chr-tests: New file.
73851         * tests/unistr/test-u8-chr.c: New file.
73852         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
73854         Tests for module 'unistr/u32-cmp2'.
73855         * modules/unistr/u32-cmp2-tests: New file.
73856         * tests/unistr/test-u32-cmp2.c: New file.
73858         Tests for module 'unistr/u16-cmp2'.
73859         * modules/unistr/u16-cmp2-tests: New file.
73860         * tests/unistr/test-u16-cmp2.c: New file.
73862         Tests for module 'unistr/u8-cmp2'.
73863         * modules/unistr/u8-cmp2-tests: New file.
73864         * tests/unistr/test-u8-cmp2.c: New file.
73865         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
73867         Tests for module 'unistr/u32-cmp'.
73868         * modules/unistr/u32-cmp-tests: New file.
73869         * tests/unistr/test-u32-cmp.c: New file.
73871         Tests for module 'unistr/u16-cmp'.
73872         * modules/unistr/u16-cmp-tests: New file.
73873         * tests/unistr/test-u16-cmp.c: New file.
73875         Tests for module 'unistr/u8-cmp'.
73876         * modules/unistr/u8-cmp-tests: New file.
73877         * tests/unistr/test-u8-cmp.c: New file.
73878         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
73880         Tests for module 'unistr/u32-set'.
73881         * modules/unistr/u32-set-tests: New file.
73882         * tests/unistr/test-u32-set.c: New file.
73884         Tests for module 'unistr/u16-set'.
73885         * modules/unistr/u16-set-tests: New file.
73886         * tests/unistr/test-u16-set.c: New file.
73888         Tests for module 'unistr/u8-set'.
73889         * modules/unistr/u8-set-tests: New file.
73890         * tests/unistr/test-u8-set.c: New file.
73891         * tests/unistr/test-set.h: New file.
73893         Tests for module 'unistr/u32-move'.
73894         * modules/unistr/u32-move-tests: New file.
73895         * tests/unistr/test-u32-move.c: New file.
73897         Tests for module 'unistr/u16-move'.
73898         * modules/unistr/u16-move-tests: New file.
73899         * tests/unistr/test-u16-move.c: New file.
73901         Tests for module 'unistr/u8-move'.
73902         * modules/unistr/u8-move-tests: New file.
73903         * tests/unistr/test-u8-move.c: New file.
73904         * tests/unistr/test-move.h: New file.
73906         Tests for module 'unistr/u32-cpy'.
73907         * modules/unistr/u32-cpy-tests: New file.
73908         * tests/unistr/test-u32-cpy.c: New file.
73910         Tests for module 'unistr/u16-cpy'.
73911         * modules/unistr/u16-cpy-tests: New file.
73912         * tests/unistr/test-u16-cpy.c: New file.
73914         Tests for module 'unistr/u8-cpy'.
73915         * modules/unistr/u8-cpy-tests: New file.
73916         * tests/unistr/test-u8-cpy.c: New file.
73917         * tests/unistr/test-cpy.h: New file.
73919 2010-01-09  Bruno Haible  <bruno@clisp.org>
73921         Tests for module 'unistr/u32-uctomb'.
73922         * modules/unistr/u32-uctomb-tests: New file.
73923         * tests/unistr/test-u32-uctomb.c: New file.
73925         Tests for module 'unistr/u16-uctomb'.
73926         * modules/unistr/u16-uctomb-tests: New file.
73927         * tests/unistr/test-u16-uctomb.c: New file.
73929         Tests for module 'unistr/u8-uctomb'.
73930         * modules/unistr/u8-uctomb-tests: New file.
73931         * tests/unistr/test-u8-uctomb.c: New file.
73933         Tests for module 'unistr/u32-mbtoucr'.
73934         * modules/unistr/u32-mbtoucr-tests: New file.
73935         * tests/unistr/test-u32-mbtoucr.c: New file.
73937         Tests for module 'unistr/u16-mbtoucr'.
73938         * modules/unistr/u16-mbtoucr-tests: New file.
73939         * tests/unistr/test-u16-mbtoucr.c: New file.
73941         Tests for module 'unistr/u8-mbtoucr'.
73942         * modules/unistr/u8-mbtoucr-tests: New file.
73943         * tests/unistr/test-u8-mbtoucr.c: New file.
73945         Tests for module 'unistr/u32-mbtouc'.
73946         * modules/unistr/u32-mbtouc-tests: New file.
73947         * tests/unistr/test-u32-mbtouc.c: New file.
73949         Tests for module 'unistr/u16-mbtouc'.
73950         * modules/unistr/u16-mbtouc-tests: New file.
73951         * tests/unistr/test-u16-mbtouc.c: New file.
73953         Tests for module 'unistr/u8-mbtouc'.
73954         * modules/unistr/u8-mbtouc-tests: New file.
73955         * tests/unistr/test-u8-mbtouc.c: New file.
73957         Tests for module 'unistr/u32-mbtouc-unsafe'.
73958         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
73959         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
73960         * tests/unistr/test-u32-mbtouc.h: New file.
73962         Tests for module 'unistr/u16-mbtouc-unsafe'.
73963         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
73964         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
73965         * tests/unistr/test-u16-mbtouc.h: New file.
73967         Tests for module 'unistr/u8-mbtouc-unsafe'.
73968         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
73969         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
73970         * tests/unistr/test-u8-mbtouc.h: New file.
73972         Tests for module 'unistr/u32-mblen'.
73973         * modules/unistr/u32-mblen-tests: New file.
73974         * tests/unistr/test-u32-mblen.c: New file.
73976         Tests for module 'unistr/u16-mblen'.
73977         * modules/unistr/u16-mblen-tests: New file.
73978         * tests/unistr/test-u16-mblen.c: New file.
73980         Tests for module 'unistr/u8-mblen'.
73981         * modules/unistr/u8-mblen-tests: New file.
73982         * tests/unistr/test-u8-mblen.c: New file.
73984         Tests for module 'unistr/u32-to-u16'.
73985         * modules/unistr/u32-to-u16-tests: New file.
73986         * tests/unistr/test-u32-to-u16.c: New file.
73988         Tests for module 'unistr/u32-to-u8'.
73989         * modules/unistr/u32-to-u8-tests: New file.
73990         * tests/unistr/test-u32-to-u8.c: New file.
73992         Tests for module 'unistr/u16-to-u32'.
73993         * modules/unistr/u16-to-u32-tests: New file.
73994         * tests/unistr/test-u16-to-u32.c: New file.
73996         Tests for module 'unistr/u16-to-u8'.
73997         * modules/unistr/u16-to-u8-tests: New file.
73998         * tests/unistr/test-u16-to-u8.c: New file.
74000         Tests for module 'unistr/u8-to-u32'.
74001         * modules/unistr/u8-to-u32-tests: New file.
74002         * tests/unistr/test-u8-to-u32.c: New file.
74004         Tests for module 'unistr/u8-to-u16'.
74005         * modules/unistr/u8-to-u16-tests: New file.
74006         * tests/unistr/test-u8-to-u16.c: New file.
74008         Tests for module 'unistr/u32-check'.
74009         * modules/unistr/u32-check-tests: New file.
74010         * tests/unistr/test-u32-check.c: New file.
74012         Tests for module 'unistr/u16-check'.
74013         * modules/unistr/u16-check-tests: New file.
74014         * tests/unistr/test-u16-check.c: New file.
74016         Tests for module 'unistr/u8-check'.
74017         * modules/unistr/u8-check-tests: New file.
74018         * tests/unistr/test-u8-check.c: New file.
74020         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
74021         (category_equals): New function.
74022         (main): Add more tests.
74023         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
74025         * tests/unictype/test-bidi_byname.c (main): Add more tests.
74027 2010-01-10  Bruno Haible  <bruno@clisp.org>
74029         unistr/u*-strcoll: Try harder to distinguish different strings.
74030         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
74031         compare s1 and s2 to see if they are different.
74033 2010-01-10  Bruno Haible  <bruno@clisp.org>
74035         unistr/u*-stpncpy: Fix the return value.
74036         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
74037         description of the return value consistent with stpncpy in glibc.
74038         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
74039         written non-NUL unit.
74041 2010-01-10  Bruno Haible  <bruno@clisp.org>
74043         unistr/u*-next: Add missing dependencies.
74044         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
74045         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
74046         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
74048 2010-01-10  Bruno Haible  <bruno@clisp.org>
74050         unistr/u8-mbsnlen: Fix return value for incomplete character.
74051         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
74052         u8_mblen.
74053         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
74054         Remove unistr/u8-mblen.
74055         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
74056         u16_mblen.
74057         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
74058         Remove unistr/u16-mblen.
74060 2010-01-10  Bruno Haible  <bruno@clisp.org>
74062         wchar: Fix compilation error when <wchar.h> is used from coreutils.
74063         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
74064         Reported by Brian Gough <bjg@gnu.org> and
74065         Chris Clayton <chris2553@googlemail.com> via
74066         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
74068 2010-01-09  Bruno Haible  <bruno@clisp.org>
74070         unistr/u16-to-u32: Reject invalid input.
74071         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
74072         u16_mbtouc.
74073         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
74074         Remove unistr/u16-mbtouc.
74076         unistr/u16-to-u8: Reject invalid input.
74077         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
74078         u16_mbtouc.
74079         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
74080         Remove unistr/u16-mbtouc.
74082         unistr/u8-to-u32: Reject invalid input.
74083         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
74084         u8_mbtouc.
74085         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
74086         Remove unistr/u8-mbtouc.
74088         unistr/u8-to-u16: Reject invalid input.
74089         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
74090         u8_mbtouc.
74091         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
74092         Remove unistr/u8-mbtouc.
74094 2010-01-09  Bruno Haible  <bruno@clisp.org>
74096         Tests for module 'getlogin'.
74097         * modules/getlogin-tests: New file.
74098         * tests/test-getlogin.c: New file.
74100         New module 'getlogin'.
74101         * lib/unistd.in.h (getlogin): New declaration.
74102         * lib/getlogin.c: New file.
74103         * m4/getlogin.m4: New file.
74104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
74105         HAVE_GETLOGIN.
74106         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
74107         HAVE_GETLOGIN.
74108         * modules/getlogin: New file.
74109         * doc/posix-functions/getlogin.texi: Mention the new module.
74110         Reported by John W. Eaton <jwe@gnu.org>.
74112 2010-01-09  Bruno Haible  <bruno@clisp.org>
74114         getlogin_r: Support for native Windows.
74115         * lib/getlogin_r.c: Include <windows.h>
74116         (getlogin_r): Implement for native Windows.
74117         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
74118         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
74119         via John W. Eaton <jwe@gnu.org>.
74121 2010-01-09  Bruno Haible  <bruno@clisp.org>
74123         getlogin_r: Small fixes.
74124         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
74125         succeeds.
74126         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
74127         before testing whether getlogin_r is declared. No need to set
74128         HAVE_DECL_GETLOGIN_R to 1.
74129         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
74131 2010-01-09  Bruno Haible  <bruno@clisp.org>
74133         * lib/unistd.in.h (getlogin_r): Add comment.
74135 2010-01-09  Bruno Haible  <bruno@clisp.org>
74137         Tests for module 'getlogin_r'.
74138         * modules/getlogin_r-tests: New file.
74139         * tests/test-getlogin_r.c: New file.
74141 2010-01-09  Jim Meyering  <meyering@redhat.com>
74143         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
74144         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
74145         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
74147 2010-01-08  Simon Josefsson  <simon@josefsson.org>
74149         * lib/dup2.c (rpl_dup2): Improve comment.
74151 2010-01-08  Eric Blake  <ebb9@byu.net>
74153         maint.mk: allow packages to add makefile @@ exceptions
74154         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
74155         (sc_makefile_check): Rename...
74156         (sc_makefile_at_at_check): ...to this, and use hook.
74158         dup2: work around mingw bug
74159         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
74160         Reported by Simon Josefsson.
74162 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
74164         glob: Fix C++ compilation.
74165         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
74166         C++.
74168 2010-01-07  Bruno Haible  <bruno@clisp.org>
74170         Fix indentation of wctype.in.h, broken since 2007-01-06.
74171         * lib/wctype.in.h: Fix indentation of preprocessor directives.
74173 2010-01-07  Bruno Haible  <bruno@clisp.org>
74175         mbslen: Avoid collision with system function.
74176         * lib/string.in.h [MirBSD]: Include <wchar.h>.
74177         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
74178         * m4/mbslen.m4: New file.
74179         * modules/mbslen (Files): Add it.
74180         (configure.ac): Invoke gl_MBSLEN.
74181         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
74182         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
74183         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
74184         via Ian Beckwith <ianb@erislabs.net>.
74186 2010-01-07  Bruno Haible  <bruno@clisp.org>
74188         dirent: Document the last fix.
74189         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
74191 2010-01-07  Bruno Haible  <bruno@clisp.org>
74193         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
74194         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
74195         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
74196         va_list are defined.
74197         * doc/posix-headers/stdio.texi: Document the bug of missing types.
74198         Reported by Eric Blake.
74200 2010-01-07  Bruno Haible  <bruno@clisp.org>
74202         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
74203         * modules/xlist (Depends-on): Add 'list',
74204         * modules/xoset (Depends-on): Add 'oset'.
74205         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74207 2010-01-07  Bruno Haible  <bruno@clisp.org>
74209         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
74210         * doc/posix-functions/strncasecmp.texi: Likewise.
74212 2010-01-07  Bruno Haible  <bruno@clisp.org>
74214         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
74216 2010-01-07  John W. Eaton  <jwe@octave.org>
74218         wctype: allow C++ use
74219         * lib/wctype.in.h: Add extern "C" block for C++.
74221 2010-01-06  Eric Blake  <ebb9@byu.net>
74223         maint.mk: detect incorrect GFDL usage
74224         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
74226 2010-01-06  Jim Meyering  <meyering@redhat.com>
74227         and Eric Blake  <ebb9@byu.net>
74229         maint.mk: ignore multi-line copyright in NEWS
74230         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
74232 2010-01-06  Eric Blake  <ebb9@byu.net>
74234         select: add missing dependency
74235         * modules/select-tests (Depends-on): Move sockets dependency...
74236         * modules/select (Depends-on): ...here.
74237         Reported by Ian Beckwith.
74239         doc: regenerate INSTALL
74240         * doc/INSTALL: Reflect recent autoconf update.
74241         * doc/INSTALL.ISO: Likewise.
74242         * doc/INSTALL.UTF-8: Likewise.
74244         pread: fix compilation on glibc
74245         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
74246         Reported by Ralf Wildenhues.
74248         dirent: fix test failure
74249         * lib/dirent.in.h (includes): Guarantee ino_t.
74250         Reported by Ralf Wildenhues.
74252 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
74254         linkat, renameat: avoid bad free
74255         * lib/at-func2.c (at_func2): Fix typo.
74256         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
74258 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74260         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
74261         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
74262         to avoid failure of symlink test later.
74264 2010-01-06  Eric Blake  <ebb9@byu.net>
74266         stdio, unistd: guarantee ssize_t
74267         * lib/unistd.in.h (includes): Ensure that types required by POSIX
74268         2008 are exposed when needed.
74269         * lib/stdio.in.h (includes): Likewise.
74270         Reported by Ralf Wildenhues.
74272 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
74274         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
74275         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
74276         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
74278 2010-01-06  Jim Meyering  <meyering@redhat.com>
74280         readtokens: this module *does* require xalloc.h
74281         It uses only functions that were omitted by the old syntax-check rule.
74282         * lib/readtokens.c: Include "xalloc.h" once again.
74283         * modules/readtokens (Depends-on): Add xalloc.
74284         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
74286 2010-01-05  Eric Blake  <ebb9@byu.net>
74288         maint: support 'make announcement' from a VPATH build
74289         * top/maint.mk (announcement): Look for correct NEWS file.
74291 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
74293         utimens (fdutimens): ignore a negative FD, per contract
74294         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
74295         when we have a valid file descriptor.  Otherwise, using a brand
74296         new glibc (with just-patched futimens that now fails with EBADF)
74297         would cause this function to fail with ENOSYS.
74298         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
74299         See also http://bugzilla.redhat.com/552320.
74301 2010-01-05  Eric Blake  <ebb9@byu.net>
74303         strcase: document what it provides
74304         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
74305         gnulib module.
74306         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
74307         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
74309 2010-01-05  Jim Meyering  <meyering@redhat.com>
74311         maint: remove useless inclusions of "xalloc.h"
74312         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
74313         * lib/readtokens.c: Likewise.
74314         * lib/same.c: Likewise.
74315         * modules/getloadavg (Depends-on): Remove xalloc.
74316         * modules/readtokens: Likewise.
74317         * modules/same: Likewise.
74319         maint.mk: include 4 more function names in alloca.h-checking regexp
74320         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
74321         regexp.  Before, we would give a false-positive (saying alloca.h
74322         is included unnecessarily) when the only uses involved omitted symbols.
74324         xalloc.h: use consistent formatting
74325         * lib/xalloc.h: Move declarations to start in the first column.
74327 2010-01-05  Eric Blake  <ebb9@byu.net>
74329         mkdir: avoid xalloc
74330         * lib/mkdir.c (includes): Drop unused header.
74331         Reported by John W. Eaton.
74333 2010-01-04  Jim Meyering  <meyering@redhat.com>
74335         nl_langinfo: avoid configure-time syntax error
74336         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
74337         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
74338         the empty string.  Don't let that provoke a shell syntax error.
74340         regcomp, regexec, fnmatch: avoid array bounds read error
74341         * lib/regcomp.c (build_equiv_class): From glibc:
74342         Use only the low 24 bits of a findidx return value as an index
74343         into the weights array.  Patch by Ulrich Drepper:
74344         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
74345         * lib/regexec.c (check_node_accept_bytes): Likewise.
74346         * lib/fnmatch_loop.c (FCT): Likewise.
74348         regcomp: skip collseq lookup when there are no rules
74349         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
74350         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
74352         regcomp: recognize ill-formed { } expressions
74353         * lib/regcomp.c (parse_dup_op): From glibc:
74354         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
74356         regcomp: fix typo in comment
74357         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
74358         s/satisfy/satisfies/.
74360         regcomp: sync from glibc: remove dead store
74361         * lib/regcomp.c (duplicate_node_closure): Remove useless
74362         search_duplicated_node call and dead store.
74364         regcomp: sync from glibc; always use nl_langinfo
74365         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
74366         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
74367         * modules/regex (Depends-on): Add nl_langinfo.
74369 2010-01-04  Eric Blake  <ebb9@byu.net>
74371         fdopendir: fix configure test
74372         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
74374 2010-01-01  Bruno Haible  <bruno@clisp.org>
74376         wchar: Remove unused configure check.
74377         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
74379 2010-01-01  Eric Blake  <ebb9@byu.net>
74381         headers: make check of system header explicit
74382         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
74383         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
74384         ourselves.
74385         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
74386         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74387         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
74388         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
74389         internals.
74390         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
74391         missing.
74392         Suggested by Bruno Haible.
74394 2010-01-01  Jim Meyering  <meyering@redhat.com>
74396         ChangeLog: tweak to eliminate unnecessary copyright line
74397         * ChangeLog: Remove a copyright line that was mistakenly updated
74398         by today's update-copyright run.  Reported by Eric Blake.
74400         test-update-copyright: don't let envvar setting cause test failure
74401         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74403 2010-01-01  Bruno Haible  <bruno@clisp.org>
74405         localename: Avoid gcc warning.
74406         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
74407         function if it is not used.
74409 2010-01-01  Jim Meyering  <meyering@redhat.com>
74411         update nearly all FSF copyright year lists to include 2010
74412         Use the same procedure as for 2009, outlined in
74413         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
74415         version-etc: set COPYRIGHT_YEAR to 2010
74416         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
74418 2009-12-31  Eric Blake  <ebb9@byu.net>
74420         doc: correct availability of cygwin 1.5.x getopt
74421         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
74422         variables.
74423         * doc/posix-functions/opterr.texi (opterr): Likewise.
74424         * doc/posix-functions/optind.texi (optind): Likewise.
74425         * doc/posix-functions/optopt.texi (optopt): Likewise.
74426         * doc/posix-functions/tzname.texi (tzname): Likewise.
74428         openat: update maintainer
74429         * modules/openat (Maintainer): Add myself.
74431         utimens: avoid shadowing warning
74432         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
74433         buffers into one, to avoid shadowing, as well as avoiding a
74434         redundant stat.
74435         Reported by Jim Meyering.
74437         test-dup2: avoid compiler warning
74438         * tests/test-dup2.c (is_inheritable): Only define if used.
74440 2010-01-01  Bruno Haible  <bruno@clisp.org>
74442         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
74443         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
74444         defined, use wctomb instead of wcrtomb.
74446 2010-01-01  Bruno Haible  <bruno@clisp.org>
74448         iconv: Reject native Solaris iconv.
74449         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
74450         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
74452 2009-12-31  Bruno Haible  <bruno@clisp.org>
74454         * tests/test-signal.c (main): Remove test of 'SIG'.
74456 2009-12-31  Bruno Haible  <bruno@clisp.org>
74458         spawn: Fix incomplete fix.
74459         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74460         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74461         warnings for GNULIB_POSIXCHECK again.
74462         Reported by Eric Blake.
74464 2009-12-31  Bruno Haible  <bruno@clisp.org>
74466         Avoid namespace pollution on glibc systems.
74467         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
74468         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
74469         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
74470         glibc systems.
74472 2009-12-31  Bruno Haible  <bruno@clisp.org>
74474         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
74475         (gl_REPLACE_WCHAR_H): Turn into a no-op.
74476         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
74477         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
74478         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
74479         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
74480         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
74482 2009-12-31  Bruno Haible  <bruno@clisp.org>
74484         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
74485         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
74486         afterwards.
74488 2009-12-31  Bruno Haible  <bruno@clisp.org>
74490         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
74491         SYS_UTSNAME_H.
74493 2009-12-31  Bruno Haible  <bruno@clisp.org>
74495         spawn: Fix misapplied patch.
74496         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
74497         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
74498         warnings for GNULIB_POSIXCHECK.
74500 2009-12-31  Bruno Haible  <bruno@clisp.org>
74502         times: Update after sys_times changed.
74503         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
74504         * modules/times (Files): Add it.
74505         (configure.ac): Invoke gl_FUNC_TIMES.
74507 2009-12-31  Bruno Haible  <bruno@clisp.org>
74509         Use AC_C_INLINE where necessary.
74510         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
74511         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
74512         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74513         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
74514         * m4/mbfile.m4 (gl_MBFILE): Likewise.
74515         * m4/mbiter.m4 (gl_MBITER): Likewise.
74516         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74517         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
74518         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
74519         * modules/u64 (configure.ac): Likewise.
74521 2009-12-31  Bruno Haible  <bruno@clisp.org>
74523         Use AC_C_INLINE instead of module 'inline' where possible.
74524         * modules/inline (Description): Clarify purpose.
74525         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
74526         * modules/count-one-bits (Depends-on): Remove inline.
74527         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
74528         * modules/openat (Depends-on): Remove inline.
74529         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
74530         instead of depending on module 'inline'.
74531         * modules/filevercmp (Depends-on, configure.ac): Likewise.
74532         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
74533         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
74534         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
74535         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
74536         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
74537         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
74538         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
74539         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
74540         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
74541         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
74542         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
74543         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
74544         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
74545         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
74546         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
74547         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
74548         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
74549         Likewise.
74550         * modules/unictype/property-ascii-hex-digit (Depends-on,
74551         configure.ac): Likewise.
74552         * modules/unictype/property-bidi-arabic-digit (Depends-on,
74553         configure.ac): Likewise.
74554         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
74555         configure.ac): Likewise.
74556         * modules/unictype/property-bidi-block-separator (Depends-on,
74557         configure.ac): Likewise.
74558         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
74559         configure.ac): Likewise.
74560         * modules/unictype/property-bidi-common-separator (Depends-on,
74561         configure.ac): Likewise.
74562         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
74563         Likewise.
74564         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
74565         configure.ac): Likewise.
74566         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
74567         configure.ac): Likewise.
74568         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
74569         configure.ac): Likewise.
74570         * modules/unictype/property-bidi-european-digit (Depends-on,
74571         configure.ac): Likewise.
74572         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
74573         configure.ac): Likewise.
74574         * modules/unictype/property-bidi-left-to-right (Depends-on,
74575         configure.ac): Likewise.
74576         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
74577         configure.ac): Likewise.
74578         * modules/unictype/property-bidi-other-neutral (Depends-on,
74579         configure.ac): Likewise.
74580         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
74581         Likewise.
74582         * modules/unictype/property-bidi-segment-separator (Depends-on,
74583         configure.ac): Likewise.
74584         * modules/unictype/property-bidi-whitespace (Depends-on,
74585         configure.ac): Likewise.
74586         * modules/unictype/property-combining (Depends-on, configure.ac):
74587         Likewise.
74588         * modules/unictype/property-composite (Depends-on, configure.ac):
74589         Likewise.
74590         * modules/unictype/property-currency-symbol (Depends-on,
74591         configure.ac): Likewise.
74592         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
74593         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
74594         Likewise.
74595         * modules/unictype/property-default-ignorable-code-point (Depends-on,
74596         configure.ac): Likewise.
74597         * modules/unictype/property-deprecated (Depends-on, configure.ac):
74598         Likewise.
74599         * modules/unictype/property-diacritic (Depends-on, configure.ac):
74600         Likewise.
74601         * modules/unictype/property-extender (Depends-on, configure.ac):
74602         Likewise.
74603         * modules/unictype/property-format-control (Depends-on, configure.ac):
74604         Likewise.
74605         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
74606         Likewise.
74607         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
74608         Likewise.
74609         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
74610         Likewise.
74611         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
74612         Likewise.
74613         * modules/unictype/property-hyphen (Depends-on, configure.ac):
74614         Likewise.
74615         * modules/unictype/property-id-continue (Depends-on, configure.ac):
74616         Likewise.
74617         * modules/unictype/property-id-start (Depends-on, configure.ac):
74618         Likewise.
74619         * modules/unictype/property-ideographic (Depends-on, configure.ac):
74620         Likewise.
74621         * modules/unictype/property-ids-binary-operator (Depends-on,
74622         configure.ac): Likewise.
74623         * modules/unictype/property-ids-trinary-operator (Depends-on,
74624         configure.ac): Likewise.
74625         * modules/unictype/property-ignorable-control (Depends-on,
74626         configure.ac): Likewise.
74627         * modules/unictype/property-iso-control (Depends-on, configure.ac):
74628         Likewise.
74629         * modules/unictype/property-join-control (Depends-on, configure.ac):
74630         Likewise.
74631         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
74632         Likewise.
74633         * modules/unictype/property-line-separator (Depends-on, configure.ac):
74634         Likewise.
74635         * modules/unictype/property-logical-order-exception (Depends-on,
74636         configure.ac): Likewise.
74637         * modules/unictype/property-lowercase (Depends-on, configure.ac):
74638         Likewise.
74639         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
74640         * modules/unictype/property-non-break (Depends-on, configure.ac):
74641         Likewise.
74642         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
74643         Likewise.
74644         * modules/unictype/property-numeric (Depends-on, configure.ac):
74645         Likewise.
74646         * modules/unictype/property-other-alphabetic (Depends-on,
74647         configure.ac): Likewise.
74648         * modules/unictype/property-other-default-ignorable-code-point
74649         (Depends-on, configure.ac): Likewise.
74650         * modules/unictype/property-other-grapheme-extend (Depends-on,
74651         configure.ac): Likewise.
74652         * modules/unictype/property-other-id-continue (Depends-on,
74653         configure.ac): Likewise.
74654         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
74655         Likewise.
74656         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
74657         Likewise.
74658         * modules/unictype/property-other-math (Depends-on, configure.ac):
74659         Likewise.
74660         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
74661         Likewise.
74662         * modules/unictype/property-paired-punctuation (Depends-on,
74663         configure.ac): Likewise.
74664         * modules/unictype/property-paragraph-separator (Depends-on,
74665         configure.ac): Likewise.
74666         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
74667         Likewise.
74668         * modules/unictype/property-pattern-white-space (Depends-on,
74669         configure.ac): Likewise.
74670         * modules/unictype/property-private-use (Depends-on, configure.ac):
74671         Likewise.
74672         * modules/unictype/property-punctuation (Depends-on, configure.ac):
74673         Likewise.
74674         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
74675         Likewise.
74676         * modules/unictype/property-radical (Depends-on, configure.ac):
74677         Likewise.
74678         * modules/unictype/property-sentence-terminal (Depends-on,
74679         configure.ac): Likewise.
74680         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
74681         Likewise.
74682         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
74683         * modules/unictype/property-terminal-punctuation (Depends-on,
74684         configure.ac): Likewise.
74685         * modules/unictype/property-titlecase (Depends-on, configure.ac):
74686         Likewise.
74687         * modules/unictype/property-unassigned-code-value (Depends-on,
74688         configure.ac): Likewise.
74689         * modules/unictype/property-unified-ideograph (Depends-on,
74690         configure.ac): Likewise.
74691         * modules/unictype/property-uppercase (Depends-on, configure.ac):
74692         Likewise.
74693         * modules/unictype/property-variation-selector (Depends-on,
74694         configure.ac): Likewise.
74695         * modules/unictype/property-white-space (Depends-on, configure.ac):
74696         Likewise.
74697         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
74698         Likewise.
74699         * modules/unictype/property-xid-start (Depends-on, configure.ac):
74700         Likewise.
74701         * modules/unictype/property-zero-width (Depends-on, configure.ac):
74702         Likewise.
74703         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
74704         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
74705         Likewise.
74707 2009-12-31  Bruno Haible  <bruno@clisp.org>
74709         Remove unnecessary AC_C_INLINE invocation.
74710         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
74711         since 2009-08-21.
74713 2009-12-31  Jim Meyering  <meyering@redhat.com>
74715         maint.mk: don't require explicit gpg_key_ID in cfg.mk
74716         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
74717         With this change, we can all remove the gpg_key_ID = ... definition
74718         from our respective cfg.mk files.
74720         maint.mk: create announcement template in ~/, not in /tmp
74721         * top/maint.mk (emit_upload_commands): Adjust.
74722         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
74723         Remove temporary file, .ci-msg.
74725 2009-12-31  Eric Blake  <ebb9@byu.net>
74727         link-warning: always build headers with link warnings
74728         * modules/arpa_inet (Makefile.am): Always build replacement
74729         header.
74730         * modules/ctype (Makefile.am): Likewise.
74731         * modules/dirent (Makefile.am): Likewise.
74732         * modules/inttypes (Makefile.am): Likewise.
74733         * modules/langinfo (Makefile.am): Likewise.
74734         * modules/locale (Makefile.am): Likewise.
74735         * modules/spawn (Makefile.am): Likewise.
74736         * modules/sys_file (Makefile.am): Likewise.
74737         * modules/sys_ioctl (Makefile.am): Likewise.
74738         * modules/sys_select (Makefile.am): Likewise.
74739         * modules/sys_socket (Makefile.am): Likewise.
74740         * modules/sys_times (Makefile.am): Likewise.
74741         * modules/sys_utsname (Makefile.am): Likewise.
74742         * modules/sys_wait (Makefile.am): Likewise.
74743         * modules/wchar (Makefile.am): Likewise.
74744         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
74745         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
74746         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
74747         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
74748         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
74749         Likewise.
74750         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
74751         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
74752         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
74753         Likewise.
74754         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
74755         Likewise.
74756         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
74757         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
74758         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
74759         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74760         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
74761         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74762         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74763         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
74764         (gl_WCHAR_H_DEFAULTS): Likewise.
74766 2009-12-31  Eric Blake  <ebb9@byu.net>
74768         signal, spawn: use link warnings
74769         * lib/signal.in.h (sigset_t): Make unconditional.
74770         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
74771         (sigpending, sigprocmask, sigaction): Add link warnings.
74772         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
74773         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
74774         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
74775         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
74776         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
74777         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
74778         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
74779         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
74780         (posix_spawn_file_actions_destroy)
74781         (posix_spawn_file_actions_addopen)
74782         (posix_spawn_file_actions_addclose)
74783         (posix_spawn_file_actions_adddup2): Likewise.
74784         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
74785         * tests/test-signal.c (main): Enhance test.
74787         spawn: improve wrapper support
74788         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
74789         (gl_SPAWN_H_DEFAULTS): New defaults.
74790         * modules/spawn (Makefile.am): Substitute them.
74791         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
74792         Only declare if missing or broken.
74794         sys_times, sys_utsname: use include_next
74795         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
74796         header.
74797         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
74798         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74799         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74800         * modules/sys_times (Depends-on): Add include_next.
74801         (Makefile.am): Substitute additional values.
74802         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
74803         * lib/sys_times.in.h (includes): Include native header, if
74804         available.
74805         * lib/sys_utsname.in.h (includes): Likewise.
74806         * tests/test-sys_times.c (main): Enhance test.
74808         fdutimensat: revert prior patch
74809         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
74810         utimens.h.
74811         Reported by Bruno Haible.
74813 2009-12-30  Eric Blake  <ebb9@byu.net>
74815         sys_wait: drop link-warning dependency
74816         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
74817         link-warning efforts.
74818         * lib/sys_wait.in.h: Likewise.
74820         fdutimensat: remove bogus dependency
74821         * modules/fdutimensat (Depends-on): Drop inline.
74823         unistd: fix typo
74824         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
74826 2009-12-30  Bruno Haible  <bruno@clisp.org>
74828         Fix compilation error with Solaris cc.
74829         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
74830         * lib/unicase/u16-is-invariant.c: Likewise.
74831         * lib/unicase/u32-is-invariant.c: Likewise.
74832         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74834 2009-12-30  Bruno Haible  <bruno@clisp.org>
74836         Fix test crash.
74837         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
74838         locales.
74839         Reported by Simon Josefsson <simon@josefsson.org>.
74841 2009-12-30  Bruno Haible  <bruno@clisp.org>
74843         Fix compilation error on most platforms.
74844         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
74845         Reported by Simon Josefsson <simon@josefsson.org>
74846         and Nelson H. F. Beebe <beebe@math.utah.edu>.
74848 2009-12-30  Eric Blake  <ebb9@byu.net>
74850         futimens, utimensat: work around ntfs-3g bug
74851         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
74852         a ctime bug is present, and expand workaround to cover ntfs-3g.
74853         * lib/utimens.c (fdutimens, lutimens): Likewise.
74854         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
74855         (validate_timespec): Adjust return value.
74856         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
74857         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
74858         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
74860 2009-12-29  Eric Blake  <ebb9@byu.net>
74862         link-warning: make usage consistent
74863         * modules/ctype (Depends-on): Add link-warning.
74864         (Makefile.am): Update rules accordingly.
74865         * modules/langinfo (Depends-on, Makefile.am): Likewise.
74866         * modules/locale (Depends-on, Makefile.am): Likewise.
74867         * modules/sys_file (Makefile.am): Likewise.
74868         * modules/getopt-posix (Makefile.am): Delete unused link warning
74869         efforts.
74870         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
74871         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
74872         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
74873         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
74875         stdio: remove unused variables
74876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
74877         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
74878         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
74880         tests: test more substitute headers
74881         * modules/ctype-tests: New file.
74882         * modules/dirent-tests: Likewise.
74883         * modules/spawn-tests: Likewise.
74884         * modules/sys_file-tests: Likewise.
74885         * modules/sys_ioctl-tests: Likewise.
74886         * modules/sys_wait-tests: Likewise.
74887         * tests/test-ctype.c: Likewise.
74888         * tests/test-dirent.c: Likewise.
74889         * tests/test-spawn.c: Likewise.
74890         * tests/test-sys_file.c: Likewise.
74891         * tests/test-sys_ioctl.c: Likewise.
74892         * tests/test-sys_wait.c: Likewise.
74893         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
74894         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
74895         whether or not flock is in use.
74897         tests: remove License section from module
74898         * modules/arpa_inet-tests: Remove unneeded section.
74899         * modules/byteswap-tests: Likewise.
74900         * modules/ceilf-tests: Likewise.
74901         * modules/ceill-tests: Likewise.
74902         * modules/crypto/des-tests: Likewise.
74903         * modules/crypto/gc-arcfour-tests: Likewise.
74904         * modules/crypto/gc-arctwo-tests: Likewise.
74905         * modules/crypto/gc-des-tests: Likewise.
74906         * modules/crypto/gc-hmac-md5-tests: Likewise.
74907         * modules/crypto/gc-hmac-sha1-tests: Likewise.
74908         * modules/crypto/gc-md2-tests: Likewise.
74909         * modules/crypto/gc-md4-tests: Likewise.
74910         * modules/crypto/gc-md5-tests: Likewise.
74911         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
74912         * modules/crypto/gc-rijndael-tests: Likewise.
74913         * modules/crypto/gc-sha1-tests: Likewise.
74914         * modules/crypto/gc-tests: Likewise.
74915         * modules/crypto/md2-tests: Likewise.
74916         * modules/crypto/md4-tests: Likewise.
74917         * modules/fcntl-h-tests: Likewise.
74918         * modules/floorf-tests: Likewise.
74919         * modules/floorl-tests: Likewise.
74920         * modules/frexp-nolibm-tests: Likewise.
74921         * modules/frexp-tests: Likewise.
74922         * modules/frexpl-nolibm-tests: Likewise.
74923         * modules/frexpl-tests: Likewise.
74924         * modules/getaddrinfo-tests: Likewise.
74925         * modules/inttypes-tests: Likewise.
74926         * modules/isfinite-tests: Likewise.
74927         * modules/isinf-tests: Likewise.
74928         * modules/ldexpl-tests: Likewise.
74929         * modules/locale-tests: Likewise.
74930         * modules/math-tests: Likewise.
74931         * modules/netdb-tests: Likewise.
74932         * modules/netinet_in-tests: Likewise.
74933         * modules/printf-frexp-tests: Likewise.
74934         * modules/printf-frexpl-tests: Likewise.
74935         * modules/priv-set-tests: Likewise.
74936         * modules/random_r-tests: Likewise.
74937         * modules/round-tests: Likewise.
74938         * modules/roundf-tests: Likewise.
74939         * modules/roundl-tests: Likewise.
74940         * modules/search-tests: Likewise.
74941         * modules/select-tests: Likewise.
74942         * modules/signal-tests: Likewise.
74943         * modules/stdbool-tests: Likewise.
74944         * modules/stddef-tests: Likewise.
74945         * modules/stdint-tests: Likewise.
74946         * modules/stdio-tests: Likewise.
74947         * modules/stdlib-tests: Likewise.
74948         * modules/string-tests: Likewise.
74949         * modules/strings-tests: Likewise.
74950         * modules/sys_select-tests: Likewise.
74951         * modules/sys_socket-tests: Likewise.
74952         * modules/sys_stat-tests: Likewise.
74953         * modules/sys_time-tests: Likewise.
74954         * modules/sys_utsname-tests: Likewise.
74955         * modules/sysexits-tests: Likewise.
74956         * modules/time-tests: Likewise.
74957         * modules/trunc-tests: Likewise.
74958         * modules/truncf-tests: Likewise.
74959         * modules/truncl-tests: Likewise.
74960         * modules/tsearch-tests: Likewise.
74961         * modules/unistd-tests: Likewise.
74962         * modules/wchar-tests: Likewise.
74963         * modules/wctype-tests: Likewise.
74965         tests: fix license on several tests
74966         * tests/test-des.c: Update to GPLv3+.
74967         * tests/test-flock.c: Likewise.
74968         * tests/test-fsync.c: Likewise.
74969         * tests/test-futimens.h: Likewise.
74970         * tests/test-gc-arcfour.c: Likewise.
74971         * tests/test-gc-arctwo.c: Likewise.
74972         * tests/test-gc-des.c: Likewise.
74973         * tests/test-gc-hmac-md5.c: Likewise.
74974         * tests/test-gc-hmac-sha1.c: Likewise.
74975         * tests/test-gc-md2.c: Likewise.
74976         * tests/test-gc-md4.c: Likewise.
74977         * tests/test-gc-md5.c: Likewise.
74978         * tests/test-gc-pbkdf2-sha1.c: Likewise.
74979         * tests/test-gc-rijndael.c: Likewise.
74980         * tests/test-gc-sha1.c: Likewise.
74981         * tests/test-gc.c: Likewise.
74982         * tests/test-getcwd.c: Likewise.
74983         * tests/test-link.c: Likewise.
74984         * tests/test-link.h: Likewise.
74985         * tests/test-lutimens.h: Likewise.
74986         * tests/test-md2.c: Likewise.
74987         * tests/test-md4.c: Likewise.
74988         * tests/test-mkdir.h: Likewise.
74989         * tests/test-rename.c: Likewise.
74990         * tests/test-rename.h: Likewise.
74991         * tests/test-safe-alloc.c: Likewise.
74992         * tests/test-utimens-common.h: Likewise.
74993         * tests/test-utimens.h: Likewise.
74995         maint: sync license texts
74996         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
74997         * doc/gpl-3.0.texi: Revert copyright year update.
74998         * doc/lgpl-3.0.texi: Likewise.
75000 2009-12-29  Jim Meyering  <meyering@redhat.com>
75002         update nearly all FSF copyright year lists to include 2009
75003         The files named by the following are exempted:
75004             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
75005               test -f "$dst" && { echo "$dst"; continue; }
75006               test -d "$dst" || continue
75007               echo "$dst"/$(basename "$src")
75008             done > exempt
75009             git ls-files tests/unictype >> exempt
75010         In the remaining files, convert to all-interval notation if
75011         - there is already at least one year interval like 2000-2003
75012         - the file is maintained by me
75013         - the file is in lib/uni*/, where that style already prevails
75014         Otherwise, use update-copyright's default.
75016 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75017         and Eric Blake  <ebb9@byu.net>
75019         tests: don't require debug system() to pass
75020         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
75021         * tests/test-rmdir.h (test_rmdir_func): Likewise.
75022         * tests/test-unlink.h (test_unlink_func): Likewise.
75023         * tests/test-fstatat.c (main): ...into callers.
75024         * tests/test-lstat.c (main): Likewise.
75025         * tests/test-rmdir.c (main): Likewise.
75026         * tests/test-unlink.c (main): Likewise.
75027         * tests/test-unlinkat.c (main): Likewise.
75028         * tests/test-areadlink-with-size.c (main): Don't require a
75029         debug-only system call to pass, aiding cross-testing to mingw.
75030         * tests/test-areadlink.c (main): Likewise.
75031         * tests/test-areadlinkat-with-size.c (main): Likewise.
75032         * tests/test-areadlinkat.c (main): Likewise.
75033         * tests/test-canonicalize-lgpl.c (main): Likewise.
75034         * tests/test-canonicalize.c (main): Likewise.
75035         * tests/test-chown.c (main): Likewise.
75036         * tests/test-fchownat.c (main): Likewise.
75037         * tests/test-lchown.c (main): Likewise.
75038         * tests/test-fdutimensat.c (main): Likewise.
75039         * tests/test-futimens.c (main): Likewise.
75040         * tests/test-link.c (main): Likewise.
75041         * tests/test-linkat.c (main): Likewise.
75042         * tests/test-mkdir.c (main): Likewise.
75043         * tests/test-mkdirat.c (main): Likewise.
75044         * tests/test-mkfifo.c (main): Likewise.
75045         * tests/test-mkfifoat.c (main): Likewise.
75046         * tests/test-mknod.c (main): Likewise.
75047         * tests/test-readlink.c (main): Likewise.
75048         * tests/test-remove.c (main): Likewise.
75049         * tests/test-rename.c (main): Likewise.
75050         * tests/test-renameat.c (main): Likewise.
75051         * tests/test-symlink.c (main): Likewise.
75052         * tests/test-symlinkat.c (main): Likewise.
75053         * tests/test-utimens.c (main): Likewise.
75054         * tests/test-utimensat.c (main): Likewise.
75056 2009-12-29  Simon Josefsson  <simon@josefsson.org>
75058         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
75059         on $(UNUSED_PARAMETER_H) to avoid build failure.
75061 2009-12-28  Jim Meyering  <meyering@redhat.com>
75063         update-copyright: you may specify a max. line length other than 72
75064         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
75066         maint: use consistent FSF copyright line syntax
75067         * lib/posixtm.c: Add missing comma in FSF copyright line.
75068         * lib/posixtm.h: Likewise.
75069         * lib/getugroups.c: Add missing ", Inc.".
75071         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
75072         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
75073         FSF copyright line.  Remove trailing blanks.
75075 2009-12-28  Eric Blake  <ebb9@byu.net>
75077         test-dup2: reduce dependencies
75078         * modules/cloexec (Configure.ac): Set witness.
75079         * modules/dup2-tests (Depends-on): Drop cloexec.
75080         * tests/test-dup2.c (main): Skip portion of test if cloexec module
75081         not present.
75082         Suggested by Bruno Haible.
75084 2009-12-26  Bruno Haible  <bruno@clisp.org>
75086         Remove an unneeded dependency.
75087         * modules/fseterr (Depends-on): Remove dup2.
75089 2009-12-26  Eric Blake  <ebb9@byu.net>
75091         tests: use macros.h in more places
75092         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
75093         (ASSERT_STREAM): Provide default of stderr.
75094         * tests/test-dirent-safer.c: Include macros.h, using alternate
75095         stream for assertions.
75096         * tests/test-dup-safer.c: Likewise.
75097         * tests/test-freopen-safer.c: Likewise.
75098         * tests/test-getopt.c: Likewise.
75099         * tests/test-openat-safer.c: Likewise.
75100         * tests/test-pipe.c: Likewise.
75101         * tests/test-popen-safer.c: Likewise.
75102         * modules/dirent-safer-tests (Files): Include macros.h.
75103         * modules/unistd-safer-tests (Files): Likewise.
75104         * modules/freopen-safer-tests (Files): Likewise.
75105         * modules/getopt-posix-tests (Files): Likewise.
75106         * modules/openat-safer-tests (Files): Likewise.
75107         * modules/pipe-tests (Files): Likewise.
75109 2009-12-26  Bruno Haible  <bruno@clisp.org>
75111         javacomp-script: Portability fix.
75112         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
75113         that it also works on Solaris.
75115 2009-12-26  Bruno Haible  <bruno@clisp.org>
75117         localename: Fix storage allocation of gl_locale_name_thread's result.
75118         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
75119         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
75120         all platforms that have 'uselocale'.
75121         (gl_locale_name_thread_unsafe): New function, extracted from
75122         gl_locale_name_thread.
75123         (gl_locale_name_thread): Call struniq on all platforms that have
75124         'uselocale'.
75125         * tests/test-localename.c (test_locale_name_thread): Check that the
75126         resulting strings are permanently allocated.
75127         * modules/localename-tests (Depends-on): Add strdup.
75129 2009-12-26  Bruno Haible  <bruno@clisp.org>
75131         * tests/test-localename.c (categories): Fill in the strings.
75133 2009-12-26  Jim Meyering  <meyering@redhat.com>
75135         isdir: complete the removal of m4/isdir.m4
75136         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
75138         isdir: clean up, since at least grep still uses it
75139         * lib/isdir.c: Include "isdir.h".
75140         (S_ISDIR): Remove now-unneeded definition.
75141         * modules/isdir (Files): Add lib/isdir.h.
75142         * lib/isdir.h: New file, with declaration.
75143         * m4/isdir.m4: Remove file -- unneeded.
75145 2009-12-25  Bruno Haible  <bruno@clisp.org>
75147         selinux-h: Make generated .h files standalone.
75148         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
75149         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
75150         * lib/se-selinux.in.h: Likewise.
75151         * modules/selinux-h (Depends-on): Add unused-parameter.
75152         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
75153         selinux/selinux.h and selinux/context.h.
75154         Suggested by Eric Blake.
75156 2009-12-25  Bruno Haible  <bruno@clisp.org>
75158         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
75159         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
75160         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
75161         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
75162         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
75164 2009-12-24  Bruno Haible  <bruno@clisp.org>
75166         openat: Fix warning.
75167         * lib/openat-proc.c: Include <unistd.h>.
75169 2009-12-24  Bruno Haible  <bruno@clisp.org>
75171         New module 'unused-parameter'.
75172         * build-aux/unused-parameter.h: New file, extracted from earlier
75173         gnulib-common.m4.
75174         * modules/unused-parameter: New file.
75175         * lib/unistr.h: Include unused-parameter.h.
75176         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
75177         _GL_UNUSED.
75178         * modules/unistr/base (Depends-on): Add unused-parameter.
75180 2009-12-24  Bruno Haible  <bruno@clisp.org>
75182         Add missing dependencies to 'extensions' module.
75183         * m4/extensions.m4: Add comment.
75184         * modules/accept4 (Depends-on): Add extensions.
75185         * modules/dup3 (Depends-on): Likewise.
75186         * modules/fcntl (Depends-on): Likewise.
75187         * modules/futimens (Depends-on): Likewise.
75188         * modules/mknod (Depends-on): Likewise.
75189         * modules/pipe2 (Depends-on): Likewise.
75190         * modules/stat-time (Depends-on): Likewise.
75191         * modules/strcasestr-simple (Depends-on): Likewise.
75192         * modules/strsignal (Depends-on): Likewise.
75193         * modules/utimensat (Depends-on): Likewise.
75194         * modules/localcharset (Depends-on): Likewise. Needed because of
75195         gl_FCNTL_O_FLAGS.
75196         * modules/wcrtomb (Depends-on): Likewise. Needed because of
75197         AC_TYPE_MBSTATE_T.
75198         * modules/wcsnrtombs (Depends-on): Likewise.
75199         * modules/wcsrtombs (Depends-on): Likewise.
75201 2009-12-24  Bruno Haible  <bruno@clisp.org>
75203         binary-io: Avoid gcc warning due to SET_BINARY.
75204         * lib/binary-io.h (SET_BINARY): Cast the result to void.
75205         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
75207 2009-12-24  Bruno Haible  <bruno@clisp.org>
75209         Avoid future namespace pollution on glibc systems.
75210         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
75211         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
75212         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
75213         glibc systems.
75215 2009-12-24  Bruno Haible  <bruno@clisp.org>
75217         Refactor common macros used in tests.
75218         * tests/macros.h: New file.
75219         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
75220         and/or <stdlib.h>, if appropriate.
75221         (ASSERT, SIZEOF): Remove macros.
75222         * tests/test-areadlink-with-size.c: Likewise.
75223         * tests/test-areadlinkat.c: Likewise.
75224         * tests/test-areadlinkat-with-size.c: Likewise.
75225         * tests/test-argmatch.c: Likewise.
75226         * tests/test-argv-iter.c: Likewise.
75227         * tests/test-array-mergesort.c: Likewise.
75228         * tests/test-array_list.c: Likewise.
75229         * tests/test-array_oset.c: Likewise.
75230         * tests/test-avltree_list.c: Likewise.
75231         * tests/test-avltree_oset.c: Likewise.
75232         * tests/test-avltreehash_list.c: Likewise.
75233         * tests/test-base64.c: Likewise.
75234         * tests/test-binary-io.c: Likewise.
75235         * tests/test-bitrotate.c: Likewise.
75236         * tests/test-btowc.c: Likewise.
75237         * tests/test-byteswap.c: Likewise.
75238         * tests/test-c-ctype.c: Likewise.
75239         * tests/test-c-stack.c: Likewise.
75240         * tests/test-c-strcasecmp.c: Likewise.
75241         * tests/test-c-strcasestr.c: Likewise.
75242         * tests/test-c-strncasecmp.c: Likewise.
75243         * tests/test-c-strstr.c: Likewise.
75244         * tests/test-canonicalize-lgpl.c: Likewise.
75245         * tests/test-canonicalize.c: Likewise.
75246         * tests/test-carray_list.c: Likewise.
75247         * tests/test-ceilf1.c: Likewise.
75248         * tests/test-ceilf2.c: Likewise.
75249         * tests/test-ceill.c: Likewise.
75250         * tests/test-chown.c: Likewise.
75251         * tests/test-cloexec.c: Likewise.
75252         * tests/test-copy-acl.c: Likewise.
75253         * tests/test-copy-file.c: Likewise.
75254         * tests/test-count-one-bits.c: Likewise.
75255         * tests/test-dprintf-posix.c: Likewise.
75256         * tests/test-dup2.c: Likewise.
75257         * tests/test-dup3.c: Likewise.
75258         * tests/test-duplocale.c: Likewise.
75259         * tests/test-fbufmode.c: Likewise.
75260         * tests/test-fchdir.c: Likewise.
75261         * tests/test-fchownat.c: Likewise.
75262         * tests/test-fcntl-safer.c: Likewise.
75263         * tests/test-fcntl.c: Likewise.
75264         * tests/test-fdopendir.c: Likewise.
75265         * tests/test-fdutimensat.c: Likewise.
75266         * tests/test-fflush2.c: Likewise.
75267         * tests/test-file-has-acl.c: Likewise.
75268         * tests/test-filevercmp.c: Likewise.
75269         * tests/test-flock.c: Likewise.
75270         * tests/test-floorf1.c: Likewise.
75271         * tests/test-floorf2.c: Likewise.
75272         * tests/test-floorl.c: Likewise.
75273         * tests/test-fnmatch.c: Likewise.
75274         * tests/test-fopen.h: Likewise.
75275         * tests/test-fpending.c: Likewise.
75276         * tests/test-fprintf-posix.c: Likewise.
75277         * tests/test-fpurge.c: Likewise.
75278         * tests/test-freadable.c: Likewise.
75279         * tests/test-freadahead.c: Likewise.
75280         * tests/test-freading.c: Likewise.
75281         * tests/test-freadptr.c: Likewise.
75282         * tests/test-freadptr2.c: Likewise.
75283         * tests/test-freadseek.c: Likewise.
75284         * tests/test-freopen.c: Likewise.
75285         * tests/test-frexp.c: Likewise.
75286         * tests/test-frexpl.c: Likewise.
75287         * tests/test-fseek.c: Likewise.
75288         * tests/test-fseeko.c: Likewise.
75289         * tests/test-fstatat.c: Likewise.
75290         * tests/test-fstrcmp.c: Likewise.
75291         * tests/test-fsync.c: Likewise.
75292         * tests/test-ftell.c: Likewise.
75293         * tests/test-ftello.c: Likewise.
75294         * tests/test-func.c: Likewise.
75295         * tests/test-futimens.c: Likewise.
75296         * tests/test-fwritable.c: Likewise.
75297         * tests/test-fwriting.c: Likewise.
75298         * tests/test-getcwd.c: Likewise.
75299         * tests/test-getdate.c: Likewise.
75300         * tests/test-getdelim.c: Likewise.
75301         * tests/test-getdtablesize.c: Likewise.
75302         * tests/test-getgroups.c: Likewise.
75303         * tests/test-getline.c: Likewise.
75304         * tests/test-getndelim2.c: Likewise.
75305         * tests/test-glob.c: Likewise.
75306         * tests/test-hash.c: Likewise.
75307         * tests/test-i-ring.c: Likewise.
75308         * tests/test-iconv-utf.c: Likewise.
75309         * tests/test-iconv.c: Likewise.
75310         * tests/test-idpriv-drop.c: Likewise.
75311         * tests/test-idpriv-droptemp.c: Likewise.
75312         * tests/test-inet_ntop.c: Likewise.
75313         * tests/test-inet_pton.c: Likewise.
75314         * tests/test-isblank.c: Likewise.
75315         * tests/test-isfinite.c: Likewise.
75316         * tests/test-isinf.c: Likewise.
75317         * tests/test-isnan.c: Likewise.
75318         * tests/test-isnand.h: Likewise.
75319         * tests/test-isnanf.h: Likewise.
75320         * tests/test-isnanl.h: Likewise.
75321         * tests/test-lchown.c: Likewise.
75322         * tests/test-ldexpl.c: Likewise.
75323         * tests/test-link.c: Likewise.
75324         * tests/test-linkat.c: Likewise.
75325         * tests/test-linked_list.c: Likewise.
75326         * tests/test-linkedhash_list.c: Likewise.
75327         * tests/test-localename.c: Likewise.
75328         * tests/test-lseek.c: Likewise.
75329         * tests/test-lstat.c: Likewise.
75330         * tests/test-mbmemcasecmp.c: Likewise.
75331         * tests/test-mbmemcasecoll.c: Likewise.
75332         * tests/test-mbrtowc.c: Likewise.
75333         * tests/test-mbscasecmp.c: Likewise.
75334         * tests/test-mbscasestr1.c: Likewise.
75335         * tests/test-mbscasestr2.c: Likewise.
75336         * tests/test-mbscasestr3.c: Likewise.
75337         * tests/test-mbscasestr4.c: Likewise.
75338         * tests/test-mbschr.c: Likewise.
75339         * tests/test-mbscspn.c: Likewise.
75340         * tests/test-mbsinit.c: Likewise.
75341         * tests/test-mbsncasecmp.c: Likewise.
75342         * tests/test-mbsnrtowcs.c: Likewise.
75343         * tests/test-mbspbrk.c: Likewise.
75344         * tests/test-mbspcasecmp.c: Likewise.
75345         * tests/test-mbsrchr.c: Likewise.
75346         * tests/test-mbsrtowcs.c: Likewise.
75347         * tests/test-mbsspn.c: Likewise.
75348         * tests/test-mbsstr1.c: Likewise.
75349         * tests/test-mbsstr2.c: Likewise.
75350         * tests/test-mbsstr3.c: Likewise.
75351         * tests/test-memchr.c: Likewise.
75352         * tests/test-memchr2.c: Likewise.
75353         * tests/test-memcmp.c: Likewise.
75354         * tests/test-memmem.c: Likewise.
75355         * tests/test-memrchr.c: Likewise.
75356         * tests/test-mkdir.c: Likewise.
75357         * tests/test-mkdirat.c: Likewise.
75358         * tests/test-mkfifo.c: Likewise.
75359         * tests/test-mkfifoat.c: Likewise.
75360         * tests/test-mknod.c: Likewise.
75361         * tests/test-nanosleep.c: Likewise.
75362         * tests/test-nl_langinfo.c: Likewise.
75363         * tests/test-obstack-printf.c: Likewise.
75364         * tests/test-open.c: Likewise.
75365         * tests/test-openat.c: Likewise.
75366         * tests/test-pipe-filter-gi1.c: Likewise.
75367         * tests/test-pipe-filter-gi2-main.c: Likewise.
75368         * tests/test-pipe-filter-ii1.c: Likewise.
75369         * tests/test-pipe-filter-ii2-main.c: Likewise.
75370         * tests/test-pipe2.c: Likewise.
75371         * tests/test-popen.h: Likewise.
75372         * tests/test-posixtm.c: Likewise.
75373         * tests/test-pread.c: Likewise.
75374         * tests/test-printf-frexp.c: Likewise.
75375         * tests/test-printf-frexpl.c: Likewise.
75376         * tests/test-printf-posix.c: Likewise.
75377         * tests/test-priv-set.c: Likewise.
75378         * tests/test-quotearg.c: Likewise.
75379         * tests/test-random_r.c: Likewise.
75380         * tests/test-rawmemchr.c: Likewise.
75381         * tests/test-rbtree_list.c: Likewise.
75382         * tests/test-rbtree_oset.c: Likewise.
75383         * tests/test-rbtreehash_list.c: Likewise.
75384         * tests/test-readlink.c: Likewise.
75385         * tests/test-remove.c: Likewise.
75386         * tests/test-rename.c: Likewise.
75387         * tests/test-renameat.c: Likewise.
75388         * tests/test-rmdir.c: Likewise.
75389         * tests/test-round1.c: Likewise.
75390         * tests/test-roundf1.c: Likewise.
75391         * tests/test-roundl.c: Likewise.
75392         * tests/test-safe-alloc.c: Likewise.
75393         * tests/test-sameacls.c: Likewise.
75394         * tests/test-set-mode-acl.c: Likewise.
75395         * tests/test-setenv.c: Likewise.
75396         * tests/test-sigaction.c: Likewise.
75397         * tests/test-signbit.c: Likewise.
75398         * tests/test-sleep.c: Likewise.
75399         * tests/test-snprintf-posix.c: Likewise.
75400         * tests/test-snprintf.c: Likewise.
75401         * tests/test-sprintf-posix.c: Likewise.
75402         * tests/test-stat-time.c: Likewise.
75403         * tests/test-stat.c: Likewise.
75404         * tests/test-strcasestr.c: Likewise.
75405         * tests/test-strchrnul.c: Likewise.
75406         * tests/test-strerror.c: Likewise.
75407         * tests/test-striconv.c: Likewise.
75408         * tests/test-striconveh.c: Likewise.
75409         * tests/test-striconveha.c: Likewise.
75410         * tests/test-strsignal.c: Likewise.
75411         * tests/test-strstr.c: Likewise.
75412         * tests/test-strtod.c: Likewise.
75413         * tests/test-strverscmp.c: Likewise.
75414         * tests/test-symlink.c: Likewise.
75415         * tests/test-symlinkat.c: Likewise.
75416         * tests/test-trunc1.c: Likewise.
75417         * tests/test-trunc2.c: Likewise.
75418         * tests/test-truncf1.c: Likewise.
75419         * tests/test-truncf2.c: Likewise.
75420         * tests/test-truncl.c: Likewise.
75421         * tests/test-uname.c: Likewise.
75422         * tests/test-unlink.c: Likewise.
75423         * tests/test-unlinkat.c: Likewise.
75424         * tests/test-unsetenv.c: Likewise.
75425         * tests/test-usleep.c: Likewise.
75426         * tests/test-utimens.c: Likewise.
75427         * tests/test-utimensat.c: Likewise.
75428         * tests/test-vasnprintf-posix.c: Likewise.
75429         * tests/test-vasnprintf-posix2.c: Likewise.
75430         * tests/test-vasnprintf.c: Likewise.
75431         * tests/test-vasprintf-posix.c: Likewise.
75432         * tests/test-vasprintf.c: Likewise.
75433         * tests/test-vdprintf-posix.c: Likewise.
75434         * tests/test-vfprintf-posix.c: Likewise.
75435         * tests/test-vprintf-posix.c: Likewise.
75436         * tests/test-vsnprintf-posix.c: Likewise.
75437         * tests/test-vsnprintf.c: Likewise.
75438         * tests/test-vsprintf-posix.c: Likewise.
75439         * tests/test-wcrtomb.c: Likewise.
75440         * tests/test-wcsnrtombs.c: Likewise.
75441         * tests/test-wcsrtombs.c: Likewise.
75442         * tests/test-wctype.c: Likewise.
75443         * tests/test-wcwidth.c: Likewise.
75444         * tests/test-xfprintf-posix.c: Likewise.
75445         * tests/test-xmemdup0.c: Likewise.
75446         * tests/test-xprintf-posix.c: Likewise.
75447         * tests/test-xvasprintf.c: Likewise.
75448         * tests/unicase/test-locale-language.c: Likewise.
75449         * tests/unicase/test-mapping-part1.h: Likewise.
75450         * tests/unicase/test-predicate-part1.h: Likewise.
75451         * tests/unicase/test-u8-casecmp.c: Likewise.
75452         * tests/unicase/test-u8-casecoll.c: Likewise.
75453         * tests/unicase/test-u8-casefold.c: Likewise.
75454         * tests/unicase/test-u8-is-cased.c: Likewise.
75455         * tests/unicase/test-u8-is-casefolded.c: Likewise.
75456         * tests/unicase/test-u8-is-lowercase.c: Likewise.
75457         * tests/unicase/test-u8-is-titlecase.c: Likewise.
75458         * tests/unicase/test-u8-is-uppercase.c: Likewise.
75459         * tests/unicase/test-u8-tolower.c: Likewise.
75460         * tests/unicase/test-u8-totitle.c: Likewise.
75461         * tests/unicase/test-u8-toupper.c: Likewise.
75462         * tests/unicase/test-u16-casecmp.c: Likewise.
75463         * tests/unicase/test-u16-casecoll.c: Likewise.
75464         * tests/unicase/test-u16-casefold.c: Likewise.
75465         * tests/unicase/test-u16-is-cased.c: Likewise.
75466         * tests/unicase/test-u16-is-casefolded.c: Likewise.
75467         * tests/unicase/test-u16-is-lowercase.c: Likewise.
75468         * tests/unicase/test-u16-is-titlecase.c: Likewise.
75469         * tests/unicase/test-u16-is-uppercase.c: Likewise.
75470         * tests/unicase/test-u16-tolower.c: Likewise.
75471         * tests/unicase/test-u16-totitle.c: Likewise.
75472         * tests/unicase/test-u16-toupper.c: Likewise.
75473         * tests/unicase/test-u32-casecmp.c: Likewise.
75474         * tests/unicase/test-u32-casecoll.c: Likewise.
75475         * tests/unicase/test-u32-casefold.c: Likewise.
75476         * tests/unicase/test-u32-is-cased.c: Likewise.
75477         * tests/unicase/test-u32-is-casefolded.c: Likewise.
75478         * tests/unicase/test-u32-is-lowercase.c: Likewise.
75479         * tests/unicase/test-u32-is-titlecase.c: Likewise.
75480         * tests/unicase/test-u32-is-uppercase.c: Likewise.
75481         * tests/unicase/test-u32-tolower.c: Likewise.
75482         * tests/unicase/test-u32-totitle.c: Likewise.
75483         * tests/unicase/test-u32-toupper.c: Likewise.
75484         * tests/unicase/test-ulc-casecmp.c: Likewise.
75485         * tests/unicase/test-ulc-casecoll.c: Likewise.
75486         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
75487         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
75488         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
75489         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
75490         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
75491         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
75492         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
75493         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
75494         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
75495         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
75496         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
75497         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
75498         * tests/unictype/test-bidi_byname.c: Likewise.
75499         * tests/unictype/test-bidi_name.c: Likewise.
75500         * tests/unictype/test-bidi_of.c: Likewise.
75501         * tests/unictype/test-bidi_test.c: Likewise.
75502         * tests/unictype/test-block_list.c: Likewise.
75503         * tests/unictype/test-block_of.c: Likewise.
75504         * tests/unictype/test-block_test.c: Likewise.
75505         * tests/unictype/test-categ_and.c: Likewise.
75506         * tests/unictype/test-categ_and_not.c: Likewise.
75507         * tests/unictype/test-categ_byname.c: Likewise.
75508         * tests/unictype/test-categ_name.c: Likewise.
75509         * tests/unictype/test-categ_none.c: Likewise.
75510         * tests/unictype/test-categ_of.c: Likewise.
75511         * tests/unictype/test-categ_or.c: Likewise.
75512         * tests/unictype/test-categ_test_withtable.c: Likewise.
75513         * tests/unictype/test-combining.c: Likewise.
75514         * tests/unictype/test-decdigit.c: Likewise.
75515         * tests/unictype/test-digit.c: Likewise.
75516         * tests/unictype/test-mirror.c: Likewise.
75517         * tests/unictype/test-numeric.c: Likewise.
75518         * tests/unictype/test-pr_byname.c: Likewise.
75519         * tests/unictype/test-pr_test.c: Likewise.
75520         * tests/unictype/test-predicate-part1.h: Likewise.
75521         * tests/unictype/test-scripts.c: Likewise.
75522         * tests/unictype/test-sy_c_ident.c: Likewise.
75523         * tests/unictype/test-sy_java_ident.c: Likewise.
75524         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
75525         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
75526         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
75527         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
75528         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
75529         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
75530         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
75531         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
75532         * tests/uninorm/test-canonical-decomposition.c: Likewise.
75533         * tests/uninorm/test-compat-decomposition.c: Likewise.
75534         * tests/uninorm/test-composition.c: Likewise.
75535         * tests/uninorm/test-decomposing-form.c: Likewise.
75536         * tests/uninorm/test-decomposition.c: Likewise.
75537         * tests/uninorm/test-u8-nfc.c: Likewise.
75538         * tests/uninorm/test-u8-nfd.c: Likewise.
75539         * tests/uninorm/test-u8-nfkc.c: Likewise.
75540         * tests/uninorm/test-u8-nfkd.c: Likewise.
75541         * tests/uninorm/test-u8-normcmp.c: Likewise.
75542         * tests/uninorm/test-u8-normcoll.c: Likewise.
75543         * tests/uninorm/test-u16-nfc.c: Likewise.
75544         * tests/uninorm/test-u16-nfd.c: Likewise.
75545         * tests/uninorm/test-u16-nfkc.c: Likewise.
75546         * tests/uninorm/test-u16-nfkd.c: Likewise.
75547         * tests/uninorm/test-u16-normcmp.c: Likewise.
75548         * tests/uninorm/test-u16-normcoll.c: Likewise.
75549         * tests/uninorm/test-u32-nfc.c: Likewise.
75550         * tests/uninorm/test-u32-nfd.c: Likewise.
75551         * tests/uninorm/test-u32-nfkc.c: Likewise.
75552         * tests/uninorm/test-u32-nfkd.c: Likewise.
75553         * tests/uninorm/test-u32-normalize-big.c: Likewise.
75554         * tests/uninorm/test-u32-normcmp.c: Likewise.
75555         * tests/uninorm/test-u32-normcoll.c: Likewise.
75556         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
75557         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
75558         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
75559         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
75560         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
75561         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
75562         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
75563         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
75564         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
75565         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
75566         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
75567         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
75568         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
75569         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
75570         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
75571         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
75572         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
75573         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
75574         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
75575         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
75576         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
75577         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
75578         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
75579         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
75580         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
75581         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
75582         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
75583         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
75584         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
75585         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
75586         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
75587         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
75588         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
75589         * tests/uniwidth/test-u8-strwidth.c: Likewise.
75590         * tests/uniwidth/test-u8-width.c: Likewise.
75591         * tests/uniwidth/test-u16-strwidth.c: Likewise.
75592         * tests/uniwidth/test-u16-width.c: Likewise.
75593         * tests/uniwidth/test-u32-strwidth.c: Likewise.
75594         * tests/uniwidth/test-u32-width.c: Likewise.
75595         * tests/uniwidth/test-uc_width.c: Likewise.
75596         * tests/uniwidth/test-uc_width2.c: Likewise.
75597         * modules/acl-tests (Files): Add tests/macros.h.
75598         * modules/areadlink-tests (Files): Likewise.
75599         * modules/areadlink-with-size-tests (Files): Likewise.
75600         * modules/areadlinkat-tests (Files): Likewise.
75601         * modules/areadlinkat-with-size-tests (Files): Likewise.
75602         * modules/argmatch-tests (Files): Likewise.
75603         * modules/argv-iter-tests (Files): Likewise.
75604         * modules/array-list-tests (Files): Likewise.
75605         * modules/array-mergesort-tests (Files): Likewise.
75606         * modules/array-oset-tests (Files): Likewise.
75607         * modules/avltree-list-tests (Files): Likewise.
75608         * modules/avltree-oset-tests (Files): Likewise.
75609         * modules/avltreehash-list-tests (Files): Likewise.
75610         * modules/base64-tests (Files): Likewise.
75611         * modules/binary-io-tests (Files): Likewise.
75612         * modules/bitrotate-tests (Files): Likewise.
75613         * modules/btowc-tests (Files): Likewise.
75614         * modules/byteswap-tests (Files): Likewise.
75615         * modules/c-ctype-tests (Files): Likewise.
75616         * modules/c-stack-tests (Files): Likewise.
75617         * modules/c-strcase-tests (Files): Likewise.
75618         * modules/c-strcasestr-tests (Files): Likewise.
75619         * modules/c-strstr-tests (Files): Likewise.
75620         * modules/canonicalize-lgpl-tests (Files): Likewise.
75621         * modules/canonicalize-tests (Files): Likewise.
75622         * modules/carray-list-tests (Files): Likewise.
75623         * modules/ceilf-tests (Files): Likewise.
75624         * modules/ceill-tests (Files): Likewise.
75625         * modules/chown-tests (Files): Likewise.
75626         * modules/cloexec-tests (Files): Likewise.
75627         * modules/copy-file-tests (Files): Likewise.
75628         * modules/count-one-bits-tests (Files): Likewise.
75629         * modules/dprintf-posix-tests (Files): Likewise.
75630         * modules/dup2-tests (Files): Likewise.
75631         * modules/dup3-tests (Files): Likewise.
75632         * modules/duplocale-tests (Files): Likewise.
75633         * modules/fbufmode-tests (Files): Likewise.
75634         * modules/fchdir-tests (Files): Likewise.
75635         * modules/fcntl-safer-tests (Files): Likewise.
75636         * modules/fcntl-tests (Files): Likewise.
75637         * modules/fdopendir-tests (Files): Likewise.
75638         * modules/fdutimensat-tests (Files): Likewise.
75639         * modules/fflush-tests (Files): Likewise.
75640         * modules/filevercmp-tests (Files): Likewise.
75641         * modules/flock-tests (Files): Likewise.
75642         * modules/floorf-tests (Files): Likewise.
75643         * modules/floorl-tests (Files): Likewise.
75644         * modules/fnmatch-tests (Files): Likewise.
75645         * modules/fopen-safer-tests (Files): Likewise.
75646         * modules/fopen-tests (Files): Likewise.
75647         * modules/fpending-tests (Files): Likewise.
75648         * modules/fprintf-posix-tests (Files): Likewise.
75649         * modules/fpurge-tests (Files): Likewise.
75650         * modules/freadable-tests (Files): Likewise.
75651         * modules/freadahead-tests (Files): Likewise.
75652         * modules/freading-tests (Files): Likewise.
75653         * modules/freadptr-tests (Files): Likewise.
75654         * modules/freadseek-tests (Files): Likewise.
75655         * modules/freopen-tests (Files): Likewise.
75656         * modules/frexp-nolibm-tests (Files): Likewise.
75657         * modules/frexp-tests (Files): Likewise.
75658         * modules/frexpl-nolibm-tests (Files): Likewise.
75659         * modules/frexpl-tests (Files): Likewise.
75660         * modules/fseek-tests (Files): Likewise.
75661         * modules/fseeko-tests (Files): Likewise.
75662         * modules/fstrcmp-tests (Files): Likewise.
75663         * modules/fsync-tests (Files): Likewise.
75664         * modules/ftell-tests (Files): Likewise.
75665         * modules/ftello-tests (Files): Likewise.
75666         * modules/func-tests (Files): Likewise.
75667         * modules/futimens-tests (Files): Likewise.
75668         * modules/fwritable-tests (Files): Likewise.
75669         * modules/fwriting-tests (Files): Likewise.
75670         * modules/getcwd-tests (Files): Likewise.
75671         * modules/getdate-tests (Files): Likewise.
75672         * modules/getdelim-tests (Files): Likewise.
75673         * modules/getdtablesize-tests (Files): Likewise.
75674         * modules/getgroups-tests (Files): Likewise.
75675         * modules/getline-tests (Files): Likewise.
75676         * modules/getndelim2-tests (Files): Likewise.
75677         * modules/glob-tests (Files): Likewise.
75678         * modules/hash-tests (Files): Likewise.
75679         * modules/i-ring-tests (Files): Likewise.
75680         * modules/iconv-tests (Files): Likewise.
75681         * modules/iconv_open-utf-tests (Files): Likewise.
75682         * modules/idpriv-drop-tests (Files): Likewise.
75683         * modules/idpriv-droptemp-tests (Files): Likewise.
75684         * modules/inet_ntop-tests (Files): Likewise.
75685         * modules/inet_pton-tests (Files): Likewise.
75686         * modules/isblank-tests (Files): Likewise.
75687         * modules/isfinite-tests (Files): Likewise.
75688         * modules/isinf-tests (Files): Likewise.
75689         * modules/isnan-tests (Files): Likewise.
75690         * modules/isnand-nolibm-tests (Files): Likewise.
75691         * modules/isnand-tests (Files): Likewise.
75692         * modules/isnanf-nolibm-tests (Files): Likewise.
75693         * modules/isnanf-tests (Files): Likewise.
75694         * modules/isnanl-nolibm-tests (Files): Likewise.
75695         * modules/isnanl-tests (Files): Likewise.
75696         * modules/lchown-tests (Files): Likewise.
75697         * modules/ldexpl-tests (Files): Likewise.
75698         * modules/link-tests (Files): Likewise.
75699         * modules/linkat-tests (Files): Likewise.
75700         * modules/linked-list-tests (Files): Likewise.
75701         * modules/linkedhash-list-tests (Files): Likewise.
75702         * modules/localename-tests (Files): Likewise.
75703         * modules/lseek-tests (Files): Likewise.
75704         * modules/lstat-tests (Files): Likewise.
75705         * modules/mbmemcasecmp-tests (Files): Likewise.
75706         * modules/mbmemcasecoll-tests (Files): Likewise.
75707         * modules/mbrtowc-tests (Files): Likewise.
75708         * modules/mbscasecmp-tests (Files): Likewise.
75709         * modules/mbscasestr-tests (Files): Likewise.
75710         * modules/mbschr-tests (Files): Likewise.
75711         * modules/mbscspn-tests (Files): Likewise.
75712         * modules/mbsinit-tests (Files): Likewise.
75713         * modules/mbsncasecmp-tests (Files): Likewise.
75714         * modules/mbsnrtowcs-tests (Files): Likewise.
75715         * modules/mbspbrk-tests (Files): Likewise.
75716         * modules/mbspcasecmp-tests (Files): Likewise.
75717         * modules/mbsrchr-tests (Files): Likewise.
75718         * modules/mbsrtowcs-tests (Files): Likewise.
75719         * modules/mbsspn-tests (Files): Likewise.
75720         * modules/mbsstr-tests (Files): Likewise.
75721         * modules/memchr-tests (Files): Likewise.
75722         * modules/memchr2-tests (Files): Likewise.
75723         * modules/memcmp-tests (Files): Likewise.
75724         * modules/memmem-tests (Files): Likewise.
75725         * modules/memrchr-tests (Files): Likewise.
75726         * modules/mkdir-tests (Files): Likewise.
75727         * modules/mkfifo-tests (Files): Likewise.
75728         * modules/mkfifoat-tests (Files): Likewise.
75729         * modules/mknod-tests (Files): Likewise.
75730         * modules/nanosleep-tests (Files): Likewise.
75731         * modules/nl_langinfo-tests (Files): Likewise.
75732         * modules/obstack-printf-tests (Files): Likewise.
75733         * modules/open-tests (Files): Likewise.
75734         * modules/openat-tests (Files): Likewise.
75735         * modules/pipe-filter-gi-tests (Files): Likewise.
75736         * modules/pipe-filter-ii-tests (Files): Likewise.
75737         * modules/pipe2-tests (Files): Likewise.
75738         * modules/popen-safer-tests (Files): Likewise.
75739         * modules/popen-tests (Files): Likewise.
75740         * modules/posixtm-tests (Files): Likewise.
75741         * modules/pread-tests (Files): Likewise.
75742         * modules/printf-frexp-tests (Files): Likewise.
75743         * modules/printf-frexpl-tests (Files): Likewise.
75744         * modules/printf-posix-tests (Files): Likewise.
75745         * modules/priv-set-tests (Files): Likewise.
75746         * modules/quotearg-tests (Files): Likewise.
75747         * modules/random_r-tests (Files): Likewise.
75748         * modules/rawmemchr-tests (Files): Likewise.
75749         * modules/rbtree-list-tests (Files): Likewise.
75750         * modules/rbtree-oset-tests (Files): Likewise.
75751         * modules/rbtreehash-list-tests (Files): Likewise.
75752         * modules/readlink-tests (Files): Likewise.
75753         * modules/remove-tests (Files): Likewise.
75754         * modules/rename-tests (Files): Likewise.
75755         * modules/renameat-tests (Files): Likewise.
75756         * modules/rmdir-tests (Files): Likewise.
75757         * modules/round-tests (Files): Likewise.
75758         * modules/roundf-tests (Files): Likewise.
75759         * modules/roundl-tests (Files): Likewise.
75760         * modules/safe-alloc-tests (Files): Likewise.
75761         * modules/setenv-tests (Files): Likewise.
75762         * modules/sigaction-tests (Files): Likewise.
75763         * modules/signbit-tests (Files): Likewise.
75764         * modules/sleep-tests (Files): Likewise.
75765         * modules/snprintf-posix-tests (Files): Likewise.
75766         * modules/snprintf-tests (Files): Likewise.
75767         * modules/sprintf-posix-tests (Files): Likewise.
75768         * modules/stat-tests (Files): Likewise.
75769         * modules/stat-time-tests (Files): Likewise.
75770         * modules/strcasestr-tests (Files): Likewise.
75771         * modules/strchrnul-tests (Files): Likewise.
75772         * modules/strerror-tests (Files): Likewise.
75773         * modules/striconv-tests (Files): Likewise.
75774         * modules/striconveh-tests (Files): Likewise.
75775         * modules/striconveha-tests (Files): Likewise.
75776         * modules/strsignal-tests (Files): Likewise.
75777         * modules/strstr-tests (Files): Likewise.
75778         * modules/strtod-tests (Files): Likewise.
75779         * modules/strverscmp-tests (Files): Likewise.
75780         * modules/symlink-tests (Files): Likewise.
75781         * modules/symlinkat-tests (Files): Likewise.
75782         * modules/trunc-tests (Files): Likewise.
75783         * modules/truncf-tests (Files): Likewise.
75784         * modules/truncl-tests (Files): Likewise.
75785         * modules/uname-tests (Files): Likewise.
75786         * modules/unicase/cased-tests (Files): Likewise.
75787         * modules/unicase/ignorable-tests (Files): Likewise.
75788         * modules/unicase/locale-language-tests (Files): Likewise.
75789         * modules/unicase/tolower-tests (Files): Likewise.
75790         * modules/unicase/totitle-tests (Files): Likewise.
75791         * modules/unicase/toupper-tests (Files): Likewise.
75792         * modules/unicase/u8-casecmp-tests (Files): Likewise.
75793         * modules/unicase/u8-casecoll-tests (Files): Likewise.
75794         * modules/unicase/u8-casefold-tests (Files): Likewise.
75795         * modules/unicase/u8-is-cased-tests (Files): Likewise.
75796         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
75797         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
75798         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
75799         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
75800         * modules/unicase/u8-tolower-tests (Files): Likewise.
75801         * modules/unicase/u8-totitle-tests (Files): Likewise.
75802         * modules/unicase/u8-toupper-tests (Files): Likewise.
75803         * modules/unicase/u16-casecmp-tests (Files): Likewise.
75804         * modules/unicase/u16-casecoll-tests (Files): Likewise.
75805         * modules/unicase/u16-casefold-tests (Files): Likewise.
75806         * modules/unicase/u16-is-cased-tests (Files): Likewise.
75807         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
75808         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
75809         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
75810         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
75811         * modules/unicase/u16-tolower-tests (Files): Likewise.
75812         * modules/unicase/u16-totitle-tests (Files): Likewise.
75813         * modules/unicase/u16-toupper-tests (Files): Likewise.
75814         * modules/unicase/u32-casecmp-tests (Files): Likewise.
75815         * modules/unicase/u32-casecoll-tests (Files): Likewise.
75816         * modules/unicase/u32-casefold-tests (Files): Likewise.
75817         * modules/unicase/u32-is-cased-tests (Files): Likewise.
75818         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
75819         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
75820         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
75821         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
75822         * modules/unicase/u32-tolower-tests (Files): Likewise.
75823         * modules/unicase/u32-totitle-tests (Files): Likewise.
75824         * modules/unicase/u32-toupper-tests (Files): Likewise.
75825         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
75826         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
75827         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
75828         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
75829         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
75830         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
75831         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
75832         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
75833         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
75834         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
75835         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
75836         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
75837         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
75838         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
75839         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
75840         * modules/unictype/bidicategory-name-tests (Files): Likewise.
75841         * modules/unictype/bidicategory-of-tests (Files): Likewise.
75842         * modules/unictype/bidicategory-test-tests (Files): Likewise.
75843         * modules/unictype/block-list-tests (Files): Likewise.
75844         * modules/unictype/block-of-tests (Files): Likewise.
75845         * modules/unictype/block-test-tests (Files): Likewise.
75846         * modules/unictype/category-C-tests (Files): Likewise.
75847         * modules/unictype/category-Cc-tests (Files): Likewise.
75848         * modules/unictype/category-Cf-tests (Files): Likewise.
75849         * modules/unictype/category-Cn-tests (Files): Likewise.
75850         * modules/unictype/category-Co-tests (Files): Likewise.
75851         * modules/unictype/category-Cs-tests (Files): Likewise.
75852         * modules/unictype/category-L-tests (Files): Likewise.
75853         * modules/unictype/category-Ll-tests (Files): Likewise.
75854         * modules/unictype/category-Lm-tests (Files): Likewise.
75855         * modules/unictype/category-Lo-tests (Files): Likewise.
75856         * modules/unictype/category-Lt-tests (Files): Likewise.
75857         * modules/unictype/category-Lu-tests (Files): Likewise.
75858         * modules/unictype/category-M-tests (Files): Likewise.
75859         * modules/unictype/category-Mc-tests (Files): Likewise.
75860         * modules/unictype/category-Me-tests (Files): Likewise.
75861         * modules/unictype/category-Mn-tests (Files): Likewise.
75862         * modules/unictype/category-N-tests (Files): Likewise.
75863         * modules/unictype/category-Nd-tests (Files): Likewise.
75864         * modules/unictype/category-Nl-tests (Files): Likewise.
75865         * modules/unictype/category-No-tests (Files): Likewise.
75866         * modules/unictype/category-P-tests (Files): Likewise.
75867         * modules/unictype/category-Pc-tests (Files): Likewise.
75868         * modules/unictype/category-Pd-tests (Files): Likewise.
75869         * modules/unictype/category-Pe-tests (Files): Likewise.
75870         * modules/unictype/category-Pf-tests (Files): Likewise.
75871         * modules/unictype/category-Pi-tests (Files): Likewise.
75872         * modules/unictype/category-Po-tests (Files): Likewise.
75873         * modules/unictype/category-Ps-tests (Files): Likewise.
75874         * modules/unictype/category-S-tests (Files): Likewise.
75875         * modules/unictype/category-Sc-tests (Files): Likewise.
75876         * modules/unictype/category-Sk-tests (Files): Likewise.
75877         * modules/unictype/category-Sm-tests (Files): Likewise.
75878         * modules/unictype/category-So-tests (Files): Likewise.
75879         * modules/unictype/category-Z-tests (Files): Likewise.
75880         * modules/unictype/category-Zl-tests (Files): Likewise.
75881         * modules/unictype/category-Zp-tests (Files): Likewise.
75882         * modules/unictype/category-Zs-tests (Files): Likewise.
75883         * modules/unictype/category-and-not-tests (Files): Likewise.
75884         * modules/unictype/category-and-tests (Files): Likewise.
75885         * modules/unictype/category-byname-tests (Files): Likewise.
75886         * modules/unictype/category-name-tests (Files): Likewise.
75887         * modules/unictype/category-none-tests (Files): Likewise.
75888         * modules/unictype/category-of-tests (Files): Likewise.
75889         * modules/unictype/category-or-tests (Files): Likewise.
75890         * modules/unictype/category-test-withtable-tests (Files): Likewise.
75891         * modules/unictype/combining-class-tests (Files): Likewise.
75892         * modules/unictype/ctype-alnum-tests (Files): Likewise.
75893         * modules/unictype/ctype-alpha-tests (Files): Likewise.
75894         * modules/unictype/ctype-blank-tests (Files): Likewise.
75895         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
75896         * modules/unictype/ctype-digit-tests (Files): Likewise.
75897         * modules/unictype/ctype-graph-tests (Files): Likewise.
75898         * modules/unictype/ctype-lower-tests (Files): Likewise.
75899         * modules/unictype/ctype-print-tests (Files): Likewise.
75900         * modules/unictype/ctype-punct-tests (Files): Likewise.
75901         * modules/unictype/ctype-space-tests (Files): Likewise.
75902         * modules/unictype/ctype-upper-tests (Files): Likewise.
75903         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
75904         * modules/unictype/decimal-digit-tests (Files): Likewise.
75905         * modules/unictype/digit-tests (Files): Likewise.
75906         * modules/unictype/mirror-tests (Files): Likewise.
75907         * modules/unictype/numeric-tests (Files): Likewise.
75908         * modules/unictype/property-alphabetic-tests (Files): Likewise.
75909         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
75910         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
75911         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
75912         Likewise.
75913         * modules/unictype/property-bidi-block-separator-tests (Files):
75914         Likewise.
75915         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
75916         Likewise.
75917         * modules/unictype/property-bidi-common-separator-tests (Files):
75918         Likewise.
75919         * modules/unictype/property-bidi-control-tests (Files): Likewise.
75920         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
75921         Likewise.
75922         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
75923         Likewise.
75924         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
75925         Likewise.
75926         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
75927         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
75928         Likewise.
75929         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
75930         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
75931         Likewise.
75932         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
75933         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
75934         * modules/unictype/property-bidi-segment-separator-tests (Files):
75935         Likewise.
75936         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
75937         * modules/unictype/property-byname-tests (Files): Likewise.
75938         * modules/unictype/property-combining-tests (Files): Likewise.
75939         * modules/unictype/property-composite-tests (Files): Likewise.
75940         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
75941         * modules/unictype/property-dash-tests (Files): Likewise.
75942         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
75943         * modules/unictype/property-default-ignorable-code-point-tests (Files):
75944         Likewise.
75945         * modules/unictype/property-deprecated-tests (Files): Likewise.
75946         * modules/unictype/property-diacritic-tests (Files): Likewise.
75947         * modules/unictype/property-extender-tests (Files): Likewise.
75948         * modules/unictype/property-format-control-tests (Files): Likewise.
75949         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
75950         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
75951         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
75952         * modules/unictype/property-hex-digit-tests (Files): Likewise.
75953         * modules/unictype/property-hyphen-tests (Files): Likewise.
75954         * modules/unictype/property-id-continue-tests (Files): Likewise.
75955         * modules/unictype/property-id-start-tests (Files): Likewise.
75956         * modules/unictype/property-ideographic-tests (Files): Likewise.
75957         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
75958         * modules/unictype/property-ids-trinary-operator-tests (Files):
75959         Likewise.
75960         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
75961         * modules/unictype/property-iso-control-tests (Files): Likewise.
75962         * modules/unictype/property-join-control-tests (Files): Likewise.
75963         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
75964         * modules/unictype/property-line-separator-tests (Files): Likewise.
75965         * modules/unictype/property-logical-order-exception-tests (Files):
75966         Likewise.
75967         * modules/unictype/property-lowercase-tests (Files): Likewise.
75968         * modules/unictype/property-math-tests (Files): Likewise.
75969         * modules/unictype/property-non-break-tests (Files): Likewise.
75970         * modules/unictype/property-not-a-character-tests (Files): Likewise.
75971         * modules/unictype/property-numeric-tests (Files): Likewise.
75972         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
75973         * modules/unictype/property-other-default-ignorable-code-point-tests
75974         (Files): Likewise.
75975         * modules/unictype/property-other-grapheme-extend-tests (Files):
75976         Likewise.
75977         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
75978         * modules/unictype/property-other-id-start-tests (Files): Likewise.
75979         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
75980         * modules/unictype/property-other-math-tests (Files): Likewise.
75981         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
75982         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
75983         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
75984         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
75985         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
75986         * modules/unictype/property-private-use-tests (Files): Likewise.
75987         * modules/unictype/property-punctuation-tests (Files): Likewise.
75988         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
75989         * modules/unictype/property-radical-tests (Files): Likewise.
75990         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
75991         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
75992         * modules/unictype/property-space-tests (Files): Likewise.
75993         * modules/unictype/property-terminal-punctuation-tests (Files):
75994         Likewise.
75995         * modules/unictype/property-test-tests (Files): Likewise.
75996         * modules/unictype/property-titlecase-tests (Files): Likewise.
75997         * modules/unictype/property-unassigned-code-value-tests (Files):
75998         Likewise.
75999         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
76000         * modules/unictype/property-uppercase-tests (Files): Likewise.
76001         * modules/unictype/property-variation-selector-tests (Files): Likewise.
76002         * modules/unictype/property-white-space-tests (Files): Likewise.
76003         * modules/unictype/property-xid-continue-tests (Files): Likewise.
76004         * modules/unictype/property-xid-start-tests (Files): Likewise.
76005         * modules/unictype/property-zero-width-tests (Files): Likewise.
76006         * modules/unictype/scripts-tests (Files): Likewise.
76007         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
76008         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
76009         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
76010         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
76011         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
76012         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
76013         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
76014         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
76015         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
76016         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
76017         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
76018         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
76019         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
76020         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
76021         * modules/uninorm/composition-tests (Files): Likewise.
76022         * modules/uninorm/decomposing-form-tests (Files): Likewise.
76023         * modules/uninorm/decomposition-tests (Files): Likewise.
76024         * modules/uninorm/filter-tests (Files): Likewise.
76025         * modules/uninorm/nfc-tests (Files): Likewise.
76026         * modules/uninorm/nfd-tests (Files): Likewise.
76027         * modules/uninorm/nfkc-tests (Files): Likewise.
76028         * modules/uninorm/nfkd-tests (Files): Likewise.
76029         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
76030         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
76031         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
76032         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
76033         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
76034         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
76035         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
76036         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
76037         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
76038         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
76039         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
76040         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
76041         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
76042         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
76043         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
76044         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
76045         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
76046         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
76047         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
76048         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
76049         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
76050         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
76051         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
76052         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
76053         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
76054         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
76055         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
76056         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
76057         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
76058         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
76059         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
76060         * modules/uniwidth/u8-width-tests (Files): Likewise.
76061         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
76062         * modules/uniwidth/u16-width-tests (Files): Likewise.
76063         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
76064         * modules/uniwidth/u32-width-tests (Files): Likewise.
76065         * modules/uniwidth/width-tests (Files): Likewise.
76066         * modules/unlink-tests (Files): Likewise.
76067         * modules/unsetenv-tests (Files): Likewise.
76068         * modules/usleep-tests (Files): Likewise.
76069         * modules/utimens-tests (Files): Likewise.
76070         * modules/utimensat-tests (Files): Likewise.
76071         * modules/vasnprintf-posix-tests (Files): Likewise.
76072         * modules/vasnprintf-tests (Files): Likewise.
76073         * modules/vasprintf-posix-tests (Files): Likewise.
76074         * modules/vasprintf-tests (Files): Likewise.
76075         * modules/vdprintf-posix-tests (Files): Likewise.
76076         * modules/vfprintf-posix-tests (Files): Likewise.
76077         * modules/vprintf-posix-tests (Files): Likewise.
76078         * modules/vsnprintf-posix-tests (Files): Likewise.
76079         * modules/vsnprintf-tests (Files): Likewise.
76080         * modules/vsprintf-posix-tests (Files): Likewise.
76081         * modules/wcrtomb-tests (Files): Likewise.
76082         * modules/wcsnrtombs-tests (Files): Likewise.
76083         * modules/wcsrtombs-tests (Files): Likewise.
76084         * modules/wctype-tests (Files): Likewise.
76085         * modules/wcwidth-tests (Files): Likewise.
76086         * modules/xmemdup0-tests (Files): Likewise.
76087         * modules/xprintf-posix-tests (Files): Likewise.
76088         * modules/xvasprintf-tests (Files): Likewise.
76090 2009-12-24  Eric Blake  <ebb9@byu.net>
76092         test-nanosleep: fix typo
76093         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
76094         patch.
76095         Reported by Bruno Haible.
76097 2009-12-24  Bruno Haible  <bruno@clisp.org>
76099         Reduce namespace pollution on glibc systems.
76100         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
76101         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
76102         systems.
76103         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
76104         <getopt.h> on glibc systems.
76105         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
76106         systems.
76107         * lib/fcntl.c: Include <unistd.h> here instead.
76109 2009-12-24  Bruno Haible  <bruno@clisp.org>
76111         * lib/stdlib.in.h (includes): Fix typo in today's commit.
76113 2009-12-24  Eric Blake  <ebb9@byu.net>
76115         tests: add signature checks
76116         * tests/signature.h (SIGNATURE_CHECK): New file.
76117         * modules/atexit-tests (Files): Use it.
76118         * modules/btowc-tests (Files): Likewise.
76119         * modules/canonicalize-lgpl-tests (Files): Likewise.
76120         * modules/ceilf-tests (Files): Likewise.
76121         * modules/ceill-tests (Files): Likewise.
76122         * modules/chown-tests (Files): Likewise.
76123         * modules/dprintf-posix-tests (Files): Likewise.
76124         * modules/dup2-tests (Files): Likewise.
76125         * modules/dup3-tests (Files): Likewise.
76126         * modules/duplocale-tests (Files): Likewise.
76127         * modules/fchdir-tests (Files): Likewise.
76128         * modules/fcntl-tests (Files): Likewise.
76129         * modules/fdopendir-tests (Files): Likewise.
76130         * modules/fflush-tests (Files): Likewise.
76131         * modules/flock-tests (Files): Likewise.
76132         * modules/floorf-tests (Files): Likewise.
76133         * modules/floorl-tests (Files): Likewise.
76134         * modules/fnmatch-tests (Files): Likewise.
76135         * modules/fopen-tests (Files): Likewise.
76136         * modules/fprintf-posix-tests (Files): Likewise.
76137         * modules/freopen-tests (Files): Likewise.
76138         * modules/frexp-nolibm-tests (Files): Likewise.
76139         * modules/frexp-tests (Files): Likewise.
76140         * modules/frexpl-nolibm-tests (Files): Likewise.
76141         * modules/frexpl-tests (Files): Likewise.
76142         * modules/fseek-tests (Files): Likewise.
76143         * modules/fseeko-tests (Files): Likewise.
76144         * modules/fsync-tests (Files): Likewise.
76145         * modules/ftell-tests (Files): Likewise.
76146         * modules/ftello-tests (Files): Likewise.
76147         * modules/futimens-tests (Files): Likewise.
76148         * modules/getaddrinfo-tests (Files): Likewise.
76149         * modules/getcwd-tests (Files): Likewise.
76150         * modules/getdelim-tests (Files): Likewise.
76151         * modules/getdtablesize-tests (Files): Likewise.
76152         * modules/getgroups-tests (Files): Likewise.
76153         * modules/gethostname-tests (Files): Likewise.
76154         * modules/getline-tests (Files): Likewise.
76155         * modules/getopt-posix-tests (Files): Likewise.
76156         * modules/gettimeofday-tests (Files): Likewise.
76157         * modules/glob-tests (Files): Likewise.
76158         * modules/iconv-tests (Files): Likewise.
76159         * modules/inet_ntop-tests (Files): Likewise.
76160         * modules/inet_pton-tests (Files): Likewise.
76161         * modules/isblank-tests (Files): Likewise.
76162         * modules/lchown-tests (Files): Likewise.
76163         * modules/ldexpl-tests (Files): Likewise.
76164         * modules/link-tests (Files): Likewise.
76165         * modules/linkat-tests (Files): Likewise.
76166         * modules/lseek-tests (Files): Likewise.
76167         * modules/lstat-tests (Files): Likewise.
76168         * modules/mbrtowc-tests (Files): Likewise.
76169         * modules/mbsinit-tests (Files): Likewise.
76170         * modules/mbsnrtowcs-tests (Files): Likewise.
76171         * modules/mbsrtowcs-tests (Files): Likewise.
76172         * modules/memchr-tests (Files): Likewise.
76173         * modules/memcmp-tests (Files): Likewise.
76174         * modules/memmem-tests (Files): Likewise.
76175         * modules/memrchr-tests (Files): Likewise.
76176         * modules/mkdir-tests (Files): Likewise.
76177         * modules/mkfifo-tests (Files): Likewise.
76178         * modules/mkfifoat-tests (Files): Likewise.
76179         * modules/mknod-tests (Files): Likewise.
76180         * modules/nanosleep-tests (Files): Likewise.
76181         * modules/nl_langinfo-tests (Files): Likewise.
76182         * modules/obstack-printf-tests (Files): Likewise.
76183         * modules/open-tests (Files): Likewise.
76184         * modules/openat-tests (Files): Likewise.
76185         * modules/perror-tests (Files): Likewise.
76186         * modules/pipe2-tests (Files): Likewise.
76187         * modules/poll-tests (Files): Likewise.
76188         * modules/popen-tests (Files): Likewise.
76189         * modules/posix_spawn-tests (Files): Likewise.
76190         * modules/posix_spawnp-tests (Files): Likewise.
76191         * modules/pread-tests (Files): Likewise.
76192         * modules/printf-posix-tests (Files): Likewise.
76193         * modules/pty-tests (Files): Likewise.
76194         * modules/random_r-tests (Files): Likewise.
76195         * modules/rawmemchr-tests (Files): Likewise.
76196         * modules/readlink-tests (Files): Likewise.
76197         * modules/remove-tests (Files): Likewise.
76198         * modules/rename-tests (Files): Likewise.
76199         * modules/renameat-tests (Files): Likewise.
76200         * modules/rmdir-tests (Files): Likewise.
76201         * modules/round-tests (Files): Likewise.
76202         * modules/roundf-tests (Files): Likewise.
76203         * modules/roundl-tests (Files): Likewise.
76204         * modules/select-tests (Files): Likewise.
76205         * modules/setenv-tests (Files): Likewise.
76206         * modules/sigaction-tests (Files): Likewise.
76207         * modules/sleep-tests (Files): Likewise.
76208         * modules/snprintf-posix-tests (Files): Likewise.
76209         * modules/snprintf-tests (Files): Likewise.
76210         * modules/sprintf-posix-tests (Files): Likewise.
76211         * modules/stat-tests (Files): Likewise.
76212         * modules/strcasestr-tests (Files): Likewise.
76213         * modules/strchrnul-tests (Files): Likewise.
76214         * modules/strerror-tests (Files): Likewise.
76215         * modules/strsignal-tests (Files): Likewise.
76216         * modules/strstr-tests (Files): Likewise.
76217         * modules/strtod-tests (Files): Likewise.
76218         * modules/strverscmp-tests (Files): Likewise.
76219         * modules/symlink-tests (Files): Likewise.
76220         * modules/symlinkat-tests (Files): Likewise.
76221         * modules/times-tests (Files): Likewise.
76222         * modules/trunc-tests (Files): Likewise.
76223         * modules/truncf-tests (Files): Likewise.
76224         * modules/truncl-tests (Files): Likewise.
76225         * modules/tsearch-tests (Files): Likewise.
76226         * modules/uname-tests (Files): Likewise.
76227         * modules/unlink-tests (Files): Likewise.
76228         * modules/unsetenv-tests (Files): Likewise.
76229         * modules/usleep-tests (Files): Likewise.
76230         * modules/utimensat-tests (Files): Likewise.
76231         * modules/vasprintf-tests (Files): Likewise.
76232         * modules/vdprintf-posix-tests (Files): Likewise.
76233         * modules/vfprintf-posix-tests (Files): Likewise.
76234         * modules/vprintf-posix-tests (Files): Likewise.
76235         * modules/vsnprintf-posix-tests (Files): Likewise.
76236         * modules/vsnprintf-tests (Files): Likewise.
76237         * modules/vsprintf-posix-tests (Files): Likewise.
76238         * modules/wcrtomb-tests (Files): Likewise.
76239         * modules/wcsnrtombs-tests (Files): Likewise.
76240         * modules/wcsrtombs-tests (Files): Likewise.
76241         * modules/wcwidth-tests (Files): Likewise.
76242         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
76243         * tests/test-isinf.c (isinf): Likewise.
76244         * tests/test-isnan.c (isnan): Likewise.
76245         * tests/test-signbit.c (signbit): Likewise.
76246         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
76247         declaration, either as macro or with correct signature.
76248         (select): Ensure function under test is declared with correct
76249         signature in correct header.
76250         * tests/test-atexit.c (atexit): Likewise.
76251         * tests/test-btowc.c (btowc): Likewise.
76252         * tests/test-canonicalize-lgpl.c (realpath)
76253         (canonicalize_file_name): Likewise.
76254         * tests/test-ceilf1.c (ceilf): Likewise.
76255         * tests/test-ceill.c (ceill): Likewise.
76256         * tests/test-chown.c (chown): Likewise.
76257         * tests/test-dprintf-posix.c (dprintf): Likewise.
76258         * tests/test-dup2.c (dup2): Likewise.
76259         * tests/test-dup3.c (dup3): Likewise.
76260         * tests/test-duplocale.c (duplocale): Likewise.
76261         * tests/test-fchdir.c (fchdir): Likewise.
76262         * tests/test-fchownat.c (fchownat): Likewise.
76263         * tests/test-fcntl.c (fcntl): Likewise.
76264         * tests/test-fdopendir.c (fdopendir): Likewise.
76265         * tests/test-fflush.c (fflush): Likewise.
76266         * tests/test-flock.c (flock): Likewise.
76267         * tests/test-floorf1.c (floorf): Likewise.
76268         * tests/test-floorl.c (floorl): Likewise.
76269         * tests/test-fnmatch.c (fnmatch): Likewise.
76270         * tests/test-fopen.c (fopen): Likewise.
76271         * tests/test-fprintf-posix.c (fprintf): Likewise.
76272         * tests/test-freopen.c (freopen): Likewise.
76273         * tests/test-frexp.c (frexp): Likewise.
76274         * tests/test-frexpl.c (frexpl): Likewise.
76275         * tests/test-fseek.c (fseek): Likewise.
76276         * tests/test-fseeko.c (fseeko): Likewise.
76277         * tests/test-fstatat.c (fstatat): Likewise.
76278         * tests/test-fsync.c (fsync): Likewise.
76279         * tests/test-ftell.c (ftell): Likewise.
76280         * tests/test-ftello.c (ftello): Likewise.
76281         * tests/test-futimens.c (futimens): Likewise.
76282         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
76283         (gai_strerror): Likewise.
76284         * tests/test-getcwd.c (getcwd): Likewise.
76285         * tests/test-getdelim.c (getdelim): Likewise.
76286         * tests/test-getdtablesize.c (getdtablesize): Likewise.
76287         * tests/test-getgroups.c (getgroups): Likewise.
76288         * tests/test-gethostname.c (gethostname): Likewise.
76289         * tests/test-getline.c (getline): Likewise.
76290         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
76291         Likewise.
76292         * tests/test-gettimeofday.c (gettimeofday): Likewise.
76293         * tests/test-glob.c (glob, globfree): Likewise.
76294         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
76295         * tests/test-inet_ntop.c (inet_ntop): Likewise.
76296         * tests/test-inet_pton.c (inet_pton): Likewise.
76297         * tests/test-isblank.c (isblank): Likewise.
76298         * tests/test-lchown.c (lchown): Likewise.
76299         * tests/test-ldexpl.c (ldexpl): Likewise.
76300         * tests/test-link.c (link): Likewise.
76301         * tests/test-linkat.c (linkat): Likewise.
76302         * tests/test-lseek.c (lseek): Likewise.
76303         * tests/test-lstat.c (lstat): Likewise.
76304         * tests/test-mbrtowc.c (mbrtowc): Likewise.
76305         * tests/test-mbsinit.c (mbsinit): Likewise.
76306         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
76307         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
76308         * tests/test-memchr.c (memchr): Likewise.
76309         * tests/test-memcmp.c (memcmp): Likewise.
76310         * tests/test-memmem.c (memmem): Likewise.
76311         * tests/test-memrchr.c (memrchr): Likewise.
76312         * tests/test-mkdir.c (mkdir): Likewise.
76313         * tests/test-mkdirat.c (mkdirat): Likewise.
76314         * tests/test-mkfifo.c (mkfifo): Likewise.
76315         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
76316         * tests/test-mknod.c (mknod): Likewise.
76317         * tests/test-nanosleep.c (nanosleep): Likewise.
76318         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
76319         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
76320         Likewise.
76321         * tests/test-open.c (open): Likewise.
76322         * tests/test-openat.c (openat): Likewise.
76323         * tests/test-perror.c (perror): Likewise.
76324         * tests/test-pipe2.c (pipe2): Likewise.
76325         * tests/test-poll.c (poll): Likewise.
76326         * tests/test-popen.c (popen, pclose): Likewise.
76327         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
76328         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
76329         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
76330         (posix_spawn_file_actions_destroy)
76331         (posix_spawn_file_actions_addclose)
76332         (posix_spawn_file_actions_addopen)
76333         (posix_spawn_file_actions_adddup2): Likewise.
76334         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
76335         * tests/test-pread.c (pread): Likewise.
76336         * tests/test-printf-posix.c (printf): Likewise.
76337         * tests/test-pty.c (openpty, forkpty): Likewise.
76338         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
76339         (random_r): Likewise.
76340         * tests/test-rawmemchr.c (rawmemchr): Likewise.
76341         * tests/test-readlink.c (readlink): Likewise.
76342         * tests/test-remove.c (remove): Likewise.
76343         * tests/test-rename.c (rename): Likewise.
76344         * tests/test-renameat.c (renameat): Likewise.
76345         * tests/test-rmdir.c (rmdir): Likewise.
76346         * tests/test-round1.c (round): Likewise.
76347         * tests/test-roundf1.c (roundf): Likewise.
76348         * tests/test-roundl.c (roundl): Likewise.
76349         * tests/test-setenv.c (setenv): Likewise.
76350         * tests/test-sigaction.c (sigaction): Likewise.
76351         * tests/test-sleep.c (sleep): Likewise.
76352         * tests/test-snprintf.c (snprintf): Likewise.
76353         * tests/test-sprintf-posix.c (sprintf): Likewise.
76354         * tests/test-stat.c (stat): Likewise.
76355         * tests/test-stpncpy.c (stpncpy): Likewise.
76356         * tests/test-strcasestr.c (strcasestr): Likewise.
76357         * tests/test-strchrnul.c (strchrnul): Likewise.
76358         * tests/test-strerror.c (strerror): Likewise.
76359         * tests/test-strsignal.c (strsignal): Likewise.
76360         * tests/test-strstr.c (strstr): Likewise.
76361         * tests/test-strtod.c (strtod): Likewise.
76362         * tests/test-strverscmp.c (strverscmp): Likewise.
76363         * tests/test-symlink.c (symlink): Likewise.
76364         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
76365         * tests/test-times.c (times): Likewise.
76366         * tests/test-trunc1.c (trunc): Likewise.
76367         * tests/test-truncf1.c (truncf): Likewise.
76368         * tests/test-truncl.c (truncl): Likewise.
76369         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
76370         Likewise.
76371         * tests/test-uname.c (uname): Likewise.
76372         * tests/test-unlink.c (unlink): Likewise.
76373         * tests/test-unlinkat.c (unlinkat): Likewise.
76374         * tests/test-unsetenv.c (unsetenv): Likewise.
76375         * tests/test-usleep.c (usleep): Likewise.
76376         * tests/test-utimensat.c (utimensat): Likewise.
76377         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
76378         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
76379         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
76380         * tests/test-vprintf-posix.c (vprintf): Likewise.
76381         * tests/test-vsnprintf.c (vsnprintf): Likewise.
76382         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
76383         * tests/test-wcrtomb.c (wcrtomb): Likewise.
76384         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
76385         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
76386         * tests/test-wcwidth.c (wcwidth): Likewise.
76388         build: pull in conditional headers during GNULIB_POSIXCHECK
76389         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
76390         definitions from any conditionally-included headers.
76391         * lib/stdlib.in.h (includes): Likewise.
76392         * lib/unistd.in.h (includes): Likewise.
76394 2009-12-24  Bruno Haible  <bruno@clisp.org>
76396         * tests/test-argv-iter.c: Include header file being tested immediately
76397         after config.h.
76398         * tests/test-base64.c: Likewise.
76399         * tests/test-flock.c: Likewise.
76400         * tests/test-fsync.c: Likewise.
76401         * tests/test-getdate.c: Likewise.
76402         * tests/test-getndelim2.c: Likewise.
76403         * tests/test-isfinite.c: Likewise.
76404         * tests/test-isinf.c: Likewise.
76405         * tests/test-strerror.c: Likewise.
76406         * tests/test-strsignal.c: Likewise.
76408 2009-12-23  Eric Blake  <ebb9@byu.net>
76410         unistd: work around cygwin bug
76411         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
76412         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
76413         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
76415 2009-12-23  Bruno Haible  <bruno@clisp.org>
76417         localename: More tests.
76418         * tests/test-localename.c (SIZEOF): New macro.
76419         (categories): New variable.
76420         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
76421         test_locale_name_default): Add test w.r.t. thread locale.
76422         (test_locale_name_thread): New function.
76423         (main): Invoke it.
76425         localename: Make aware of thread locale.
76426         * lib/localename.h (gl_locale_name_thread): New declaration.
76427         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
76428         behaviour with respect to thread locale.
76429         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
76430         <langinfo.h>, glthread/lock.h.
76431         (SIZE_BITS): New macro.
76432         (string_hash): New function.
76433         (struct hash_node): New type.
76434         (HASH_TABLE_SIZE): New macro.
76435         (struniq_hash_table, struniq_lock): New variables.
76436         (struniq): New function.
76437         (gl_locale_name_thread): New function.
76438         (gl_locale_name): Invoke it.
76439         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
76440         * modules/localename (Depends-on): Add lock.
76441         Reported by Mike Gran <spk121@yahoo.com>.
76443 2009-12-23  Eric Blake  <ebb9@byu.net>
76445         va-args: new module
76446         * modules/va-args: New file.
76447         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
76448         * MODULES.html.sh (Core language properties): Mention it.
76450         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
76451         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
76452         named alias for __attribute__((__unused__)).
76453         * lib/chown.c: Update client.
76454         * lib/fchmodat.c: Likewise.
76455         * lib/fts.c: Likewise.
76456         * lib/getdate.y: Likewise.
76457         * lib/getgroups.c: Likewise.
76458         * lib/getopt.c: Likewise.
76459         * lib/getugroups.c: Likewise.
76460         * lib/mkdir.c: Likewise.
76461         * lib/mkfifo.c: Likewise.
76462         * lib/mkfifoat.c: Likewise.
76463         * lib/mknod.c: Likewise.
76464         * lib/mknodat.c: Likewise.
76465         * lib/readlink.c: Likewise.
76466         * lib/se-context.in.h: Likewise.
76467         * lib/se-selinux.in.h: Likewise.
76468         * lib/sockets.c: Likewise.
76469         * lib/symlink.c: Likewise.
76470         * lib/symlinkat.c: Likewise.
76471         * lib/unicodeio.c: Likewise.
76472         * lib/unistr.h: Likewise.
76473         * tests/test-areadlink.c: Likewise.
76474         * tests/test-areadlinkat.c: Likewise.
76475         * tests/test-filenamecat.c: Likewise.
76476         * tests/test-fseeko.c: Likewise.
76477         * tests/test-ftello.c: Likewise.
76478         * tests/test-getdate.c: Likewise.
76479         * tests/test-getgroups.c: Likewise.
76480         * tests/test-gethostname.c: Likewise.
76481         * tests/test-quotearg.c: Likewise.
76482         * tests/test-version-etc.c: Likewise.
76483         * tests/test-xalloc-die.c: Likewise.
76484         * tests/test-xfprintf-posix.c: Likewise.
76485         * tests/test-xprintf-posix.c: Likewise.
76486         * tests/test-xvasprintf.c: Likewise.
76488         tests: avoid compiler warnings
76489         * tests/test-fcntl.c (main): Delete unused parameters.
76490         * tests/test-freopen-safer.c (main): Likewise.
76491         * tests/test-xalloc-die.c (main): Mark unused parameters.
76492         * tests/test-fseeko.c (main): Likewise.
76493         * tests/test-ftello.c (main): Likewise.
76494         * tests/test-nanosleep.c (main): Avoid declaration warning.
76495         * tests/test-sleep.c (main): Likewise.
76496         * tests/test-unsetenv.c (main): Silence warning about string
76497         literal.
76498         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
76500 2009-12-23  Bruno Haible  <bruno@clisp.org>
76502         * tests/test-localename.c (test_locale_name): New function, extracted
76503         from main. Also test mixed situations.
76504         (test_locale_name_posix, test_locale_name_environ,
76505         test_locale_name_default): New functions.
76506         (main): Invoke them all.
76507         * modules/localename-tests (configure.ac): Test for newlocale.
76509 2009-12-23  Bruno Haible  <bruno@clisp.org>
76511         unistd: Ensure getcwd gets declared before being overridden.
76512         * lib/unistd.in.h: Conditionally include <io.h>.
76514 2009-12-22  Bruno Haible  <bruno@clisp.org>
76516         wchar: Diagnose broken combination of glibc and gcc versions and flags.
76517         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
76518         (gl_WCHAR_H): Invoke it.
76519         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
76520         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
76521         Reported by Karl Berry <karl@freefriends.org>.
76523 2009-12-22  Eric Blake  <ebb9@byu.net>
76525         math, unistd: avoid redundant includes
76526         * lib/math.in.h (isnan): No need to re-include <math.h>.
76527         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
76529         getsubopt: work around cygwin bug
76530         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
76531         avoid conflicting with system getsubopt.
76532         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
76533         bug.
76535         getopt: synchronize from glibc
76536         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
76537         parameter order.  Adjust all callers.
76538         (_getopt_internal_r, main): Adjust quoting in error messages.
76539         Drop considerations for outdated POSIX 1003.2 error message.
76540         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
76541         callers.
76542         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
76544         test-getopt: test stderr behavior
76545         * modules/getopt-posix-tests (Depends-on): Add dup2.
76546         * tests/test-getopt.c (ASSERT): Avoid stderr.
76547         (main): Move stderr to a temporary file.
76548         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
76549         Instead, add parameter to inform caller if output occurred.
76550         (test_getopt): Adjust all existing tests to expect silence, and
76551         add new tests of leading ":".
76552         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76553         glibc shortcomings with leading "-:" or "+:" in optstring.
76554         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76555         Likewise.
76556         * doc/posix-functions/getopt.texi (getopt): Likewise.
76558         test-getopt: enhance test
76559         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
76560         supports optind=0.
76561         * tests/test-getopt.c (OPTIND_MIN): Move...
76562         * tests/test-getopt.h (OPTIND_MIN): ...here.
76563         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
76564         Require that optind=0 works, since modern BSD supports it in
76565         addition to optreset, and since coreutils expects it.
76566         (test_getopt_long_only): New test.
76567         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76568         glibc shortcomings with 'W;', and enforcement of optind=0.
76569         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76570         Likewise.
76572 2009-12-21  Bruno Haible  <bruno@clisp.org>
76574         localename: Improvements for MacOS X and Cygwin.
76575         * lib/localename.h (gl_locale_name_environ): New declaration.
76576         * lib/localename.c (gl_locale_name_environ): New function, extracted from
76577         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
76578         (gl_locale_name_posix): Invoke it.
76579         (gl_locale_name_default): Add comments. Use Windows native API also on
76580         Cygwin.
76582 2009-12-21  Bruno Haible  <bruno@clisp.org>
76584         Update list of Win32 locale ids.
76585         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
76586         (LANG_SAMI): Renamed from LANG_SAAMI.
76587         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
76588         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
76589         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
76590         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
76591         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
76592         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
76593         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
76594         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
76595         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
76596         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
76597         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
76598         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
76599         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
76600         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
76601         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
76602         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
76603         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
76604         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
76605         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
76606         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
76607         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
76608         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
76609         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
76610         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
76611         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
76612         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
76613         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
76614         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
76615         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
76616         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
76617         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
76618         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
76619         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
76620         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
76621         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
76622         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
76623         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
76624         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
76625         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
76626         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
76627         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
76628         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
76629         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
76630         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
76631         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
76632         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
76633         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
76634         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
76635         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
76636         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
76637         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
76638         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
76639         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
76640         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
76641         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
76642         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
76643         Add more languages and countries for Sami, Sorbian. Add more countries
76644         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
76645         for Pashto. Change country for Syriac, Tswana.
76647 2009-12-21  Eric Blake  <ebb9@byu.net>
76649         test-utimens: avoid spurious failure
76650         * tests/test-chown.h (nap): Factor...
76651         * tests/nap.h: ...into new file.
76652         * tests/test-lchown.h (nap): Avoid duplication.
76653         * tests/test-utimens-common.h (nap): Use shared implementation,
76654         necessary on file systems with 1-second resolution.
76655         * modules/chown-tests (Files): Include new file.
76656         * modules/fdutimensat-tests (Files): Likewise.
76657         * modules/futimens-tests (Files): Likewise.
76658         * modules/lchown-tests (Files): Likewise.
76659         * modules/openat-tests (Files): Likewise.
76660         * modules/utimens-tests (Files): Likewise.
76661         * modules/utimensat-tests (Files): Likewise.
76663 2009-12-19  Eric Blake  <ebb9@byu.net>
76665         futimens, utimensat: work around Linux bug
76666         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
76667         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
76668         * lib/utimensat.c (rpl_utimensat): Work around it.
76669         * lib/futimens.c (rpl_futimens): Adjust comment.
76671         utimens: work around Linux ctime bug
76672         * lib/utimens.c (detect_ctime_bug): New helper function.
76673         (update_timespec): Differentiate between workaround needed for
76674         this bug vs. what is needed for systems that lack utimensat.
76675         (fdutimens, lutimens): Work around bug.
76677         utimens: check for ctime update
76678         * tests/test-utimens-common.h (check_ctime): Define.
76679         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
76680         * tests/test-futimens.h (test_futimens): Likewise.
76681         * tests/test-lutimens.h (test_lutimens): Likewise.
76682         * doc/posix-functions/futimens.texi (futimens): Document the bug.
76683         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
76685 2009-12-19  Bruno Haible  <bruno@clisp.org>
76687         dprintf-posix: Check against memory leak fixed on 2009-12-15.
76688         * tests/test-dprintf-posix2.sh: New file.
76689         * tests/test-dprintf-posix2.c: New file.
76690         * modules/dprintf-posix-tests (Files): Add them.
76691         (configure.ac): Check for getrlimit and setrlimit.
76692         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76694 2009-12-19  Bruno Haible  <bruno@clisp.org>
76696         fprintf-posix: Check against memory leak fixed on 2009-12-15.
76697         * tests/test-fprintf-posix3.sh: New file.
76698         * tests/test-fprintf-posix3.c: New file.
76699         * modules/fprintf-posix-tests (Files): Add them.
76700         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76702 2009-12-19  Eric Blake  <ebb9@byu.net>
76704         dirfd: fix prototype
76705         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
76706         * lib/dirfd.c (dirfd): Likewise.
76708         canonicalize: reduce memory usage
76709         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
76710         allocation to size.
76711         Reported by Solar Designer <solar@openwall.com>.
76713 2009-12-19  Bruno Haible  <bruno@clisp.org>
76715         New module attribute 'Applicability'.
76716         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
76717         * gnulib-tool: New option --extract-applicability.
76718         (func_usage): Document it.
76719         (sed_extract_prog): Recognize it.
76720         (func_get_applicability): New function.
76721         (func_import): Generalize handling of 'link-warning' module.
76722         * modules/link-warning (Applicability): New section.
76723         * modules/arg-nonnull (Applicability): New section.
76724         Repoted by Simon Josefsson <simon@josefsson.org>.
76726 2009-12-19  Bruno Haible  <bruno@clisp.org>
76728         fflush: tweak
76729         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
76730         * lib/fseeko.c (rpl_fseeko): Likewise.
76732 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
76734         * lib/gl_list.h: Fix typo in comment.
76736 2009-12-16  Eric Blake  <ebb9@byu.net>
76738         fcntl: use to simplify other modules
76739         * modules/cloexec (Depends-on): Add fcntl.
76740         * modules/fchdir (Depends-on): Likewise.
76741         * modules/fd-safer-flag (Depends-on): Likewise.
76742         * modules/unistd-safer (Depends-on): Likewise.
76743         * modules/dup3 (configure.ac): Set module indicator.
76744         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
76745         missing.
76746         * lib/fchdir.c (_gl_register_dup): Fix comment.
76747         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
76748         * lib/dup-safer.c (dup_safer): Likewise.
76749         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
76750         * lib/dup3.c (dup3): Likewise.
76751         * tests/test-fchdir.c (main): Enhance test.
76752         Fixes a dup_cloexec bug reported by Ondřej Vašík.
76754         fcntl: port portions of fcntl to mingw
76755         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
76756         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
76757         replacement for mingw.
76758         * modules/fcntl (Description): Update.
76759         (Depends-on): Add dup2.
76760         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
76761         * modules/fcntl-h (Makefile.am): Substitute it.
76762         * lib/fcntl.in.h (fcntl): Update declaration.
76763         (F_DUPFD, F_GETFD): New macros, when needed.
76764         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
76765         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
76766         * tests/test-fcntl.c (check_flags, main): Enhance test for items
76767         we now guarantee.
76769         fcntl: work around cygwin bug in F_DUPFD
76770         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
76771         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
76772         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
76773         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
76774         * doc/posix-functions/fcntl.texi (fcntl): Document it.
76776         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
76777         * modules/fcntl (Files): List new files.
76778         (configure.ac): Run a test.
76779         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
76780         * lib/fcntl.c (rpl_fcntl): Likewise.
76781         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
76782         (gl_FCNTL_H): Always replace fcntl.h.
76783         * modules/fcntl-h (Makefile.am): Substitute witnesses.
76784         * lib/fcntl.in.h (fcntl): Declare replacement.
76785         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
76786         needed, plus a witness.
76787         * doc/posix-functions/fcntl.texi (fcntl): Document this.
76788         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
76789         * tests/test-fcntl.c: New file.
76790         * modules/fcntl-tests: Likewise.
76792         binary-io: avoid potential compilation warning
76793         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
76794         directives.
76796         fflush: avoid compilation error on NetBSD
76797         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
76798         between off_t and fpos_t, since the latter is sometimes a struct.
76799         * lib/fseeko.c (rpl_fseeko): Likewise.
76800         Reported by Alexander Nasonov <alnsn@yandex.ru>.
76802 2009-12-15  Eric Blake  <ebb9@byu.net>
76804         fcntl-h, stdio, sys_ioctl: fix declarations
76805         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
76806         function must not take arguments.
76807         * lib/sys_ioctl.in.h (ioctl): Likewise.
76808         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
76809         (open): Add a link warning.
76811 2009-12-15  Jim Meyering  <meyering@redhat.com>
76813         areadlink, areadlink-with-size: relax license to LGPLv2+
76814         * modules/areadlink (License): Relax to LGPLv2+.
76815         * modules/areadlink-with-size (License): Likewise.
76817 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
76818             Bruno Haible  <bruno@clisp.org>
76820         *printf: Fix memory leak.
76821         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
76822         * lib/vfprintf.c (vfprintf): Likewise.
76823         * lib/dprintf.c (dprintf): Likewise.
76824         * lib/vdprintf.c (vdprintf): Likewise.
76826 2009-12-14  Eric Blake  <ebb9@byu.net>
76828         accept4: adjust module dependencies
76829         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
76831         utimens: one more try at avoiding compiler warning
76832         * lib/utimens.c (lutimens): Lower scope of result.
76834 2009-12-13  Bruno Haible  <bruno@clisp.org>
76836         Move the malloc checking from module 'list' to new module 'xlist'.
76837         * modules/xlist: New file.
76838         * lib/gl_xlist.h: New file.
76839         * lib/gl_xlist.c: New file.
76840         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
76841         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
76842         gl_list_add_last, gl_list_add_before, gl_list_add_after,
76843         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
76844         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
76845         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
76846         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
76847         gl_sortedlist_nx_add): New declarations.
76848         (struct gl_list_implementation): Rename and change methods accordingly.
76849         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
76850         (gl_list_nx_create): Renamed from gl_list_create.
76851         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76852         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76853         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76854         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76855         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76856         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76857         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76858         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76859         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
76860         gl_list_create_empty.
76861         (gl_list_nx_create): Renamed from gl_list_create.
76862         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76863         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76864         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76865         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76866         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76867         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76868         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76869         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76870         * lib/gl_array_list.c: Don't include xalloc.h.
76871         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
76872         NULL upon out-of-memory.
76873         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
76874         out-of-memory.
76875         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
76876         Change return type to 'int'.
76877         (gl_array_nx_set_at): Renamed from gl_array_set_at.
76878         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76879         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
76880         upon out-of-memory.
76881         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
76882         upon out-of-memory.
76883         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
76884         upon out-of-memory.
76885         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
76886         upon out-of-memory.
76887         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
76888         out-of-memory.
76889         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
76890         Update.
76891         (gl_array_list_implementation): Update.
76892         * lib/gl_carray_list.c: Don't include xalloc.h.
76893         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
76894         Return NULL upon out-of-memory.
76895         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
76896         out-of-memory.
76897         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
76898         Change return type to 'int'.
76899         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
76900         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76901         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
76902         upon out-of-memory.
76903         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
76904         upon out-of-memory.
76905         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
76906         out-of-memory.
76907         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
76908         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
76909         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
76910         Update.
76911         (gl_carray_list_implementation): Update.
76912         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
76913         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
76914         gl_linked_create_empty. Return NULL upon out-of-memory.
76915         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
76916         out-of-memory.
76917         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
76918         Change return type to 'int'. Return -1 upon out-of-memory.
76919         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
76920         out-of-memory.
76921         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
76922         upon out-of-memory.
76923         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
76924         upon out-of-memory.
76925         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
76926         NULL upon out-of-memory.
76927         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
76928         upon out-of-memory.
76929         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
76930         out-of-memory.
76931         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
76932         Update.
76933         * lib/gl_linked_list.c: Don't include xalloc.h.
76934         (gl_linked_list_implementation): Update.
76935         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
76936         (add_to_bucket): Change return type to 'int'.
76937         (gl_linkedhash_list_implementation): Update.
76938         * lib/gl_anytree_list1.h (free_subtree): New function.
76939         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
76940         gl_tree_create_empty. Return NULL upon out-of-memory.
76941         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
76942         Change return type to 'int'. Return -1 upon out-of-memory.
76943         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
76944         out-of-memory.
76945         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
76946         (gl_tree_remove_node): New function, moved here from
76947         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
76948         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
76949         Update.
76950         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
76951         malloc, not xmalloc. Return NULL upon out-of-memory.
76952         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76953         out-of-memory.
76954         (gl_tree_remove_node_from_tree): New function, extracted from
76955         gl_tree_remove_node.
76956         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76957         upon out-of-memory.
76958         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76959         out-of-memory.
76960         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76961         upon out-of-memory.
76962         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76963         upon out-of-memory.
76964         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76965         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
76966         not xmalloc. Return NULL upon out-of-memory.
76967         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76968         out-of-memory.
76969         (gl_tree_remove_node_from_tree): New function, extracted from
76970         gl_tree_remove_node.
76971         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76972         upon out-of-memory.
76973         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76974         out-of-memory.
76975         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76976         upon out-of-memory.
76977         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76978         upon out-of-memory.
76979         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76980         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
76981         gl_anytree_list1.h before gl_anyavltree_list2.h.
76982         (gl_avltree_list_implementation): Update.
76983         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
76984         gl_anytree_list1.h before gl_anyavltree_list2.h.
76985         (gl_rbtree_list_implementation): Update.
76986         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
76987         Change return type to 'int'. Return -1 upon out-of-memory. Use
76988         __builtin_expect.
76989         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
76990         (gl_avltreehash_list_implementation): Update.
76991         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
76992         (gl_rbtreehash_list_implementation): Update.
76993         * modules/array-list (Depends-on): Remove xalloc.
76994         * modules/carray-list (Depends-on): Likewise.
76995         * modules/linked-list (Depends-on): Likewise.
76996         * modules/linkedhash-list (Depends-on): Likewise.
76997         * modules/avltree-list (Depends-on): Likewise.
76998         * modules/rbtree-list (Depends-on): Likewise.
76999         * modules/avltreehash-list (Depends-on): Likewise.
77000         * modules/rbtreehash-list (Depends-on): Likewise.
77002         * modules/xsublist: New file.
77003         * lib/gl_xsublist.h: New file.
77004         * lib/gl_xsublist.c: New file.
77005         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
77006         (gl_sublist_nx_create): New declaration.
77007         * lib/gl_sublist.c: Don't include xalloc.h.
77008         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
77009         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
77010         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
77011         Change return type to 'int'. Return -1 upon out-of-memory.
77012         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
77013         upon out-of-memory.
77014         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
77015         NULL upon out-of-memory.
77016         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
77017         upon out-of-memory.
77018         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
77019         NULL upon out-of-memory.
77020         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
77021         NULL upon out-of-memory.
77022         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
77023         upon out-of-memory.
77024         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
77025         (gl_sublist_list_implementation): Update.
77026         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
77027         upon out-of-memory.
77028         * modules/sublist (Depends-on): Remove xalloc.
77030         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
77031         * tests/test-carray_list.c: Likewise.
77032         * tests/test-linked_list.c: Likewise.
77033         * tests/test-linkedhash_list.c: Likewise.
77034         * tests/test-avltree_list.c: Likewise.
77035         * tests/test-rbtree_list.c: Likewise.
77036         * tests/test-avltreehash_list.c: Likewise.
77037         * tests/test-rbtreehash_list.c: Likewise.
77038         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
77039         * modules/carray-list-tests (Makefile.am): Likewise.
77040         * modules/linked-list-tests (Makefile.am): Likewise.
77041         * modules/linkedhash-list-tests (Makefile.am): Likewise.
77042         * modules/avltree-list-tests (Makefile.am): Likewise.
77043         * modules/rbtree-list-tests (Makefile.am): Likewise.
77044         * modules/avltreehash-list-tests (Makefile.am): Likewise.
77045         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
77047         * NEWS: Mention the changes.
77049         * lib/clean-temp.c: Include gl_xlist.h.
77050         * modules/clean-temp (Depends-on): Add xlist.
77052         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
77053         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
77055         * tests/test-array_oset.c: Include gl_xlist.h.
77056         * modules/array-oset-tests (Depends-on): Add xlist.
77058         Reported by José E. Marchesi <jemarch@gnu.org>.
77060 2009-12-13  Bruno Haible  <bruno@clisp.org>
77062         Move the malloc checking from module 'oset' to new module 'xoset'.
77063         * modules/xoset: New file.
77064         * lib/gl_xoset.h: New file.
77065         * lib/gl_xoset.c: New file.
77066         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
77067         declarations.
77068         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
77069         (struct gl_oset_implementation): Rename and change methods accordingly.
77070         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
77071         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77072         'int'. Mark as __warn_unused_result__.
77073         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
77074         gl_oset_create_empty.
77075         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
77076         'int'.
77077         * lib/gl_array_oset.c: Don't include xalloc.h.
77078         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
77079         malloc, not xmalloc.
77080         (grow): Change return type to 'int'. Don't call xalloc_die.
77081         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
77082         to 'int'.
77083         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
77084         'int'.
77085         (gl_array_oset_implementation): Update.
77086         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
77087         gl_tree_create_empty.
77088         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
77089         'int'.
77090         * lib/gl_avltree_oset.c: Don't include xalloc.h.
77091         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77092         xmalloc.
77093         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77094         not xmalloc.
77095         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77096         xmalloc.
77097         (gl_avltree_oset_implementation): Update.
77098         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
77099         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
77100         xmalloc.
77101         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
77102         not xmalloc.
77103         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
77104         xmalloc.
77105         (gl_rbtree_oset_implementation): Update.
77106         * modules/array-oset (Depends-on): Remove xalloc.
77107         * modules/avltree-oset (Depends-on): Likewise.
77108         * modules/rbtree-oset (Depends-on): Likewise.
77109         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
77110         * tests/test-avltree_oset.c: Likewise.
77111         * tests/test-rbtree_oset.c: Likewise.
77112         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
77113         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
77114         * modules/rbtree-oset-tests (Makefile.am): Likewise.
77115         * NEWS: Mention the change.
77117 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
77119         maint.mk: allow a project to override release-prep commands
77120         * top/maint.mk (alpha, beta, stable): Move release-preparatory
77121         commands into a new rule.
77122         (release-prep): New rule.
77123         (release-prep-hook): New overridable variable.
77125 2009-12-13  Bruno Haible  <bruno@clisp.org>
77127         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
77129 2009-12-13  Jim Meyering  <meyering@redhat.com>
77131         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
77132         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
77134 2009-12-12  Bruno Haible  <bruno@clisp.org>
77136         duplocale: Tweak.
77137         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
77139 2009-12-12  Karl Berry  <karl@gnu.org>
77141         * config/srclist.txt (strtoll.c): tab changes, no more sync.
77143 2009-12-12  Bruno Haible  <bruno@clisp.org>
77145         * m4/po.m4: Undo incorrect untabification.
77147 2009-12-12  Bruno Haible  <bruno@clisp.org>
77149         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
77150         * modules/c-strtod (Depends-on): Add locale.
77151         * modules/c-strtold (Depends-on): Likewise.
77153 2009-12-12  Bruno Haible  <bruno@clisp.org>
77155         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
77157 2009-12-11  Eric Blake  <ebb9@byu.net>
77159         setenv: relax requirement in light of POSIX ruling
77160         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
77161         not NULL.
77162         * tests/test-setenv.c (main): Relax test.
77163         * tests/test-unsetenv.c (main): Likewise.
77164         * doc/posix-functions/setenv.texi (setenv): Document this.
77165         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77167 2009-12-11  Bruno Haible  <bruno@clisp.org>
77169         New module 'fd-safer-flag'.
77170         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
77171         * lib/dup-safer.c (dup_safer_flag): Remove function.
77172         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
77173         * lib/fd-safer.c (fd_safer_flag): Remove function.
77174         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
77175         * modules/cloexec (configure.ac): Drop indicator macro.
77176         * modules/fd-safer-flag: New file.
77177         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
77178         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
77179         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
77181 2009-12-11  Bruno Haible  <bruno@clisp.org>
77183         Tests for module 'nl_langinfo'.
77184         * modules/nl_langinfo-tests: New file.
77185         * tests/test-nl_langinfo.sh: New file.
77186         * tests/test-nl_langinfo.c: New file.
77188         New module 'nl_langinfo'.
77189         * lib/nl_langinfo.c: New file.
77190         * m4/nl_langinfo.m4: New file.
77191         * modules/nl_langinfo: New file.
77192         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
77194 2009-12-11  Bruno Haible  <bruno@clisp.org>
77196         Tests for module 'langinfo'.
77197         * modules/langinfo-tests: New file.
77198         * tests/test-langinfo.c: New file.
77200         New module 'langinfo'.
77201         * lib/langinfo.in.h: New file.
77202         * m4/langinfo_h.m4: New file.
77203         * modules/langinfo: New file.
77204         * doc/posix-headers/langinfo.texi: Mention the new module.
77206 2009-12-11  Bruno Haible  <bruno@clisp.org>
77208         * lib/config.charset: Untabify.
77210 2009-12-11  Bruno Haible  <bruno@clisp.org>
77212         * modules/unistd-safer (configure.ac): Drop indicator macro.
77214 2009-12-11  Bruno Haible  <bruno@clisp.org>
77216         Move pipe2-safer code to its own file.
77217         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
77218         * lib/pipe-safer.c (pipe2_safer): Remove function.
77219         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
77220         (Makefile.am): Add it to lib_SOURCES.
77222 2009-12-10  Bruno Haible  <bruno@clisp.org>
77224         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
77226 2009-12-10  Bruno Haible  <bruno@clisp.org>
77228         Declare which arguments expect non-NULL values, for GCC and clang.
77229         * build-aux/arg-nonnull.h: New file.
77230         * modules/arg-nonnull: New file.
77231         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
77232         (inet_ntop, inet_pton): Use it.
77233         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
77234         (closedir, dirfd, opendir, scandir, alphasort): Use it.
77235         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
77236         (open, openat): Use it.
77237         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
77238         (fnmatch): Use it.
77239         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
77240         (getopt, getopt_long, getopt_long_only): Use it.
77241         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
77242         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
77243         Use it.
77244         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
77245         (iconv_open): Use it.
77246         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
77247         (strtoimax, strtoumax): Use it.
77248         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
77249         (duplocale): Use it.
77250         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
77251         (frexp, frexpl): Use it.
77252         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
77253         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
77254         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
77255         (tsearch, tfind, tdelete, twalk): Use it.
77256         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
77257         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
77258         sigpending): Use it.
77259         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
77260         (posix_spawn, posix_spawnp, posix_spawnattr_init,
77261         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
77262         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
77263         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
77264         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
77265         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
77266         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
77267         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
77268         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
77269         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
77270         Use it.
77271         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
77272         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
77273         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
77274         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
77275         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
77276         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
77277         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
77278         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
77279         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
77280         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
77281         strtoull, unsetenv): Use it.
77282         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
77283         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
77284         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
77285         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
77286         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
77287         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
77288         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
77289         (strcasecmp, strncasecmp): Use it.
77290         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
77291         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
77292         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
77293         rpl_setsockopt): Use it.
77294         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
77295         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
77296         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
77297         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
77298         (gettimeofday): Use it.
77299         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
77300         (times): Use it.
77301         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
77302         (uname): Use it.
77303         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
77304         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
77305         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
77306         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
77307         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
77308         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
77309         unlinkat, write): Use it.
77310         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
77311         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
77312         * lib/argv-iter.h: Include arg-nonnull.h.
77313         (_ATTRIBUTE_NONNULL_): Remove macro.
77314         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
77315         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
77316         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
77317         optimization.
77318         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
77319         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
77320         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
77321         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
77322         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
77323         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
77324         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
77325         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
77326         * modules/arpa_inet (Depends-on): Add arg-nonnull.
77327         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
77328         * modules/dirent (Depends-on): Add arg-nonnull.
77329         (Makefile.am): Insert arg-nonnull.h into dirent.h.
77330         * modules/fcntl-h (Depends-on): Add arg-nonnull.
77331         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
77332         * modules/fnmatch (Depends-on): Add arg-nonnull.
77333         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
77334         * modules/getopt-posix (Depends-on): Add arg-nonnull.
77335         (Makefile.am): Insert arg-nonnull.h into getopt.h.
77336         * modules/glob (Depends-on): Add arg-nonnull.
77337         (Makefile.am): Insert arg-nonnull.h into glob.h.
77338         * modules/iconv_open (Depends-on): Add arg-nonnull.
77339         (Makefile.am): Insert arg-nonnull.h into iconv.h.
77340         * modules/inttypes (Depends-on): Add arg-nonnull.
77341         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
77342         * modules/locale (Depends-on): Add arg-nonnull.
77343         (Makefile.am): Insert arg-nonnull.h into locale.h.
77344         * modules/math (Depends-on): Add arg-nonnull.
77345         (Makefile.am): Insert arg-nonnull.h into math.h.
77346         * modules/netdb (Depends-on): Add arg-nonnull.
77347         (Makefile.am): Insert arg-nonnull.h into netdb.h.
77348         * modules/search (Depends-on): Add arg-nonnull.
77349         (Makefile.am): Insert arg-nonnull.h into search.h.
77350         * modules/signal (Depends-on): Add arg-nonnull.
77351         (Makefile.am): Insert arg-nonnull.h into signal.h.
77352         * modules/spawn (Depends-on): Add arg-nonnull.
77353         (Makefile.am): Insert arg-nonnull.h into spawn.h.
77354         * modules/stdio (Depends-on): Add arg-nonnull.
77355         (Makefile.am): Insert arg-nonnull.h into stdio.h.
77356         * modules/stdlib (Depends-on): Add arg-nonnull.
77357         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
77358         * modules/string (Depends-on): Add arg-nonnull.
77359         (Makefile.am): Insert arg-nonnull.h into string.h.
77360         * modules/strings (Depends-on): Add arg-nonnull.
77361         (Makefile.am): Insert arg-nonnull.h into strings.h.
77362         * modules/sys_socket (Depends-on): Add arg-nonnull.
77363         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
77364         * modules/sys_stat (Depends-on): Add arg-nonnull.
77365         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
77366         * modules/sys_time (Depends-on): Add arg-nonnull.
77367         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
77368         * modules/sys_times (Depends-on): Add arg-nonnull.
77369         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
77370         * modules/sys_utsname (Depends-on): Add arg-nonnull.
77371         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
77372         * modules/time (Depends-on): Add arg-nonnull.
77373         (Makefile.am): Insert arg-nonnull.h into time.h.
77374         * modules/unistd (Depends-on): Add arg-nonnull.
77375         (Makefile.am): Insert arg-nonnull.h into unistd.h.
77376         * modules/wchar (Depends-on): Add arg-nonnull.
77377         (Makefile.am): Insert arg-nonnull.h into wchar.h.
77378         * modules/argv-iter (Depends-on): Add arg-nonnull.
77379         * tests/test-canonicalize.c (null_ptr): New function.
77380         (main): Use it.
77381         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
77382         (main): Use it.
77383         * tests/test-memmem.c (null_ptr): New function.
77384         (main): Use it.
77385         Reported by Jim Meyering.
77387 2009-12-10  Bruno Haible  <bruno@clisp.org>
77389         Use spaces for indentation, not tabs.
77390         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
77391         * m4/*.m4: Untabify.
77392         * build-aux/*.h: Untabify.
77393         * tests/**/*.[hc]: Untabify.
77394         * README: New section "Indent with spaces, not TABs", based on
77395         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
77396         * NEWS: Mention the change.
77398 2009-12-10  Bruno Haible  <bruno@clisp.org>
77400         pty test: Fix link error.
77401         * modules/pty-tests (Makefile.am): Add the default LDADD value to
77402         test_pty_LDADD.
77404 2009-12-07  Simon Josefsson  <simon@josefsson.org>
77406         * modules/pty: New file.
77407         * modules/pty-tests: New file.
77408         * m4/pty.m4: New file.
77409         * tests/test-pty.c: New file.
77410         * doc/glibc-headers/pty.texi: Modified.
77411         * doc/glibc-functions/forkpty.texi: Modified.
77412         * doc/glibc-functions/openpty.texi: Modified.
77414 2009-12-10  Bruno Haible  <bruno@clisp.org>
77416         Avoid syntax error in C++ mode.
77417         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
77419 2009-12-10  Bruno Haible  <bruno@clisp.org>
77421         Use sed with option -e.
77422         * gnulib-tool (func_version, func_emit_copyright_notice,
77423         func_emit_initmacro_end, func_import, func_create_testdir): Pass
77424         option -e to sed.
77425         * modules/link-warning (Makefile.am): Likewise.
77427 2009-12-10  Jim Meyering  <meyering@redhat.com>
77429         mgetgroups: do not write bytes beyond end of malloc'd buffer
77430         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
77431         username, we call getgroups with a one-element-shorter buffer,
77432         but still told it the length was original, max_n_groups.
77434 2009-12-09  Eric Blake  <ebb9@byu.net>
77436         cloexec: relax license
77437         * modules/cloexec (Maintainer): Add myself.
77438         (License): Use LGPL, not GPL.
77440         link-warning: optimize generation
77441         * modules/link-warning (Makefile.am): Reduce process usage.
77443 2009-12-09  Bruno Haible  <bruno@clisp.org>
77445         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
77446         workaround was added on 2009-11-17.
77448 2009-12-09  Jim Meyering  <meyering@redhat.com>
77449             Bruno Haible  <bruno@clisp.org>
77451         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
77452         * modules/link-warning (Makefile.am): Make the comment-removing sed
77453         command more robust in the face of bootstrap-prepended comment lines.
77455 2009-12-09  Bruno Haible  <bruno@clisp.org>
77457         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
77458         most one group.
77460 2009-12-09  Simon Josefsson  <simon@josefsson.org>
77461             Bruno Haible  <bruno@clisp.org>
77463         * build-aux/link-warning.h: Add copyright notice.
77464         * modules/link-warning (Makefile.am): Generate link-warning.h from
77465         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
77466         * NEWS: Mention change in link-warning module.
77467         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
77468         * modules/dirent (Makefile.am): Add dependency to dirent.h.
77469         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
77470         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
77471         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
77472         * modules/math (Makefile.am): Add dependency to math.h.
77473         * modules/search (Makefile.am): Add dependency to search.h.
77474         * modules/signal (Makefile.am): Add dependency to signal.h.
77475         * modules/spawn (Makefile.am): Add dependency to spawn.h.
77476         * modules/stdio (Makefile.am): Add dependency to stdio.h.
77477         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
77478         * modules/string (Makefile.am): Add dependency to string.h.
77479         * modules/strings (Makefile.am): Add dependency to strings.h.
77480         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
77481         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
77482         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
77483         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
77484         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
77485         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
77486         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
77487         * modules/unistd (Makefile.am): Add dependency to unistd.h.
77488         * modules/wchar (Makefile.am): Add dependency to wchar.h.
77490 2009-12-09  Bruno Haible  <bruno@clisp.org>
77492         fchdir: Optimize away rpl_fstat when possible.
77493         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
77494         REPLACE_OPEN_DIRECTORY.
77495         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
77497 2009-12-09  Bruno Haible  <bruno@clisp.org>
77499         * lib/fchdir.c: Update comment.
77501 2009-12-09  Bruno Haible  <bruno@clisp.org>
77503         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
77505 2009-12-08  Eric Blake  <ebb9@byu.net>
77507         fchdir: avoid memory leak on re-registration.
77508         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
77510 2009-12-08  Jim Meyering  <meyering@redhat.com>
77512         init.sh: avoid Solaris 10 /bin/sh portability problem
77513         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
77514         sourced script:
77515           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
77516           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
77517           bar
77518         tests/init.sh relied on that, accepting a --set-path=DIR argument,
77519         and two tests used that idiom.
77520         * tests/init.sh: Update suggested usage comments.
77521         (path_prepend_): New function, to be used in place
77522         of the --src-path=DIR option.
77523         (setup_): Move PATH-prepending code into path_prepend_.
77524         * tests/test-pread.sh: Adapt to new usage.
77525         * tests/test-xalloc-die.sh: Likewise.
77527 2009-12-08  Simon Josefsson  <simon@josefsson.org>
77529         * doc/gnulib.texi (Glibc pty.h): Add.
77530         * doc/glibc-functions/forkpty.texi: Add.
77531         * doc/glibc-functions/openpty.texi: Add.
77532         Suggested by Bruno Haible.
77534 2009-12-08  Eric Blake  <ebb9@byu.net>
77536         fchdir: fix logic bugs
77537         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
77538         * tests/test-fchdir.c (main): Enhance test.
77539         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
77540         is in use.
77542         dup2: fix logic bugs
77543         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
77544         REPLACE_DUP2 to decide when rpl_dup2 is needed.
77545         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
77546         exists.
77547         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
77549 2009-12-07  Eric Blake  <ebb9@byu.net>
77551         unlink: fix m4 detection
77552         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
77554         unistd-safer: add unit test
77555         * modules/unistd-safer-tests: New file.
77556         * tests/test-dup-safer.c: Likewise.
77557         * tests/test-cloexec.c (setmode): Avoid compiler warning.
77558         * tests/test-dup2.c (setmode): Likewise.
77559         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
77561         cloexec: preserve text vs. binary across dup_cloexec
77562         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
77563         mode.
77564         * modules/dup2-tests (Depends-on): Add binary-io.
77565         * modules/cloexec-tests (Depends-on): Likewise.
77566         * tests/test-dup2.c (setmode, is_mode): New helpers.
77567         (main): Add tests that translation mode is preserved.
77568         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
77569         Reported by Bruno Haible.
77571         mgetgroups: reduce duplicate listings
77572         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
77573         resulting array.
77574         * tests/test-chown.h (test_chown): Simplify client.
77575         * tests/test-lchown.h (test_lchown): Likewise.
77577 2009-12-06  Bruno Haible  <bruno@clisp.org>
77579         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
77580         value.
77582 2009-12-06  Bruno Haible  <bruno@clisp.org>
77584         * lib/progname.c: Include stdio.h, stdlib.h.
77585         (set_program_name): Reject a NULL argument.
77587 2009-12-05  Eric Blake  <ebb9@byu.net>
77589         pipe2-safer: new module
77590         * modules/pipe2-safer: New file.
77591         * lib/unistd-safer.h (pipe2_safer): New prototype.
77592         * lib/unistd--.h (pipe2): New wrapper.
77593         * lib/pipe-safer.c (pipe2_safer): New function.
77594         * modules/pipe (Depends-on): Add pipe2-safer.
77595         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
77597         stdlib-safer: preserve cloexec flag for mkostemp[s]
77598         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
77599         fd_safer_flag.
77601         unistd-safer: allow preservation of cloexec status via flag
77602         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
77603         prototypes.
77604         * lib/dup-safer.c (dup_safer_flag): New function.
77605         * lib/fd-safer.c (fd_safer_flag): Likewise.
77606         * modules/cloexec (configure.ac): Set witness.
77608         test-dup2: enhance test
77609         * modules/dup2-tests (Depends-on): Add cloexec.
77610         * tests/test-dup2.c (main): Enhance test.
77612         cloexec: add dup_cloexec
77613         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
77614         header and comments.
77615         * lib/cloexec.c (set_cloexec_flag): Add comments.
77616         (dup_cloexec): New function, with mingw implementation borrowed
77617         from...
77618         * lib/w32spawn.h (dup_noinherit): ...here.
77619         * modules/execute (Depends-on): Add cloexec.
77620         * modules/pipe (Depends-on): Likewise.
77621         * modules/cloexec (Depends-on): Add dup2.
77622         * modules/cloexec-tests (Files): New file.
77623         * tests/test-cloexec.c: Likewise.
77625         test-xalloc-die: fix test for mingw
77626         * modules/xalloc-die-tests (Files): Add tests/init.sh.
77627         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
77628         directory and .exe suffix off argv[0] output.
77630         test-fseeko: fix test for mingw
77631         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
77632         than undefining fseek, so test will pass on mingw.
77634 2009-12-05  Bruno Haible  <bruno@clisp.org>
77636         * lib/progname.h (set_program_name): Clarify specification.
77637         * lib/progname.c (set_program_name): Likewise.
77638         Reported by Jim Meyering.
77640 2009-12-05  Jim Meyering  <meyering@redhat.com>
77642         maint.mk: backslash-escape parens in default regexp
77643         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
77644         backslash-escape the literal parentheses.
77646         maint.mk: news-date-check: use grep -E
77647         * top/maint.mk (today): Define a Make variable, not a...
77648         (news-date-check): ...shell variable.
77649         (news-date-regexp): Use the Make variable.
77650         Use grep's -E option.  Change the failing diagnostic to mention
77651         the variable, $(news-date-regexp).
77653 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
77655         maintainer-makefile: allow customization of NEWS entry format
77656         * top/maint.mk (news-date-regexp): New overridable variable.
77657         (news-date-check): Use it.
77659 2009-12-04  Eric Blake  <ebb9@byu.net>
77661         mgetgroups: add xgetgroups, and avoid ENOSYS failures
77662         * lib/mgetgroups.h (xgetgroups): New prototype.
77663         * lib/mgetgroups.c (xgetgroups): New wrapper.
77664         (mgetgroups): Handle ENOSYS.
77665         * modules/mgetgroups (Depends-on): Add realloc.
77666         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
77668         mgetgroups: avoid argument promotion issues with -1
77669         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
77670         for invalid gid_t.
77671         * tests/test-chown.h (getegid, test_chown): Likewise.
77672         * tests/test-lchown.h (getegid, test_lchown): Likewise.
77674 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
77676         exclude: Fix header file problems.
77677         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
77679 2009-12-01  Jim Meyering  <meyering@redhat.com>
77681         fts: fts_open: do not let an empty string cause immediate failure
77682         This is required in support of GNU rm, for which the command
77683         "rm A '' B" must process and remove both A and B, in spite of
77684         the empty string argument.
77685         * lib/fts.c (fts_open): Do not let the presence of an empty string
77686         cause fts_open to fail immediately.  Most fts-using tools must be
77687         able to process all arguments, in order, and can be expected to
77688         diagnose such arguments themselves.
77690 2009-11-30  Eric Blake  <ebb9@byu.net>
77692         utimens: fix compilation error
77693         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
77694         Declare variable at right scope.
77696 2009-11-29  Jim Meyering  <meyering@redhat.com>
77698         bootstrap: handle perl-5.11's changed --version output
77699         * build-aux/bootstrap (get_version): Handle perl separately,
77700         since perl-5.11's --version output is different.
77702 2009-11-28  Jim Meyering  <meyering@redhat.com>
77704         userspec: depend on the inttostr module, too
77705         * modules/userspec (Depends-on): Add inttostr.
77707         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
77708         * lib/userspec.c (parse_with_separator): Do not accept a user ID
77709         number of MAXUID when it evaluates to (uid_t) -1.
77710         Likewise for group ID.  Reported by Matt McCutchen in
77711         <http://savannah.gnu.org/bugs/?28113>
77713         userspec: reformat to use spaces, not TABs
77714         * lib/userspec.c: Expand TABs to spaces.
77715         Add Emacs' "indent-tabs-mode: nil" hint.
77717 2009-11-27  Eric Blake  <ebb9@byu.net>
77719         getopt-gnu: flush out another BSD bug
77720         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
77721         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
77722         flush out BSD bug.
77723         * tests/test-getopt.h (test_getopt): End lists with NULL.
77724         * tests/test-getopt_long.h (test_getopt_long): Likewise.
77725         (test_getopt_long_posix): Enhance test.
77726         * modules/getopt-posix-tests (Depends-on): Add stdbool.
77727         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
77728         getopt-gnu.
77729         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77730         Likewise.
77732 2009-11-27  Simon Josefsson  <simon@josefsson.org>
77734         * modules/idpriv-droptemp-tests (Notice): Fix text.
77736 2009-11-27  Jim Meyering  <meyering@redhat.com>
77738         test-xalloc-die: avoid spurious failure due to libtool argv difference
77739         In a libtool-enabled project, this test would fail due to a difference
77740         in the emitted program name, e.g.,
77741         -test-xalloc-die: memory exhausted
77742         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
77743         Use program to avoid that.
77744         * modules/xalloc-die-tests (Depends-on): Add progname.
77745         * tests/test-xalloc-die.c: Include progname.h".
77746         (program_name): Remove decl.
77747         (main): Call set_program_name.
77748         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
77750 2009-11-26  Richard Jones  <rjones@redhat.com>
77752         w32sock: leave win32 error in place.
77753         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
77755 2009-11-26  Eric Blake  <ebb9@byu.net>
77757         init.sh: suggest to use skip_ and fail_ functions in comments
77758         * tests/init.sh: Add a sentence.
77760 2009-11-25  Bruno Haible  <bruno@clisp.org>
77762         init.sh: add documentation in comments
77763         * tests/init.sh: Add some developer and user documentation.
77765 2009-11-26  Jim Meyering  <meyering@redhat.com>
77767         init.sh: accommodate even those who specify bogus srcdir manually
77768         * tests/init.sh: Normally, srcdir is guaranteed by automake and
77769         configure-time tests to be sanitized, so that there is no need to
77770         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
77771         (with no double quotes) suffices.  However, since tests may be
77772         invoked manually, and since you may explicitly set srcdir to the
77773         name of a directory containing spaces, do quote its uses here.
77774         * tests/test-pread.sh: Likewise.
77775         Suggested by Bruno Haible.
77777         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
77778         * tests/test-pread.sh: Write no data into the pipe, because
77779         test-pread actually reads none.  This avoids a diagnostic,
77780         "bash: echo: write error: Broken pipe", that arises in the unusual
77781         event something is ignoring SIGPIPE, and might be interpreted
77782         as some sort of failure.  Reported by Bruno Haible.
77784 2009-11-25  Jim Meyering  <meyering@redhat.com>
77786         test-pread: cover failure with ESPIPE and EINVAL
77787         * tests/test-pread.c (main): Test for failure, too.
77788         * tests/test-pread.sh: Invoke with stdin on a pipe.
77789         Suggested by Eric Blake.
77791         pread: improvement and fix
77792         * modules/pread (Depends-on): Depend on lseek, for portability to
77793         e.g., mingw.  Suggested by Eric Blake.
77794         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
77796         unistd.in.h: correct declaration of pread
77797         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
77798         Reported by Richard W.M. Jones.
77800         test-pread.sh: distribute the test script
77801         * modules/pread-tests (Files): Include test-pread.sh.
77803         test-pread.sh: clean up
77804         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
77805         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
77806         That is unnecessary, since it's always ".".
77807         Suggestion from Eric Blake.
77809         test-pread.sh: make executable
77810         * tests/test-pread.sh: Set executable bit.
77811         Reported by Eric Blake.
77813         correct typo in test-pread.sh
77814         * tests/test-pread.sh: Add #! line.
77816         test pread
77817         * tests/test-pread.c: New file.
77818         * tests/test-pread.sh: Likewise.
77819         * modules/pread-tests: Likewise.
77821         pread: new module
77822         * modules/pread: New file.
77823         * lib/unistd.in.h (pread): Define/declare.
77824         * lib/pread.c (pread): New file.
77825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
77826         * modules/unistd (Makefile.am): Substitute witnesses.
77827         * doc/posix-functions/pread.texi (pread): Update.
77828         * MODULES.html.sh: Add pread.
77830 2009-11-25  Jim Meyering  <meyering@redhat.com>
77832         tests/init.sh: new file to be used via most *.sh tests
77833         * tests/init.sh: New file.
77835 2009-11-25  Eric Blake  <ebb9@byu.net>
77837         utimens: work around older Linux failure with symlinks
77838         * lib/utimens.c (lutimensat_works_really): New variable.
77839         (fdutimens, lutimens): Use it to manage kernels that support
77840         nanosecond times on files, but not on symlinks.
77841         Reported by Ondřej Vašík.
77843         utimes: fix configure grammar
77844         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
77846 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
77848         regex: Fix fastmap for multibyte character ranges.
77849         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
77850         characters when a multibyte character range is included.
77852 2009-11-22  Andy Wingo  <wingo@pobox.com>
77854         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
77855         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
77857 2009-11-24  Bruno Haible  <bruno@clisp.org>
77859         doc: Most *_l functions exist in MacOS X 10.5.
77860         * doc/posix-functions/duplocale.texi: Update platforms list.
77861         * doc/posix-functions/freelocale.texi: Likewise.
77862         * doc/posix-functions/newlocale.texi: Likewise.
77863         * doc/posix-functions/uselocale.texi: Likewise.
77864         * doc/posix-functions/isalnum_l.texi: Likewise.
77865         * doc/posix-functions/isalpha_l.texi: Likewise.
77866         * doc/posix-functions/isblank_l.texi: Likewise.
77867         * doc/posix-functions/iscntrl_l.texi: Likewise.
77868         * doc/posix-functions/isdigit_l.texi: Likewise.
77869         * doc/posix-functions/isgraph_l.texi: Likewise.
77870         * doc/posix-functions/islower_l.texi: Likewise.
77871         * doc/posix-functions/isprint_l.texi: Likewise.
77872         * doc/posix-functions/ispunct_l.texi: Likewise.
77873         * doc/posix-functions/isspace_l.texi: Likewise.
77874         * doc/posix-functions/isupper_l.texi: Likewise.
77875         * doc/posix-functions/iswalnum_l.texi: Likewise.
77876         * doc/posix-functions/iswalpha_l.texi: Likewise.
77877         * doc/posix-functions/iswblank_l.texi: Likewise.
77878         * doc/posix-functions/iswcntrl_l.texi: Likewise.
77879         * doc/posix-functions/iswctype_l.texi: Likewise.
77880         * doc/posix-functions/iswdigit_l.texi: Likewise.
77881         * doc/posix-functions/iswgraph_l.texi: Likewise.
77882         * doc/posix-functions/iswlower_l.texi: Likewise.
77883         * doc/posix-functions/iswprint_l.texi: Likewise.
77884         * doc/posix-functions/iswpunct_l.texi: Likewise.
77885         * doc/posix-functions/iswspace_l.texi: Likewise.
77886         * doc/posix-functions/iswupper_l.texi: Likewise.
77887         * doc/posix-functions/iswxdigit_l.texi: Likewise.
77888         * doc/posix-functions/isxdigit_l.texi: Likewise.
77889         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
77890         * doc/posix-functions/strcasecmp_l.texi: Likewise.
77891         * doc/posix-functions/strcoll_l.texi: Likewise.
77892         * doc/posix-functions/strfmon_l.texi: Likewise.
77893         * doc/posix-functions/strftime_l.texi: Likewise.
77894         * doc/posix-functions/strncasecmp_l.texi: Likewise.
77895         * doc/posix-functions/strxfrm_l.texi: Likewise.
77896         * doc/posix-functions/tolower_l.texi: Likewise.
77897         * doc/posix-functions/toupper_l.texi: Likewise.
77898         * doc/posix-functions/towctrans_l.texi: Likewise.
77899         * doc/posix-functions/towlower_l.texi: Likewise.
77900         * doc/posix-functions/towupper_l.texi: Likewise.
77901         * doc/posix-functions/wcscoll_l.texi: Likewise.
77902         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
77903         * doc/posix-functions/wctrans_l.texi: Likewise.
77904         * doc/posix-functions/wctype_l.texi: Likewise.
77905         * doc/glibc-functions/strptime_l.texi: Likewise.
77906         * doc/glibc-functions/strtod_l.texi: Likewise.
77907         * doc/glibc-functions/strtof_l.texi: Likewise.
77908         * doc/glibc-functions/strtol_l.texi: Likewise.
77909         * doc/glibc-functions/strtold_l.texi: Likewise.
77910         * doc/glibc-functions/strtoll_l.texi: Likewise.
77911         * doc/glibc-functions/strtoul_l.texi: Likewise.
77912         * doc/glibc-functions/strtoull_l.texi: Likewise.
77913         * doc/glibc-functions/wcsftime_l.texi: Likewise.
77914         * doc/glibc-functions/wcstod_l.texi: Likewise.
77915         * doc/glibc-functions/wcstof_l.texi: Likewise.
77916         * doc/glibc-functions/wcstol_l.texi: Likewise.
77917         * doc/glibc-functions/wcstold_l.texi: Likewise.
77918         * doc/glibc-functions/wcstoll_l.texi: Likewise.
77919         * doc/glibc-functions/wcstoul_l.texi: Likewise.
77920         * doc/glibc-functions/wcstoull_l.texi: Likewise.
77922 2009-11-24  Bruno Haible  <bruno@clisp.org>
77924         duplocale: Fix logic bug.
77925         * lib/duplocale.c: Don't include <langinfo.h>.
77926         (_NL_LOCALE_NAME): Remove macro.
77927         (rpl_duplocale): Use setlocale instead of nl_langinfo.
77928         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
77930 2009-11-23  Jim Meyering  <meyering@redhat.com>
77932         test-update-copyright: don't hard-code /usr/bin/perl
77933         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
77934         perl to print the current year.  Gilles Espinasse reported that
77935         the replaced use of perl was hard-coded as /usr/bin/perl.
77937 2009-11-23  Bruno Haible  <bruno@clisp.org>
77939         duplocale: Add support for glibc 2.3.x.
77940         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
77942 2009-11-22  Bruno Haible  <bruno@clisp.org>
77944         vasnprintf: Tiny optimization.
77945         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
77946         MacOS X.
77948 2009-11-22  Bruno Haible  <bruno@clisp.org>
77950         Tests for module 'duplocale'.
77951         * modules/duplocale-tests: New file.
77952         * tests/test-duplocale.c: New file.
77954         New module 'duplocale'.
77955         * m4/duplocale.m4: New file.
77956         * lib/locale.in.h (duplocale): New declaration.
77957         * lib/duplocale.c: New file.
77958         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
77959         gl_LOCALE_H_DEFAULTS): New macros.
77960         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
77961         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
77962         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
77963         REPLACE_DUPLOCALE.
77964         * modules/duplocale: New file.
77965         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
77967 2009-11-22  Bruno Haible  <bruno@clisp.org>
77969         * modules/locale-tests (configure.ac): Test for newlocale function.
77970         * tests/test-locale.c: When the system has extended locale functions,
77971         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
77973         locale: Make locale_t available when possible.
77974         * lib/locale.in.h: Include <xlocale.h> when it exists.
77975         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
77976         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
77977         * modules/locale (Depends-on): Add extensions.
77978         (Makefile.am): Also substitute HAVE_XLOCALE_H.
77979         * doc/posix-headers/locale.texi: Document the problem with locale_t.
77981 2009-11-22  Bruno Haible  <bruno@clisp.org>
77983         Add comments.
77984         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
77985         invocation.
77986         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
77987         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
77988         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
77990 2009-11-22  Bruno Haible  <bruno@clisp.org>
77992         error: account for the possibility of freopen (stdout).
77993         * lib/error.c: Include <unistd.h>.
77994         (flush_stdout): New function, extracted from error and error_at_line.
77995         Determine stdout's fd dynamically.
77996         (error, error_at_line): Invoke flush_stdout.
77997         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
77998         * modules/error (Depends-on): Add unistd.
78000 2009-11-22  Bruno Haible  <bruno@clisp.org>
78002         diffseq: Add comment.
78003         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
78005 2009-11-22  Jim Meyering  <meyering@redhat.com>
78007         c-stack: avoid defining an unused static function
78008         * lib/c-stack.c (find_stack_direction): Do not define this function
78009         when it will not be used.
78011         diffseq: avoid spurious gcc warnings
78012         * lib/diffseq.h (IF_LINT2): Define.
78013         (compareseq): Use it to initialize two members of "part".
78014         This avoids two used-uninitialized warnings.
78016 2009-11-21  Jim Meyering  <meyering@redhat.com>
78018         c-stack: avoid "ignoring return value of `write'" warning
78019         * lib/c-stack.c: Include "ignore-value.h".
78020         (die): Explicitly ignore each write return value.
78021         * modules/c-stack (Depends-on): Add ignore-value.
78023 2009-11-21  Bruno Haible  <bruno@clisp.org>
78025         diffseq: reduce scope of variable 'best'.
78026         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
78027         variable, earlier used for two different purposes.
78029 2009-11-21  Jim Meyering  <meyering@redhat.com>
78031         diffseq: remove useless assignment to "best"
78032         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
78033         assignment.  At that point "best" is already guaranteed to be zero.
78035 2009-11-20  Eric Blake  <ebb9@byu.net>
78037         build: mention ftp redirector in release announcements
78038         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
78039         values that used to come from cfg.mk; mention FTP redirect URL.
78040         * build-aux/announce-gen: Mention the mirror list.
78041         Suggested by Karl Berry.
78043         nanosleep: improve port to mingw
78044         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
78045         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
78046         LIB_NANOSLEEP, but only when needed.
78047         * modules/select (Link): Document LIBSOCKET.
78048         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
78049         enough.
78051         nanosleep: work around cygwin bug
78052         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
78053         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
78054         bug.
78055         (getnow): Delete, not needed.
78056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
78057         LIB_CLOCK_GETTIME.
78058         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
78059         clock-time, gettime.
78060         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
78061         bug.
78062         * modules/nanosleep-tests: New test.
78063         * tests/test-nanosleep.c: New file.
78065         sleep: work around cygwin bug
78066         * lib/sleep.c (rpl_sleep): Work around the bug.
78067         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
78068         (gl_PREREQ_SLEEP): Delete unused macro.
78069         * modules/sleep (Depends-on): Add verify.
78070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78071         * modules/unistd (Makefile.am): Substitute witness.
78072         * lib/unistd.in.h (sleep): Update prototype.
78073         * doc/posix-functions/sleep.texi (sleep): Document the bug.
78074         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
78075         * modules/sleep-tests (Depends-on): Check for alarm.
78077 2009-11-20  Jim Meyering  <meyering@redhat.com>
78079         maint.mk: improve sc_prohibit_magic_number_exit
78080         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
78081         so it does not match uses like System.exit(1).
78082         Add comments showing how to correct all offenders.
78084 2009-11-19  Eric Blake  <ebb9@byu.net>
78086         xalloc-die-tests: add missing library
78087         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
78089         test-xvasprintf: silence compiler warnings
78090         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
78091         empty string from gcc.
78093 2009-11-19  Jim Meyering  <meyering@redhat.com>
78095         xfreopen: new module, from coreutils
78096         * modules/xfreopen: New module.
78097         * lib/xfreopen.c: New file.
78098         * lib/xfreopen.h: New file.
78099         * MODULES.html.sh (File stream based Input/Output"): Add it.
78101 2009-11-19  Eric Blake  <ebb9@byu.net>
78103         manywarnings: depend on warnings
78104         * modules/manywarnings (Depends-on): Add warnings.
78106         build: avoid compiler warnings
78107         * lib/select.c (rpl_select): Delete unused variable.
78108         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
78110 2009-11-18  Eric Blake  <ebb9@byu.net>
78112         tests: avoid false negative with --with-packager
78113         * tests/test-version-etc.sh: Discard packager information.
78114         * tests/test-argp-version-etc-1.sh: Likewise.
78115         Reported by Mike Frysinger.
78117         utimens: fix regression on Solaris
78118         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
78119         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
78120         can only change fd timestamps via futimesat.  Instead, use an
78121         additional witness macro to avoid BSD bug.
78122         Reported by Jim Meyering.
78124 2009-11-17  Eric Blake  <ebb9@byu.net>
78126         usleep: use it to simplify tests
78127         * modules/stat-time-tests (Depends-on): Add usleep.
78128         (configure.ac): Drop usleep check.
78129         * modules/chown-tests (Depends-on, configure.ac): Likewise.
78130         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
78131         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
78132         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
78133         * modules/openat-tests (Depends-on, configure.ac): Likewise.
78134         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
78135         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
78136         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
78137         Likewise.
78138         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
78139         * tests/test-lchown.h (nap): Likewise.
78140         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
78141         * tests/test-stat-time.c (nap): Likewise.
78142         * tests/test-utimens-common.h (nap): Update comments.
78144         usleep: new module
78145         * modules/usleep: New file.
78146         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
78147         * lib/usleep.c (usleep): Likewise.
78148         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
78149         * modules/unistd (Makefile.am): Substitute witnesses.
78150         * lib/unistd.in.h (usleep): Add declaration.
78151         * doc/pastposix-functions/usleep.texi (usleep): Document this.
78152         * MODULES.html.sh (Date and time): Likewise.
78153         * modules/usleep-tests (Depends-on): New test.
78154         * tests/test-usleep.c: New file.
78156         chown: work around OpenBSD bug
78157         * lib/chown.c (rpl_chown): Work around the bug.
78158         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
78159         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
78160         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
78161         * modules/chown (Depends-on): Add stdbool.
78162         * modules/lchown (Depends-on): Likewise.
78163         * doc/posix-functions/chown.texi (chown): Document the bug.
78164         * doc/posix-functions/lchown.texi (lchown): Likewise.
78165         * tests/test-lchown.h (test_chown): Relax test.
78167         mkstemp: avoid conflict with C++ keyword template
78168         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
78169         * lib/mkostemp.c (mkostemp): Likewise.
78170         * lib/mkostemps.c (mkostemps): Likewise.
78171         * lib/mkstemp.c (mkstemp): Likewise.
78172         * lib/mkstemps.c (mkstemps): Likewise.
78174         xalloc-die-tests: optimize
78175         * tests/test-xalloc-die.sh: Reduce number of processes.
78177 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78179         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
78180         patch from ludo@gnu.org (Ludovic Courtès).
78182 2009-11-17  Jim Meyering  <meyering@redhat.com>
78184         version-etc: use proper license string
78185         * modules/version-etc (License): Use LGPL, not LGPLv3+.
78186         * modules/version-etc-fsf: Likewise.
78188 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78190         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
78191         printed to stdout.  Deal with EOL differences.
78193 2009-11-17  Eric Blake  <ebb9@byu.net>
78195         unsetenv: work around Solaris bug
78196         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
78197         * lib/unsetenv.c (rpl_unsetenv): Work around it.
78198         Reported by Jim Meyering.
78200         vasnprintf: avoid compiler warnings
78201         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
78202         variables.
78203         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
78205 2009-11-17  Simon Josefsson  <simon@josefsson.org>
78207         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
78208         settings since xalloc-die is no longer the self test,
78209         xalloc-die.sh is.
78211 2009-11-17  Jim Meyering  <meyering@redhat.com>
78213         test-xalloc-die.sh: make the code agree with the commit log
78214         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
78215         at the end, just in case you happen to have a test-xalloc-die
78216         program in some other PATH directory.
78218         test-xalloc-die.sh: fix a portability bug
78219         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
78220         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
78221         Otherwise, argv[0] (as often seen in diagnostics) would be too
78222         system-dependent, sometimes with, and sometimes without the leading "./".
78224         version-etc-fsf: relax license to LGPLv3+
78225         * modules/version-etc-fsf (License): Relax license.
78227 2009-11-16  Eric Blake  <ebb9@byu.net>
78229         xalloc-die-tests: avoid printing null pointer
78230         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
78231         shell script.
78232         * tests/test-xalloc-die.c (program_name): Declare.
78233         * tests/test-xalloc-die.sh (tmpfiles): New file.
78235         setenv, unsetenv: work around various bugs
78236         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
78237         (setenv) [HAVE_SETENV]: Work around bugs.
78238         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
78239         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
78240         for bugs.
78241         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
78242         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
78243         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
78244         * modules/stdlib (Makefile.am): Update substitutions.
78245         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
78246         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
78247         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
78248         * modules/setenv-tests: New test.
78249         * modules/unsetenv-tests: Likewise.
78250         * tests/test-setenv.c: New file.
78251         * tests/test-unsetenv.c: Likewise.
78253 2009-11-16  Jim Meyering  <meyering@redhat.com>
78255         version-etc: relax license to LGPLv3+
78256         * modules/version-etc (License): Relax license.
78258         better AC_REQUIRE expanded-before-required-warning avoidance
78259         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
78260         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
78261         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
78262         which is no longer needed.
78264 2009-11-16  Eric Blake  <ebb9@byu.net>
78266         test-freading: clean up temporary file
78267         * tests/test-freading.c (main): Remove file on success, and use
78268         ASSERT more liberally.
78269         Reported by Jim Meyering.
78271 2009-11-16  Jim Meyering  <meyering@redhat.com>
78273         avoid new AC_REQUIRE expanded-before-required warnings
78274         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
78275         merely using it.
78276         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
78277         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
78279 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78281         * tests/test-xalloc-die.c: New file.
78282         * modules/xalloc-die-tests: New file.
78283         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
78284         XFAIL_TESTS so it can be appended by modules.
78286 2009-11-15  Simon Josefsson  <simon@josefsson.org>
78288         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
78289         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
78291 2009-11-14  Eric Blake  <ebb9@byu.net>
78293         fnmatch: avoid compiler warning
78294         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
78295         to silence compiler warning about mismatch signedness in ?:.
78296         Reported by Robert Millan.
78298         intprops: add double-inclusion guard
78299         * lib/intprops.h: Allow idempotent includes.
78300         Suggested by Bruce Korb.
78302         openat: detect Solaris fchownat bug
78303         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
78304         penalizing glibc chownat when only lchownat is broken.
78305         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
78306         trailing slash bugs.
78307         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
78308         * modules/openat-tests (Files): Include more files.
78309         (Depends-on): Add mgetgroups, sleep, stat-time.
78310         (configure.ac): Add additional checks.
78311         (Makefile.am): Build new test.
78312         * tests/test-fchownat.c: New file.
78314         lchown: detect Solaris and FreeBSD bug
78315         * lib/lchown.c (rpl_lchown): Work around bug.
78316         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
78317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78318         * modules/unistd (Makefile.am): Populate it.
78319         * lib/unistd.in.h (lchown): Update declaration.
78320         * doc/posix-functions/lchown.texi (lchown): Document the bug.
78321         * modules/lchown-tests: New file.
78322         * tests/test-lchown.h (test_lchown): Likewise.
78323         * tests/test-lchown.c (main): Likewise.
78325         chown: detect Solaris and FreeBSD bug
78326         * lib/chown.c (rpl_chown): Work around bug.
78327         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
78328         (gl_PREREQ_CHOWN): Delete.
78329         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
78330         * modules/unistd (Makefile.am): Populate it.
78331         * lib/unistd.in.h (chown): Update declaration.
78332         * lib/lchown.c (chown): Update client.
78333         * modules/lchown (Depends-on): Add lstat.
78334         * doc/posix-functions/chown.texi (chown): Document the bug.
78335         * doc/posix-functions/getgroups.texi (getgroups): Document
78336         getgroups pitfall.
78337         * modules/chown-tests: New file.
78338         * tests/test-chown.h (test_chown): Likewise.
78339         * tests/test-chown.c (main): Likewise.
78341 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
78343         gnulib-tool: correctly detect absence of m4 directories
78344         * gnulib-tool: Avoid extra newline on data passed to wc -l.
78346 2009-11-14  Jim Meyering  <meyering@redhat.com>
78348         maint.mk: Prohibit inclusion of "xalloc.h" without use.
78349         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78351 2009-11-14  John W. Eaton  <jwe@gnu.org>
78353         strftime.h: wrap function declaration in extern "C" block
78354         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
78356 2009-11-13  Eric Blake  <ebb9@byu.net>
78358         getgroups: avoid compiler warning
78359         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
78361         getgroups: work around FreeBSD bug
78362         * lib/getgroups.c (rpl_getgroups): Work around the bug.
78363         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
78364         * doc/posix-functions/getgroups.texi (getgroups): Document it.
78365         * tests/test-getgroups.c (main): Fix buffer overrun.
78367         getgroups: avoid compilation failure
78368         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
78369         * modules/getgroups (Depends-on): Add stdint.
78371 2009-11-13  Jim Meyering  <meyering@redhat.com>
78373         test-getgroups: avoid compilation failure
78374         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
78376 2009-11-13  Eric Blake  <ebb9@byu.net>
78378         mgetgroups: new module, taken from coreutils
78379         * modules/mgetgroups: New file.
78380         * lib/mgetgroups.h: Likewise.
78381         * lib/mgetgroups.c (mgetgroups): Likewise.
78382         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
78383         * MODULES.html.sh (Users and groups): Mention it.
78385         getgroups: don't expose GETGROUPS_T to user
78386         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
78387         an element at a time if GETGROUPS_T is wrong size.
78388         * lib/getugroups.h (getugroups): Change signature.
78389         * lib/unistd.in.h (getgroups): Likewise.
78390         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
78391         signature needs fixing.
78392         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
78393         AC_TYPE_GETGROUPS.
78394         * modules/group-member (Depends-on): Add getgroups.
78395         * lib/group-member.c (group_info, get_group_info): Use gid_t.
78396         (group_member): Rely on getgroups replacement.
78397         * lib/getugroups.c (getugroups): Use gid_t.
78398         * tests/test-getgroups.c (main): Likewise.
78399         * NEWS: Mention the signature change.
78400         * doc/posix-functions/getgroups.texi (getgroups): Mention the
78401         problem with signature.
78402         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
78403         GETGROUPS_T is still useful for setgroups.
78405         getgroups, getugroups: provide stubs for mingw
78406         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
78407         * lib/getugroups.c (getugroups): Likewise.
78408         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
78409         function.  Modernize replacement scheme.
78410         (gl_PREREQ_GETGROUPS): Delete.
78411         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
78412         * modules/getgroups (configure.ac): Declare witness.
78413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
78414         * modules/unistd (Depends-on): Substitute witness.
78415         * lib/unistd.in.h (getgroups): Declare replacement.
78417         getgroups: avoid calling exit
78418         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
78419         drop xalloc.
78420         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
78421         dependencies.
78422         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
78423         exiting, in the rare case of malloc failure.
78425         getgroups: fix logic error
78426         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
78427         has more than 20 groups.
78428         * modules/getgroups-tests: New test.
78429         * tests/test-getgroups.c: New file.
78431 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78433         * tests/test-base64.c: Improve.
78435 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78437         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
78438         Blake <ebb9@byu.net>.
78440 2009-11-13  Simon Josefsson  <simon@josefsson.org>
78442         * tests/test-xvasprintf.c: Add %s%s related checks.
78444 2009-11-12  Eric Blake  <ebb9@byu.net>
78446         version-etc: match standards.texi style
78447         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
78448         and use <> only for URLs.
78450 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
78452         fts: do not fail on a submount during traversal
78453         * lib/fts.c (fts_build): Read the stat info again after opening
78454         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
78455         Original report at http://bugzilla.redhat.com/501848.
78457 2009-11-12  Jim Meyering  <meyering@redhat.com>
78459         bootstrap: sync from coreutils
78460         * build-aux/bootstrap (bootstrap_epilogue): New function.
78461         Use git_modules_config in one more place.  This make bootstrap's
78462         --gnulib-srcdir option more useful for testing.
78464         bootstrap: generalize autoheader check
78465         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
78466         AC_CONFIG_HEADERS.
78468 2009-11-11  Eric Blake  <ebb9@byu.net>
78470         mkfifoat: use new modules for Solaris and BSD bugs
78471         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
78472         * lib/mkfifoat.c (mknodat): Split...
78473         * lib/mknodat.c (mknodat): ...into new file.
78474         * modules/mkfifoat (Files): Ship new file.
78475         (Depends-on): Add mkfifo, mknod.
78476         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
78477         (Depends-on): Add symlink.
78478         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
78479         redundant with test_mkfifo.h.
78480         (do_mkfifoat, do_mknodat): New helpers.
78482         mknod: new module
78483         * modules/mknod: New file.
78484         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
78485         * lib/mknod.c (mknod): Likewise.
78486         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78487         defaults.
78488         * modules/sys_stat (Makefile.am): Substitute them.
78489         * lib/sys_stat.in.h (mknod): Declare replacement.
78490         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78491         Document it.
78492         * doc/posix-functions/mknod.texi (mknod): Likewise.
78493         * modules/mknod-tests: New test.
78494         * tests/test-mknod.c: Likewise.
78496         mkfifo: new module
78497         * modules/mkfifo: New file.
78498         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
78499         * lib/mkfifo.c (mkfifo): Likewise.
78500         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
78501         defaults.
78502         * modules/sys_stat (Makefile.am): Substitute them.
78503         * lib/sys_stat.in.h (mkfifo): Declare replacement.
78504         * MODULES.html.sh (Support for systems lacking POSIX:2008):
78505         Document it.
78506         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
78507         * modules/mkfifo-tests: New test.
78508         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
78509         from test-mkfifoat.c.
78510         * tests/test-mkfifo.c: New file.
78512         readlink: detect FreeBSD bug
78513         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
78514         slash on symlink.
78515         * doc/posix-functions/readlink.texi (readlink): Document the bug.
78516         * tests/test-readlink.h (test_readlink): Enhance test.
78518         symlink: detect FreeBSD bug
78519         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
78520         slash on symlink.
78521         * doc/posix-functions/symlink.texi (symlink): Document the bug.
78522         * tests/test-symlink.h (test_symlink): Enhance test.
78524 2009-11-10  Eric Blake  <ebb9@byu.net>
78526         link: detect FreeBSD bug
78527         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
78528         symlink.
78529         * doc/posix-functions/link.texi (link): Document the bug.
78530         * tests/test-link.h (test_link): Enhance test.
78531         * tests/test-linkat.c (main): Update caller.
78533         unlink, remove: detect FreeBSD bug
78534         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
78535         slash on symlink.
78536         * doc/posix-functions/unlink.texi (unlink): Document the bug.
78537         * doc/posix-functions/remove.texi (remove): Likewise.
78538         * tests/test-unlink.h (test_unlink): Enhance test.
78539         * tests/test-remove.c (main): Likewise.
78541 2009-11-09  Eric Blake  <ebb9@byu.net>
78543         rename: detect FreeBSD bug
78544         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
78545         slash on symlink.
78546         * modules/renameat-tests (Depends-on): Add filenamecat.
78547         * tests/test-rename.h (test_rename): Allow one more errno.
78548         * tests/test-renameat.c (main): Likewise.
78549         * doc/posix-functions/rename.texi (rename): Document the bug.
78551         open: detect FreeBSD bug
78552         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
78553         symlink.
78554         * doc/posix-functions/open.texi (open): Document the bug.
78555         * doc/posix-functions/utimes.texi (utimes): Likewise.
78556         * tests/test-open.h (test_open): Add parameters, and test symlink
78557         handling.
78558         * tests/test-open.c (main): Adjust caller.
78559         * tests/test-fcntl-safer.c (main): Likewise.
78560         * modules/open-tests (Depends-on): Add stdbool, symlink.
78561         * modules/fcntl-safer-tests (Depends-on): Likewise.
78562         * tests/test-openat.c (main): Add test-open tests.
78564         stat: detect FreeBSD bug
78565         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
78566         symlink.
78567         * doc/posix-functions/stat.texi (stat): Document the bug.
78568         * tests/test-stat.h (test_stat_func): Add argument.
78569         * tests/test-stat.c (main): Adjust caller.
78570         * tests/test-fstatat.c (main): Likewise.
78571         * modules/stat-tests (Depends-on): Add stdbool, symlink.
78572         Reported by Jim Meyering.
78574 2009-11-09  James Youngman  <jay@gnu.org>
78576         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
78577         * lib/strftime.c: Correct placement of #include "ignore-value.h".
78579 2009-11-08  Jim Meyering  <meyering@redhat.com>
78581         utimens: remove invalid futimesat call
78582         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
78583         It used the file descriptor of the target file as the DIR_FD
78584         parameter and NULL as the file name.  That caused failure with
78585         errno == EFAULT on FreeBSD-8.0-rc2
78587 2009-11-07  Eric Blake  <ebb9@byu.net>
78589         fflush, freadseek: use fseeko, not fseek
78590         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
78591         (clear_ungetc_buffer): Avoid potential problems on large files.
78592         * lib/freadseek.c (freadseek): Likewise.
78593         * modules/freadseek (Depends-on): Add fseeko.
78594         * modules/fseek (configure.ac): Set a witness.
78595         * tests/test-fflush.c (main): Use fseeko.
78596         * tests/test-fpurge.c (fseek): Disable link warning.
78597         * tests/test-freadable.c (fseek): Likewise.
78598         * tests/test-freading.c (fseek): Likewise.
78599         * tests/test-fseeko.c (fseek): Likewise.
78600         * tests/test-ftell.c (fseek): Likewise.
78601         * tests/test-ftello.c (fseek): Likewise.
78602         * tests/test-fwritable.c (fseek): Likewise.
78603         * tests/test-fwriting.c (fseek): Likewise.
78605 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78607         * modules/memchr (Depends-on): Drop getpagesize dependency.
78609 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78611         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
78612         Reported by Ludovic Courtès.
78613         * build-aux/pmccabe2html: Improve example usage.
78614         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
78616 2009-11-06  Jim Meyering  <meyering@redhat.com>
78618         do-release-commit-and-tag: New module.
78619         Automate the release-commit and tag process.
78620         * build-aux/do-release-commit-and-tag: New script, from coreutils.
78621         * modules/do-release-commit-and-tag: New file.
78622         * MODULES.html.sh (Support for maintaining and releasing): Add it.
78624 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78626         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
78627         because test-select.c uses inet_pton.
78629 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78631         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
78632         GETADDRINFO_LIB.  Bump serial number.
78633         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
78634         Suggested by Eric Blake <ebb9@byu.net>.
78636 2009-11-05  Eric Blake  <ebb9@byu.net>
78638         strtod: detect darwin bug
78639         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
78640         Reported by Leo Davis.
78642         freopen-safer: new module
78643         * modules/freopen-safer: New module.
78644         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
78645         * lib/freopen-safer.c (freopen_safer): New file.
78646         * lib/stdio-safer.h (freopen_safer): New declaration.
78647         * lib/stdio--.h (freopen): New override.
78648         * MODULES.html.sh (File stream based Input/Output): Mention it.
78649         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
78650         freopen-safer module.
78651         * doc/posix-functions/stderr.texi (stderr): Likewise.
78652         * doc/posix-functions/stdin.texi (stdin): Likewise.
78653         * doc/posix-functions/stdout.texi (stdout): Likewise.
78654         * modules/freopen-safer-tests: New test.
78655         * tests/test-reopen-safer.c: New file.
78657 2009-11-05  Jim Meyering  <meyering@redhat.com>
78659         maint.mk: Prohibit inclusion of "close-stream.h" without use.
78660         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78662 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78664         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
78666 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78668         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
78670 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78672         Fix link error.
78673         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78674         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78676 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78678         * tests/test-func.c: Also test value of __func__.
78680 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78682         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
78683         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
78685 2009-11-05  Bruno Haible  <bruno@clisp.org>
78687         Fix link error.
78688         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78689         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78690         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
78692 2009-11-05  Bruno Haible  <bruno@clisp.org>
78694         Tests for module 'inet_pton'.
78695         * modules/inet_pton-tests: New file.
78696         * tests/test-inet_pton.c: New file.
78698 2009-11-05  Bruno Haible  <bruno@clisp.org>
78700         Tests for module 'inet_ntop'.
78701         * modules/inet_ntop-tests: New file.
78702         * tests/test-inet_ntop.c: New file.
78704 2009-11-04  Eric Blake  <ebb9@byu.net>
78706         stdlib-safer: wrap all mkstemp variants
78707         * modules/mkostemp (configure.ac): Set witness.
78708         * modules/mkostemps (configure.ac): Likewise.
78709         * modules/mkstemps (configure.ac): Likewise.
78710         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
78711         (mkstemps_safer): Wrap more functions.
78712         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
78713         wrapping.
78714         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
78715         (mkstemps_safer): Implement the wrappers.
78717         mkstemps, mkostemps: new modules
78718         * modules/mkostemps: New module.
78719         * modules/mkstemps: Likewise.
78720         * lib/mkostemps.c (mkostemps): New file.
78721         * lib/mkstemps.c (mkstemps): Likewise.
78722         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
78723         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
78724         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
78725         * modules/stdlib (Makefile.am): Substitute them.
78726         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
78727         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
78728         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
78729         * doc/gnulib.texi (Glibc stdlib.h): Include them.
78730         * MODULES.html.sh (File system functions): Mention them.
78732         tempname: resync from glibc
78733         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
78734         same values for __GT_FILE as glibc.  Abort even when assertions
78735         are disabled.
78736         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
78737         match its value otherwise.  Allow idempotent inclusion.
78738         * lib/mkdtemp.c (mkdtemp): Adjust caller.
78739         * lib/mkostemp.c (mkostemp): Likewise.
78740         * lib/mkstemp.c (mkstemp): Likewise.
78741         * lib/tmpfile.c (tmpfile): Likewise.
78742         * NEWS: Document this.
78744         utimens: fix use of futimens on older Linux
78745         * lib/utimens.c (fdutimens): Use updated, rather than original,
78746         timespec to avoid bug in older Linux kernel.
78747         Reported by Simon Josefsson.
78749 2009-11-04  Bruno Haible  <bruno@clisp.org>
78751         Make num_processors more flexible and consistent.
78752         * lib/nproc.h (enum nproc_query): New type.
78753         (num_processors): Add a 'query' argument.
78754         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
78755         (num_processors): Add a 'query' argument. Test the value of the
78756         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
78757         mingw, count the number of CPUs available for the current process.
78758         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
78759         Check for sched_getaffinity and sched_getaffinity_np.
78760         * modules/nproc (Depends-on): Add c-ctype, extensions.
78761         * NEWS: Mention the change.
78763 2009-11-03  Bruno Haible  <bruno@clisp.org>
78765         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
78767 2009-11-03  Jim Meyering  <meyering@redhat.com>
78769         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
78770         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
78771         if it is defined.
78773 2009-11-02  Eric Blake  <ebb9@byu.net>
78775         mktime, timegm: share common declaration
78776         * lib/mktime-internal.h: New file.
78777         * lib/mktime.c: Use it rather than open-coding a declaration.
78778         * lib/timegm.c: Likewise.
78779         * modules/mktime (Files): Ship it.
78780         * modules/timegm (Files): Likewise.
78781         Suggested by Bruno Haible.
78783         test-update-copyright: update test to match script changes
78784         * tests/test-update-copyright.sh: Avoid hard-coding perl
78785         location.  Don't update *.bak created by earlier runs.
78787 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78788             Simon Josefsson  <simon@josefsson.org>
78789             Bruno Haible  <bruno@clisp.org>
78791         Fix link error on Solaris 8.
78792         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
78793         also in libnsl. Define also INET_PTON_LIB.
78794         * modules/inet_pton (Link): New section.
78796 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78797             Bruno Haible  <bruno@clisp.org>
78799         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
78800         * modules/inet_ntop (Link): New section.
78801         Reported by Boyan Kasarov <bkasarov@gmail.com>.
78803 2009-11-02  Eric Blake  <ebb9@byu.net>
78805         maint: avoid compiler warnings in m4 macros
78806         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
78807         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
78809 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78811         * m4/pmccabe2html.m4: Remove file.
78812         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
78813         function.  Change maintainer.
78814         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
78815         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
78816         Courtès).
78818 2009-10-31  Eric Blake  <ebb9@byu.net>
78820         fseeko: fix m4 regression
78821         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
78822         regression from 2009-10-27.
78823         Reported by Ralf Wildenhues.
78825 2009-10-31  Jim Meyering  <meyering@redhat.com>
78827         inttostr: aesthetics and improved (compile-time) safety
78828         Define inttype_is_signed rather than inttype_is_unsigned,
78829         since the sole use is via "#if inttype_is_signed".
78830         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
78831         inttype_is_unsigned.
78832         * lib/offtostr.c (inttype_is_signed): Likewise.
78833         * lib/uinttostr.c (inttype_is_signed): Likewise.
78834         * lib/umaxtostr.c (inttype_is_signed): Likewise.
78835         * lib/inttostr.c (inttostr): Use verify to cross-check the
78836         inttype_is_signed value and the signedness of the actual type.
78837         * modules/inttostr (Depends-on): Add verify.
78839 2009-10-30  Eric Blake  <ebb9@byu.net>
78841         build: avoid compiler warnings
78842         * lib/fchmodat.c (lchmod): Mark unused variables.
78843         * lib/getopt.c (_getopt_initialize): Likewise.
78844         * lib/mktime.c (__mktime_internal): Provide prototype.
78845         * lib/inttostr.c (inttostr): Avoid compiler warning even with
78846         older gcc that do not understand #pragma GCC diagnostic.
78847         * lib/uinttostr.c (inttype_is_unsigned): Define.
78848         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
78850 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
78852         stat: fix compilation on AIX
78853         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
78854         only see struct stat64.
78856 2009-10-30  Eric Blake  <ebb9@byu.net>
78858         exclude: make more robust
78859         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
78860         rather than masking a coding bug.
78861         Suggested by Bruno Haible.
78863 2009-10-30  Jim Meyering  <meyering@redhat.com>
78865         perl scripts: remove #!/usr/bin/perl in favor of more portable...
78866         Rather than putting #!/usr/bin/perl on the first line,
78867         start with a variant of what's recommended by "man perlrun" that
78868         invokes the first "perl" program from your shell's search path.
78869         * build-aux/gitlog-to-changelog: Replace #!... as above.
78870         Add a "Local Variables" perl mode setting.
78871         Prompted by a patch from Ludovic Courtès.
78872         Improved by Eric Blake.
78873         * build-aux/useless-if-before-free: Likewise.
78874         * build-aux/announce-gen: Likewise.
78875         * build-aux/update-copyright: Likewise.
78877 2009-10-29  Eric Blake  <ebb9@byu.net>
78879         filenamecat-lgpl: adjust clients
78880         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
78881         filenamecat.
78882         * modules/renameat (Depends-on): Likewise.
78884         filenamecat: split into filenamecat-lgpl
78885         * modules/filenamecat-lgpl: New module.
78886         * modules/filenamecat (Files): Move library-safe files into
78887         filenamecat-lgpl.
78888         (Depends-on): Add filenamecat-lgpl.
78889         (configure.ac): Declare witness.
78890         * lib/filenamecat.h (file_name_concat): Only declare when using
78891         GPL module.
78892         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
78893         Move...
78894         * lib/filenamecat-lgpl.c: ...into new file.
78895         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
78896         (gl_FILE_NAME_CONCAT): Use it.
78897         * MODULES.html.sh (File system functions): Mention new module.
78899         argp: avoid memory leak
78900         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
78901         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
78902         base_name, since the latter malloc()s and can call exit().
78903         Leak introduced 2006-07-03.
78905         dirname-lgpl: adjust clients that don't need full dirname
78906         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
78907         * modules/filenamecat (Depends-on): Likewise.
78908         * modules/linkat (Depends-on): Likewise.
78909         * modules/mkancesdirs (Depends-on): Likewise.
78910         * modules/mkdir (Depends-on): Likewise.
78911         * modules/openat (Depends-on): Likewise.
78912         * modules/savewd (Depends-on): Likewise.
78913         * modules/rename (Depends-on): Likewise.
78914         (License): Relax license.
78915         * modules/mkdir-tests (Depends-on): Drop progname.
78916         (Makefile.am): Delete unneeded LDADD.
78917         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
78919         dirname: split into dirname-lgpl
78920         * modules/dirname-lgpl: New module.
78921         * modules/dirname (Files): Move library-safe files into
78922         dirname-lgpl.
78923         (Depends-on): Add dirname-lgpl.
78924         (configure.ac): Declare witness.
78925         * modules/double-slash-root (License): Relax license.
78926         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
78927         module.
78928         * lib/dirname.c (dir_len, mdir_name): Move...
78929         * lib/dirname-lgpl.c: ...into new file.
78930         * lib/basename.c (last_component, base_len): Move...
78931         * lib/basename-lgpl.c: ...into new file.
78932         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
78933         (gl_DIRNAME): Use it.
78934         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
78935         Mention new module.
78936         * modules/dirname-tests (Depends-on): Add progname.
78937         * tests/test-dirname.c (program_name): Delete.
78939         mkdir: make safe for libraries
78940         * modules/mkdir (Depends-on): Drop xalloc.
78941         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
78942         exit.
78944         tests: avoid some compiler warnings
78945         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
78946         literals.
78947         * tests/test-memchr.c (main): Avoid type mismatch.
78948         * tests/test-arpa_inet.c (main): Avoid unused parameters.
78949         * tests/test-base64.c (main): Likewise.
78950         * tests/test-getdelim.c (main): Likewise.
78951         * tests/test-gethostname.c (main): Likewise.
78952         * tests/test-getline.c (main): Likewise.
78953         * tests/test-netinet_in.c (main): Likewise.
78954         * tests/test-select.c (open_server_socket, main): Likewise.
78955         * tests/test-select-stdin.c (main): Likewise.
78956         * tests/test-sockets.c (main): Likewise.
78957         * tests/test-strsignal.c (main): Likewise.
78958         * tests/test-sys_select.c (main): Likewise.
78959         * tests/test-sys_socket.c (main): Likewise.
78960         * tests/test-u64.c (main): Likewise.
78961         * tests/test-xfprintf-posix.c (main): Likewise.
78962         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
78964         sockets: avoid compiler warning
78965         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
78967         maint: detect usage(1) and other suspicious exits
78968         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
78970 2009-10-29  Jim Meyering  <meyering@redhat.com>
78972         timespec: long-to-int truncation could make timespec_cmp malfunction
78973         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
78974         a multiple of 2^32 nanoseconds as no difference.
78976 2009-10-28  Jim Meyering  <meyering@redhat.com>
78978         fprintftime: wrap macro code argument in "do {...} while(0)"
78979         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
78980         cpy macro must be a statement that can be followed by a semicolon.
78981         Now that the else clause contains a comment and is hence longer
78982         than one line, I require curly braces.  That in turn requires
78983         that we wrap this code block in the standard do...while(0).
78985         fprintftime: remove stray semicolon from previous change
78986         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
78988         fprintftime: avoid a warning about ignored fwrite return value
78989         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
78990         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
78991         that is unsafe.
78992         * modules/fprintftime (Depends-on): Add ignore-value.
78994         exclude: avoid an unwarranted warning
78995         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
78997 2009-10-27  Eric Blake  <ebb9@byu.net>
78999         fseek: avoid compilation failure when fflush is replaced
79000         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
79001         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
79002         module is in use.
79003         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
79004         module is not in use; since REPLACE_FSEEK worked otherwise.
79005         (GNULIB_FTELLO): Likewise for ftell.
79006         Reported by Ian Beckwith and others.
79008 2009-10-27  Bruno Haible  <bruno@clisp.org>
79010         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
79011         Reported by Jim Meyering.
79013 2009-10-27  Jim Meyering  <jim@meyering.net>
79014             Bruno Haible  <bruno@clisp.org>
79016         Avoid warning despite dropping the return value of fwrite.
79017         * lib/unicodeio.c: Include ignore-value.h.
79018         (fwrite_success_callback): Explicitly ignore fwrite's return value.
79019         * modules/unicodeio (Depends-on): Add ignore-value.
79021 2009-10-26  Eric Blake  <ebb9@byu.net>
79023         areadlinkat: fix fallback path
79024         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
79025         pointer and zero.
79027 2009-10-22  Pádraig Brady  <P@draigBrady.com>
79029         Use a better IO block size for modern systems
79030         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
79031         * lib/md2.c: Likewise.
79032         * lib/md4.c: Likewise.
79033         * lib/md5.c: Likewise.
79034         * lib/sha1.c: Likewise.
79035         * lib/sha256.c: Likewise.
79036         * lib/sha512.c: Likewise.
79038 2009-10-22  Eric Blake  <ebb9@byu.net>
79040         tests: avoid several compiler warnings
79041         * tests/test-getcwd.c (main): Avoid buffer underflow.
79042         * tests/test-getdate.c (main): String literals are not safe with
79043         putenv, so use setenv.  Declare unused argument.
79044         * modules/getdate-tests (Depends-on): Add setenv.
79045         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
79046         problems with string literals in char *.
79047         * tests/test-hash.c (main): Avoid shadowing declaration.
79048         (insert_new): Treat string literals as char const *.
79049         * tests/test-getopt.h (test_getopt): Likewise.
79050         (getopt_loop): Alter types to minimize casting elsewhere.
79051         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
79052         (test_getopt_long_posix): Likewise.
79053         (do_getopt_long): Add wrapper to minimize casting.
79054         * tests/test-atexit.c (clear_temp_file): Use void.
79055         * tests/test-areadlink-with-size.c (main): Declare unused
79056         arguments.
79057         * tests/test-areadlink.c (main): Likewise.
79058         * tests/test-areadlinkat-with-size.c (main): Likewise.
79059         * tests/test-areadlinkat.c (main): Likewise.
79060         * tests/test-canonicalize-lgpl.c (main): Likewise.
79061         * tests/test-canonicalize.c (main): Likewise.
79062         * tests/test-dirent-safer.c (main): Likewise.
79063         * tests/test-dirname.c (main): Likewise.
79064         * tests/test-dup2.c (main): Likewise.
79065         * tests/test-fchdir.c (main): Likewise.
79066         * tests/test-fcntl-h.c (main): Likewise.
79067         * tests/test-fcntl-safer.c (main): Likewise.
79068         * tests/test-fdopendir.c (main): Likewise.
79069         * tests/test-fdutimensat.c (main): Likewise.
79070         * tests/test-fflush.c (main): Likewise.
79071         * tests/test-filenamecat.c (main): Likewise.
79072         * tests/test-filevercmp.c (main): Likewise.
79073         * tests/test-fopen-safer.c (main): Likewise.
79074         * tests/test-fopen.c (main): Likewise.
79075         * tests/test-fpending.c (main): Likewise.
79076         * tests/test-fpurge.c (main): Likewise.
79077         * tests/test-freading.c (main): Likewise.
79078         * tests/test-fstatat.c (main): Likewise.
79079         * tests/test-fsync.c (main): Likewise.
79080         * tests/test-futimens.c (main): Likewise.
79081         * tests/test-getndelim2.c (main): Likewise.
79082         * tests/test-gettimeofday.c (main): Likewise.
79083         * tests/test-getopt.c (main): Likewise.
79084         * tests/test-i-ring.c (main): Likewise.
79085         * tests/test-inttypes.c (main): Likewise.
79086         * tests/test-link.c (main): Likewise.
79087         * tests/test-lstat.c (main): Likewise.
79088         * tests/test-math.c (main): Likewise.
79089         * tests/test-md5.c (main): Likewise.
79090         * tests/test-memchr2.c (main): Likewise.
79091         * tests/test-memrchr.c (main): Likewise.
79092         * tests/test-mkdir.c (main): Likewise.
79093         * tests/test-mkdirat.c (main): Likewise.
79094         * tests/test-mkfifoat.c (main): Likewise.
79095         * tests/test-open.c (main): Likewise.
79096         * tests/test-openat-safer.c (main): Likewise.
79097         * tests/test-openat.c (main): Likewise.
79098         * tests/test-quotearg.c (main): Likewise.
79099         * tests/test-rawmemchr.c (main): Likewise.
79100         * tests/test-readlink.c (main): Likewise.
79101         * tests/test-remove.c (main): Likewise.
79102         * tests/test-rename.c (main): Likewise.
79103         * tests/test-renameat.c (main): Likewise.
79104         * tests/test-rmdir.c (main): Likewise.
79105         * tests/test-sha1.c (main): Likewise.
79106         * tests/test-signal.c (main): Likewise.
79107         * tests/test-sigaction.c (main): Likewise.
79108         * tests/test-stat.c (main): Likewise.
79109         * tests/test-stat-time.c (main): Likewise.
79110         * tests/test-stddef.c (main): Likewise.
79111         * tests/test-stdint.c (main): Likewise.
79112         * tests/test-stdio.c (main): Likewise.
79113         * tests/test-stdlib.c (main): Likewise.
79114         * tests/test-strchrnul.c (main): Likewise.
79115         * tests/test-strerror.c (main): Likewise.
79116         * tests/test-string.c (main): Likewise.
79117         * tests/test-strtod.c (main): Likewise.
79118         * tests/test-strverscmp.c (main): Likewise.
79119         * tests/test-symlink.c (main): Likewise.
79120         * tests/test-symlinkat.c (main): Likewise.
79121         * tests/test-sys_stat.c (main): Likewise.
79122         * tests/test-sys_time.c (main): Likewise.
79123         * tests/test-time.c (main): Likewise.
79124         * tests/test-unistd.c (main): Likewise.
79125         * tests/test-unlink.c (main): Likewise.
79126         * tests/test-unlinkat.c (main): Likewise.
79127         * tests/test-utimens.c (main): Likewise.
79128         * tests/test-utimensat.c (main): Likewise.
79129         * tests/test-version-etc.c (main): Likewise.
79130         * tests/test-wchar.c (main): Likewise.
79131         * tests/test-wctype.c (main): Likewise.
79132         * tests/test-xprintf-posix.c (main): Likewise.
79133         * tests/test-posixtm.c (main): Likewise.
79134         (STREQ): Delete unused macro.
79135         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
79136         shadowed variables.
79137         * tests/test-memchr.c (main): Likewise.
79139 2009-10-21  Eric Blake  <ebb9@byu.net>
79141         areadlinkat: avoid failure on older glibc
79142         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
79143         rather than mis-comparing 0 against FUNC_RESULT of char*.
79145 2009-10-21  Bruno Haible  <bruno@clisp.org>
79147         * modules/stpncpy (License): Relicense under LGPLv2+.
79148         Reported by David Lutterkort <lutter@redhat.com>.
79150 2009-10-20  Eric Blake  <ebb9@byu.net>
79152         utimensat: work around Solaris 9 bug
79153         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
79154         has trailing slash bugs.
79155         * tests/test-lutimens.h (test_lutimens): Enhance test.
79156         * tests/test-utimens.h (test_utimens): Likewise.
79157         * doc/posix-functions/utime.texi (utime): Enhance documentation.
79158         * doc/posix-functions/utimes.texi (utimes): Likewise.
79159         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79160         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
79161         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
79162         * doc/posix-functions/futimens.texi (futimens): Likewise.
79164         fdutimensat: new module
79165         * modules/fdutimensat: New file.
79166         * lib/fdutimensat.c (fdutimensat): Likewise.
79167         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
79168         * MODULES.html.sh (File system functions): Mention module.
79169         * modules/fdutimensat-tests: New test.
79170         * tests/test-fdutimensat.c: Likewise.
79172         doc: regenerate INSTALL
79173         * doc/INSTALL: Reflect recent autoconf update.
79174         * doc/INSTALL.ISO: Likewise.
79175         * doc/INSTALL.UTF-8: Likewise.
79177 2009-10-20  Pádraig Brady  <P@draigBrady.com>
79179         acl: warn if ACL support is not detected
79180         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
79182 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
79184         * lib/nproc.h: Add extern "C" block for C++.
79186 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
79187             Bruno Haible  <bruno@clisp.org>
79189         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
79190         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
79191         * doc/posix-functions/isalpha.texi: Likewise.
79192         * doc/posix-functions/isblank.texi: Likewise.
79193         * doc/posix-functions/iscntrl.texi: Likewise.
79194         * doc/posix-functions/isdigit.texi: Likewise.
79195         * doc/posix-functions/isgraph.texi: Likewise.
79196         * doc/posix-functions/islower.texi: Likewise.
79197         * doc/posix-functions/isprint.texi: Likewise.
79198         * doc/posix-functions/ispunct.texi: Likewise.
79199         * doc/posix-functions/isspace.texi: Likewise.
79200         * doc/posix-functions/isupper.texi: Likewise.
79201         * doc/posix-functions/isxdigit.texi: Likewise.
79203 2009-10-18  Bruno Haible  <bruno@clisp.org>
79205         Tests for module 'isblank'.
79206         * modules/isblank-tests: New file.
79207         * tests/test-isblank.c: New file.
79209         New module 'isblank'.
79210         * lib/isblank.c: New file.
79211         * m4/isblank.m4: New file.
79212         * modules/isblank: New file.
79213         * doc/posix-functions/isblank.texi: Mention the new module.
79215 2009-10-18  Bruno Haible  <bruno@clisp.org>
79217         New module 'ctype'.
79218         * lib/ctype.in.h: New file.
79219         * m4/ctype.m4: New file.
79220         * modules/ctype: New file.
79221         * doc/posix-headers/ctype.texi: Mention the new module.
79223 2009-10-18  Jim Meyering  <meyering@redhat.com>
79225         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
79226         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
79227         right after its initialization, rather than farther down.
79228         Keeping these in close proximity makes it easier to ensure
79229         that each such variable is initialized.  E.g.,
79231             LIB_CLOCK_GETTIME=
79232             AC_SUBST([LIB_CLOCK_GETTIME])
79234         This change also increments these serial numbers.
79235         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
79236         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79237         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79239 2009-10-18  Bruno Haible  <bruno@clisp.org>
79241         Don't let environment variables perturb build.
79242         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
79243         (gl_PREREQ_GETHRXTIME): ... not here.
79245 2009-10-18  Bruno Haible  <bruno@clisp.org>
79247         Avoid symlink attack in localcharset module.
79248         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
79249         (O_NOFOLLOW): Define fallback.
79250         (get_charset_aliases): Don't open the file if it is a symbolic link.
79251         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
79252         gl_FCNTL_H.
79253         (gl_FCNTL_H): Require it.
79254         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
79255         * modules/localcharset (Files): Add m4/fcntl_h.m4.
79256         Reported by Fergal Glynn <fglynn@veracode.com>.
79258 2009-10-18  Bruno Haible  <bruno@clisp.org>
79260         Implement nproc for mingw.
79261         * lib/nproc.c: Include <windows.h>
79262         (num_processors): On native Windows platforms, try GetSystemInfo.
79264 2009-10-18  Bruno Haible  <bruno@clisp.org>
79266         Implement nproc for IRIX.
79267         * lib/nproc.c: Include <sys/sysmp.h>.
79268         (num_processors): On IRIX systems, try sysmp.
79269         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
79271 2009-10-18  Bruno Haible  <bruno@clisp.org>
79273         Implement nproc for HP-UX.
79274         * lib/nproc.c: Include <sys/pstat.h>
79275         (num_processors): On HP-UX systems, try pstat_getdynamic.
79276         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
79277         pstat_getdynamic.
79279 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
79280             Bruno Haible  <bruno@clisp.org>
79282         Implement nproc for NetBSD, OpenBSD.
79283         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
79284         (ARRAY_SIZE): New macro.
79285         (num_processors): On BSD systems, try sysctl of HW_NCPU.
79286         * m4/nproc.m4: New file.
79287         * modules/nproc (Files): Add m4/nproc.m4.
79288         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
79289         (Makefile.am): Instead, augment lib_SOURCES.
79291 2009-10-18  Bruno Haible  <bruno@clisp.org>
79293         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
79294         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
79295         sys/param.h.
79297 2009-10-16  Eric Blake  <ebb9@byu.net>
79299         utimensat: new module
79300         * modules/utimensat: New file.
79301         * lib/utimensat.c (utimensat): Likewise.
79302         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
79303         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
79304         so we can work around Linux bugs.
79305         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79306         * modules/sys_stat (Makefile.am): Substitute them.
79307         * lib/sys_stat.in.h (utimensat): Declare it.
79308         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79309         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79310         * modules/utimensat-tests: New test.
79311         * tests/test-utimensat.c: Likewise.
79313         utimens: let lutimens work on non-symlinks
79314         * lib/utimens.c (lutimens): Fall back to utimens rather than
79315         failing with ENOSYS, when file is not a symlink.
79316         (utimens): Reduce redirection.
79317         * tests/test-lutimens.h (test_lutimens): Update test to cover
79318         non-symlinks.
79319         * tests/test-utimens.h (test_utimens): Update test to cover
79320         symlinks.
79321         * tests/test-utimens.c (main): Update caller.
79323         utimens: cache whether utimensat syscall works
79324         * lib/utimens.c (utimensat_works_really): New cache variable.
79325         (fdutimens, lutimens): Use it to avoid failing syscall.
79327         test-stat-time, test-utimens: improve portability
79328         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
79329         ext4 on alpha, and for cygwin.
79330         * tests/test-utimens-common.h: New file.
79331         (nap): Factor delays into single function.
79332         * tests/test-lutimens.h (test_lutimens): Use new header.
79333         * tests/test-futimens.h (test_futimens): Likewise.
79334         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
79335         timestamps to occur from same machine, as was done previously for
79336         test_utimens.
79337         * modules/utimens-tests (Files): Ship new file.
79338         * modules/futimens-tests (Files): Likewise.
79339         Reported in part by Jim Meyering.
79341         sys_stat: sort replacement declarations
79342         * lib/sys_stat.in.h: Sort declarations.
79343         * lib/futimens.c (futimens): Fix typo.
79345 2009-10-15  Jim Meyering  <meyering@redhat.com>
79347         don't let environment settings perturb build
79348         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
79349         could cause a configure-time and/or build-time malfunction.
79350         Typically, a configure-time function-in-library test is performed
79351         via code like this:
79353           LIB_VAR=
79354           AC_SUBST([LIB_VAR])
79355           prefix_saved_LIBS=$LIBS
79356             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
79357                        [test "$ac_cv_search_FUNC" = "none required" ||
79358                         LIB_VAR=$ac_cv_search_FUNC])
79359           LIBS=$prefix_saved_LIBS
79361         However, in each of the files affected by this change, the LIB_VAR=
79362         initialization was omitted.  Thus, when set in the environment, its
79363         value would propagate into generated Makefiles when FUNC is not found
79364         in LIB_NAME.
79365         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
79366         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
79367         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79369 2009-10-14  Eric Blake  <ebb9@byu.net>
79371         fchdir: avoid infinite recursion in mingw
79372         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
79373         recursing.
79375         test-stat-time: port to mingw
79376         * tests/test-stat-time.c (force_unlink): Return a value.
79377         (test_ctime) [W32]: Fix compilation error.
79378         (nap): Don't call usleep with too large an argument.  Use
79379         force_unlink.
79380         * doc/pastposix-functions/usleep.texi (usleep): Document the
79381         portability issue.
79383 2009-10-13  Jim Meyering  <meyering@redhat.com>
79385         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
79386         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
79387         * modules/pipe-filter-ii: Likewise.
79388         * modules/sys_socket-tests: Likewise.
79389         * modules/tsearch-tests: Likewise.
79390         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
79391         (check): Depend on it.
79393 2009-10-12  Eric Blake  <ebb9@byu.net>
79395         utimens-tests: port to NFS file systems
79396         * tests/test-utimens.h (test_utimens): Refactor utimecmp
79397         comparisons to avoid spurious failures from timestamp drift
79398         between NFS machines.
79400 2009-10-12  Eric Blake  <ebb9@byu.net>
79402         stat-time-tests: minor cleanups
79403         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
79404         * tests/test-stat-time.c (nap): Separate assignment from call.
79405         Suggested by Paolo Bonzini and Bruno Haible.
79407         sys_stat: guarantee struct timespec
79408         * lib/sys_stat.in.h (includes): Always include <time.h>
79409         * modules/sys_stat (Depends-on): Add time.
79410         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
79411         mode_t permission values.
79412         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
79413         get at subsecond timestamps.
79415 2009-10-10  Eric Blake  <ebb9@byu.net>
79417         futimens: new module
79418         * modules/futimens: New file.
79419         * lib/futimens.c (futimens): Likewise.
79420         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
79421         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
79422         we can work around Linux bugs.
79423         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79424         * modules/sys_stat (Makefile.am): Substitute them.
79425         * lib/sys_stat.in.h (futimens): Declare it.
79426         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79427         * doc/posix-functions/futimens.texi (futimens): Likewise.
79428         * modules/futimens-tests: New test.
79429         * tests/test-futimens.c: Likewise.
79431         utimens: introduce fdutimens
79432         * lib/utimens.h (fdutimens): New prototype.
79433         * lib/utimens.c (gl_futimens): Move guts...
79434         (fdutimens): ...to new interface.
79435         * tests/test-utimens.c (do_fdutimens): Use it.
79437         utimens: add UTIME_NOW and UTIME_OMIT support
79438         * lib/utimens.c (validate_timespec, update_timespec): New helper
79439         functions.
79440         (gl_futimens, lutimens): Use them.
79441         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
79442         stdbool, sys_stat.
79443         (Link): Mention resulting library dependency.
79444         * modules/utimecmp (Link): Likewise.
79445         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
79446         (Makefile.am): Pick up library dependency.
79447         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
79448         definition.
79449         * tests/test-sys_stat.c: Test the definitions.
79450         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
79451         * NEWS: Document library dependency.
79453         utimecmp: support symlink timestamps
79454         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
79455         hashing when possible.  Use pathconf when available.
79456         (SYSCALL_RESOLUTION): Recognize tighter resolution.
79457         * modules/utimecmp (Depends-on): Add lstat.
79459         utimens: add lutimens interface
79460         * lib/utimens.c (lutimens): New function.
79461         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
79462         * lib/utimens.h (lutimens): Declare new interface.
79463         * tests/test-utimens.c (main): Enhance test.
79464         * tests/test-lutimens.h (test_lutimens): New file.
79465         * modules/utimens-tests (Files): Distribute it.
79466         (Depends-on): Add symlink.
79467         (configure.ac): Check for usleep.
79469         utimens: validate futimens usage
79470         * lib/utimens.c (gl_futimens): Require valid fd up front, using
79471         fewer syscalls on failure later on.  Avoid compiler warning on
79472         mingw.
79473         * modules/utimens (Depends-on): Add dup2.
79475         utimens: add test
79476         * modules/utimens-tests: New test.
79477         * tests/test-utimens.h: New file.
79478         * tests/test-futimens.h: Likewise.
79479         * tests/test-utimens.c: Likewise.
79481         doc: mention timestamp portability issues
79482         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
79483         instead.
79484         * doc/posix-functions/utime.texi (utime): Likewise.
79485         * doc/posix-functions/utimes.texi (utimes): Likewise.
79486         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
79487         instead.
79488         * doc/posix-functions/futimens.texi (futimens): Mention utimens
79489         module.
79490         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
79491         Mention weakness with symlink timestamps.
79492         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
79493         to utimensat/futimens instead.
79494         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
79496         test-dup2: enhance test
79497         * tests/test-dup2.c (main): Also check AT_FDCWD.
79499         test-stat-time: avoid more spurious failures
79500         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
79501         xfs; and avoid race if the two timestamps cross quantization edge.
79503         relocatable: prefer 'file system' over 'filesystem'
79504         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
79505         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
79506         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
79507         * doc/relocatable.texi (Enabling Relocatability): Likewise.
79508         * lib/relocatable.c (compute_curr_prefix): Likewise.
79510 2009-10-10  Jim Meyering  <meyering@redhat.com>
79512         stat-time-tests: check for the usleep function
79513         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
79515 2009-10-10  Bruno Haible  <bruno@clisp.org>
79517         * modules/xnanosleep: Put the Link section after the Include section.
79519 2009-10-09  Eric Blake  <ebb9@byu.net>
79521         dup2: work around FreeBSD 6.1 bug
79522         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
79523         * doc/posix-functions/dup2.texi (dup2): Document it.
79524         Reported by Nelson H. F. Beebe and Jim Meyering.
79526         test-stat-time: port to buggy NFS clients
79527         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
79528         (test_ctime): Also skip test if mtime and ctime are skewed.
79530         maint: prefer 'file system' over 'filesystem'
79531         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79532         * doc/posix-functions/lstat.texi (lstat): Likewise.
79533         * lib/file-has-acl.c (file_has_acl): Likewise.
79534         * lib/fwriteerror.c [TEST]: Likewise.
79535         * tests/test-areadlink.h (test_areadlink): Likewise.
79536         * tests/test-areadlinkat-with-size.c (main): Likewise.
79537         * tests/test-areadlinkat.c (main): Likewise.
79538         * tests/test-canonicalize-lgpl.c (main): Likewise.
79539         * tests/test-canonicalize.c (main): Likewise.
79540         * tests/test-fstatat.c (main): Likewise.
79541         * tests/test-linkat.c (main): Likewise.
79542         * tests/test-lstat.h (test_lstat_func): Likewise.
79543         * tests/test-mkdir.h (test_mkdir): Likewise.
79544         * tests/test-readlink.h (test_readlink): Likewise.
79545         * tests/test-remove.c (main): Likewise.
79546         * tests/test-rename.h (test_rename): Likewise.
79547         * tests/test-renameat.c (main): Likewise.
79548         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79549         * tests/test-symlink.h (test_symlink): Likewise.
79550         * tests/test-symlinkat.c (main): Likewise.
79551         * tests/test-unlink.h (test_unlink_func): Likewise.
79552         * tests/test-unlinkat.c (main): Likewise.
79554         maint: make realtime library usage explicit
79555         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
79556         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
79557         * modules/settime (Link): Likewise.
79558         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
79560         test-stat-time: speed up execution
79561         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
79562         warning on mingw.
79563         (nap): New helper function.
79564         (prepare_test): Use it to reduce sleep time.
79565         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
79566         execution.
79567         * modules/stat-time-tests (configure.ac): Check for usleep.
79569 2009-10-09  Jim Meyering  <meyering@redhat.com>
79571         selinux-h: always use getfilecon wrappers
79572         * lib/getfilecon.c: New file.
79573         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
79574         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
79575         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
79576         (fgetfilecon): Provide a stub.
79577         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
79578         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
79579         file unconditionally.
79580         When <selinux/selinux.h> is found, arrange to use wrappers.
79581         * modules/selinux-h (Files): Add getfilecon.c.
79582         (Makefile.am): Substitute include-next-related bits
79583         into the now-always-generated selinux/selinux.h file.
79584         * doc/glibc-functions/lgetfilecon.texi: New file.
79585         * doc/glibc-functions/fgetfilecon.texi: New file.
79586         * doc/glibc-functions/getfilecon.texi: New file.
79587         * doc/glibc-functions/getfilecon-desc.texi: New file.
79588         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
79589         which to pull in the new files.
79590         * MODULES.html.sh (Misc): Add selinux-h.
79592 2009-10-08  Jim Meyering  <meyering@redhat.com>
79594         unistd: fix comment typo
79595         * lib/unistd.in.h (euidaccess): Fix a comment typo.
79597 2009-10-08  Eric Blake  <ebb9@byu.net>
79599         areadlink: use SIZE_MAX consistently
79600         * modules/areadlink (Depends-on): Add stdint.
79601         * modules/areadlink-with-size (Depends-on): Likewise.
79602         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
79603         gives NULL; drop sys/types, since unistd gives size_t; and add
79604         stdint for SIZE_MAX.
79605         (SIZE_MAX): Rely on headers.
79606         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
79607         and add stdint.
79608         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
79609         (SIZE_MAX): Likewise.
79610         (INITIAL_BUF_SIZE): Turn into enum.
79611         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
79613 2009-10-08  Jim Meyering  <meyering@redhat.com>
79615         areadlinkat: avoid compilation failure
79616         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
79617         Fix typo in comment.
79619 2009-10-07  Eric Blake  <ebb9@byu.net>
79621         areadlinkat-with-size: new module
79622         * modules/areadlinkat-with-size: New module.
79623         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
79624         * lib/areadlink.h (areadlinkat): Declare it.
79625         * MODULES.html.sh (File system functions): Mention it.
79626         * modules/areadlinkat-with-size-tests: New test.
79627         * tests/test-areadlinkat-with-size.c: New file.
79629         xreadlinkat: new module
79630         * modules/xreadlinkat: New module.
79631         * lib/xreadlinkat.c (xreadlinkat): New file.
79632         * lib/xreadlink.h (xreadlinkat): Declare it.
79633         * MODULES.html.sh (File system functions): Mention it.
79635         areadlinkat: new module
79636         * lib/at-func.c (FUNC_FAIL): New define.
79637         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
79638         * modules/areadlinkat: New module.
79639         * lib/linkat.c (areadlinkat): Move...
79640         * lib/areadlinkat.c (areadlinkat): ...to new file.
79641         * lib/areadlink.h (areadlinkat): Declare it.
79642         * modules/linkat (Depends-on): Add areadlinkat.
79643         * MODULES.html.sh (File system functions): Mention it.
79644         * modules/areadlinkat-tests: New test.
79645         * tests/test-areadlinkat.c: New file.
79647         areadlink, areadlink-with-size: add tests
79648         * modules/areadlink-tests: New test.
79649         * modules/areadlink-with-size-tests: Likewise.
79650         * tests/test-areadlink.h: New file.
79651         * tests/test-areadlink.c: Likewise.
79652         * tests/test-areadlink-with-size.c: Likewise.
79654         maint: minor cleanups
79655         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
79656         _UNUSED_PARAMETER_ instead.
79657         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
79658         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
79659         * modules/linkat-tests (Files): Distribute test-link.h.
79661         openat, utimens: whitespace cleanup
79662         * lib/openat.c: Prefer space throughout, rather than mix of 8
79663         spaces vs. tabs.
79664         * lib/at-func.c: Likewise.
79665         * lib/utimens.c: Likewise.
79667         openat: avoid using wrong fd
79668         * lib/openat.c (openat_permissive): Reject user's fd if saving the
79669         working directory chooses same fd.
79670         * lib/at-func.c (AT_FUNC_NAME): Likewise.
79672         mkdir, mkdirat: fix cygwin 1.5.x bug
79673         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
79674         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
79675         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
79676         bug.
79677         (gl_PREREQ_MKDIR): Delete unused macro.
79678         * modules/mkdir (Files): Track file rename.
79679         (configure.ac): Update macro name.
79680         * modules/openat (Depends-on): Add mkdir.
79681         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
79683         mkdir, mkdirat: add tests
79684         * modules/mkdir-tests: New test.
79685         * tests/test-mkdir.h: New file.
79686         * tests/test-mkdir.c: Likewise.
79687         * tests/test-mkdirat.c: Likewise.
79688         * modules/openat-tests (Files): Add new files.
79689         (Makefile.am): Run new test.
79691 2009-10-06  Eric Blake  <ebb9@byu.net>
79693         doc: tweak *at function documentation
79694         * doc/posix-functions/faccessat.texi (faccessat): Mention
79695         known issue with replacement.
79696         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
79697         * doc/posix-functions/linkat.texi (linkat): Likewise.
79698         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
79699         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
79700         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79701         * doc/posix-functions/renameat.texi (renameat): Likewise.
79702         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79704         openat: fix GNU/Hurd bug in unlinkat
79705         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
79706         broken.
79707         * doc/posix-functions/unlink.texi (unlink): Document this.
79708         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
79710         fdopendir: fix GNU/Hurd bug
79711         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
79712         allowing non-directory fds.
79713         * lib/fdopendir.c (rpl_fdopendir): Work around it.
79714         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
79715         * modules/dirent (Makefile.am): Substitute it.
79716         * lib/dirent.in.h (fdopendir): Declare replacement.
79717         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
79718         * tests/test-fdopendir.c (main): Test something other than
79719         /dev/null, since on Hurd that behaves like a directory.
79721         test-symlink: port to GNU/Hurd
79722         * tests/test-symlink.h (test_symlink): Relax expected errno.
79724         doc: tweak more cygwin information
79725         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
79726         now compatible with glibc.
79727         * doc/posix-functions/getopt.texi (getopt): Likewise.
79729         getopt-gnu: add another test
79730         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
79731         guarantee behavior relied on by m4.
79732         * tests/test-getopt.c (main): Use it.
79733         * modules/getopt-posix-tests (Depends-on): Add setenv.
79734         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
79736         getopt: fix compilation on darwin
79737         * lib/getopt.in.h (includes): Leave breadcrumbs during system
79738         include.
79739         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
79740         Reported by Ludovic Courtès.
79742 2009-10-06  Bruno Haible  <bruno@clisp.org>
79744         * modules/size_max (Description): Discourage its use.
79745         Reported by Simon Josefsson.
79747 2009-10-06  Jim Meyering  <meyering@redhat.com>
79749         linkat: avoid compilation failure
79750         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
79752 2009-10-05  Eric Blake  <ebb9@byu.net>
79754         linkat: support Linux 2.6.17
79755         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
79756         linkat on Linux, but allow cache variable override.
79757         * lib/linkat.c (rpl_linkat): Define override.
79758         * modules/linkat (Depends-on): Add symlinkat.
79759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
79760         * modules/unistd (Makefile.am): Substitute it.
79761         * lib/unistd.in.h (linkat): Declare replacement.
79762         Reported by Pádraig Brady.
79764         quotearg: port test to systems with C.UTF-8 locale
79765         * tests/test-quotearg.c (struct result_strings): Add another
79766         member, differentiating between C.ASCII and C.UTF-8 handling.
79767         (compare_strings): Add parameter.
79768         (main): Adjust all callers.
79770         getopt: avoid clash with FreeBSD _getopt_internal
79771         * lib/getopt.in.h (_getopt_internal): Override the name.
79772         * lib/getopt_int.h (includes): Pick up any overrides.
79773         Reported by Reuben Thomas.
79775         hash: allow C89 compilation
79776         * lib/hash.c (check_tuning): Move declaration before statement.
79777         Reported by Reuben Thomas.
79779 2009-10-05  Karl Berry  <karl@gnu.org>
79781         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
79783 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
79784             Bruno Haible  <bruno@clisp.org>
79786         * lib/uname.c (uname): Use a table-driven algorithm to compute
79787         Windows NT versions.
79789 2009-10-04  Bruno Haible  <bruno@clisp.org>
79791         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
79792         program_invocation_short_name.
79793         * modules/progname (configure.ac): Test for presence of
79794         program_invocation_short_name.
79795         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
79797 2009-10-04  Bruno Haible  <bruno@clisp.org>
79799         * lib/progname.c (set_program_name): Fix comment.
79800         Reported by Jim Meyering.
79802 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79803             Bruno Haible  <bruno@clisp.org>
79805         * lib/uname.c: Include <string.h>.
79806         (uname): Do only one call to GetVersionEx in the common case.
79808 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79809             Bruno Haible  <bruno@clisp.org>
79811         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
79812         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
79813         (uname): Add support for Windows CE and various non-x86 CPU types.
79815 2009-10-03  Bruno Haible  <bruno@clisp.org>
79817         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
79818         invocation to tests/configure.ac.
79819         Reported by Ian Beckwith <ianb@erislabs.net>.
79821 2009-10-02  Eric Blake  <ebb9@byu.net>
79823         fchdir: avoid compiler warning
79824         * lib/fchdir.c (canonicalize_file_name)
79825         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
79827         test-open: support mingw errno values
79828         * tests/test-open.h (test_open): Relax test.
79829         * tests/test-fopen.h (test_fopen): Likewise.
79830         * tests/test-openat-safer.c (main): Likewise.
79832         open: fix opening directory on mingw
79833         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
79835         test-open: on GNU/Hurd, /dev/null is a directory
79836         * tests/test-fopen.h (main): Rename...
79837         (test_fopen): ...to this.  Use a guaranteed non-directory when
79838         confirming open behavior on trailing slash.
79839         * tests/test-openat-safer.c (main): Likewise.
79840         * tests/test-open.h (main): Likewise....
79841         (test_open): ...to this.
79842         * tests/test-fopen.c (main): Adjust caller.
79843         * tests/test-fopen-safer.c (main): Likewise.
79844         * tests/test-open.c (main): Likewise.
79845         * tests/test-fcntl-safer.c (main): Likewise.
79846         Reported by Samuel Thibault.
79848         rename, fchdir: don't ignore chdir failure
79849         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
79850         * lib/rename.c (rpl_rename) [W32]: Likewise.
79851         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
79852         an empty destination directory if source cannot be renamed,
79853         although there is still possibility for failure.
79854         * doc/posix-functions/rename.texi (rename): Document the race.
79855         Reported by Jim Meyering.
79857         maint: cleanup whitespace in recent commits
79858         * lib/rename.c (rpl_rename): Remove tabs.
79859         * tests/test-link.h (test_link): Likewise.
79860         * lib/fchdir.c (get_name): Likewise.
79861         Reported by Jim Meyering.
79863 2009-10-02  Ben Pfaff  <blp@gnu.org>
79865         relocatable-prog-wrapper: Add missing dependency on
79866         double-slash-root.
79867         * modules/relocatable-prog-wrapper: Add dependency.
79868         Reported by Ian Beckwith <ianb@erislabs.net>.
79870 2009-10-02  Eric Blake  <ebb9@byu.net>
79872         renameat: fix Solaris bugs
79873         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
79874         needed fixing.
79875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
79876         * modules/stdio (Makefile.am): Substitute it.
79877         * lib/stdio.in.h (renameat): Declare replacement.
79878         * lib/renameat.c (rpl_renameat): Implement fix.
79880         renameat: new module
79881         * modules/renameat: New file.
79882         * lib/renameat.c (renameat): Likewise.
79883         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
79884         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79885         * modules/stdio (Makefile.am): Substitute them.
79886         * lib/stdio.in.h (renameat): Declare it.
79887         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79888         * doc/posix-functions/renameat.texi (renameat): Likewise.
79889         * modules/renameat-tests: New test.
79890         * tests/test-renameat.c: Likewise.
79892         rename: fix mingw bugs
79893         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
79894         directory overwrite bugs.
79896         rename: fix another cygwin 1.5 bug
79897         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
79898         checks.
79899         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
79900         unnecessary cygwin workarounds.  Also work around bug with moving
79901         full directory onto an empty one.
79902         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
79904         rename-dest-slash: merge into rename module
79905         * modules/rename-dest-slash (Status): Mark obsolete.
79906         (Depends-on): Add rename.
79907         (Files): Let rename do it all.
79908         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
79909         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
79910         * m4/rename-dest-slash.m4: ...so this file can be deleted.
79911         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
79912         * lib/rename.c (rpl_rename): Update comments.
79914         rename: fix cygwin 1.5.x bugs
79915         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
79916         * lib/rename.c (rpl_rename): Work around them.
79917         * modules/rename (Depends-on): Add same-inode.
79919         rename: fix Solaris 10 bug
79920         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79921         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
79922         was the only bug.
79924         rename: fix Solaris 9 bug
79925         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
79926         on non-directory.  Avoid calling exit.
79927         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
79928         strdup.
79929         * modules/rename-tests (Depends-on): Drop lstat.
79930         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79931         (gl_PREREQ_RENAME): Delete unused macro.
79933         rename-dest-slash: fix NetBSD bug
79934         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
79935         links.
79936         * modules/rename-dest-slash (Depends-on): Add same-inode.
79938         rename-tests: new test, exposes several platform bugs
79939         * modules/rename-tests: New file.
79940         * tests/test-rename.h: Likewise.
79941         * tests/test-rename.c: Likewise.
79942         * doc/posix-functions/rename.texi (rename): Improve documentation,
79943         including bugs that will eventually be fixed in gnulib.
79945 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
79947         * lib/uname.c: Include <stdlib.h>
79948         (uname): Assume version info is available.
79950 2009-10-02  Jim Meyering  <meyering@redhat.com>
79952         gnu-web-doc-update: correct --help output
79953         * build-aux/gnu-web-doc-update: Make --help output relevant.
79955         gnu-web-doc-update: add standard options
79956         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
79958         gnu-web-doc-update: New module.
79959         Use this script to automatically update the on-line web documentation
79960         for your GNU project at http://www.gnu.org/software/$pkg/manual/
79961         * modules/gnu-web-doc-update: New file, from coreutils.
79962         * build-aux/gnu-web-doc-update: New script.
79964 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
79966         link: LoadLibrary is not needed.
79967         * lib/link.c: Use GetModuleHandle.
79969 2009-10-01  Eric Blake  <ebb9@byu.net>
79971         getopt: bump serial number
79972         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
79973         change.
79975         tests: tighten link, rmdir, and remove tests
79976         * tests/test-link.h (includes): No need to use <config.h> here.
79977         Clean up if directory hard link was created, otherwise test for
79978         trailing '.'.
79979         * tests/test-linkat.c (main): Simplify.
79980         * tests/test-remove.c (main): Enhance test for trailing '.'.
79981         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79983 2009-10-01  Jim Meyering  <meyering@redhat.com>
79985         maint.mk: requiring "make major" was annoying, for a "minor" release.
79986         What is intended is "stable", to contrast with alpha and beta,
79987         so require "make stable", not "make major".
79988         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
79989         (get_tool_versions): Likewise.
79990         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
79992 2009-09-30  Ben Pfaff  <blp@gnu.org>
79994         Fix broken build of replacement for Windows tmpfile().
79995         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
79996         flags argument added along with the 'mkostemp' module.
79998 2009-09-28  Bruno Haible  <bruno@clisp.org>
80000         Avoid identifier clash with POSIX function 'remove' defined as a macro.
80001         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
80002         to 'remove_elt'.
80003         (gl_list_remove): Update.
80004         * lib/gl_list.c (gl_list_remove): Update.
80005         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
80006         to 'remove_elt'.
80007         (gl_oset_remove): Update.
80008         * lib/gl_list.c (gl_oset_remove): Update.
80009         Reported by Eric Blake.
80011 2009-09-28  Eric Blake  <ebb9@byu.net>
80013         doc: mention yet more cygwin 1.7 status
80014         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
80015         cygwin.
80016         * doc/glibc-functions/execvpe.texi (execvpe): New file.
80017         * doc/gnulib.texi (Glibc unistd.h): Mention it.
80019         argp: fix test failure
80020         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
80021         that are not upper-case.  Pass correct range to tolower.
80023 2009-09-27  Jim Meyering  <meyering@redhat.com>
80025         test-yesno: work around sparc-dash here-document infelicity
80026         Without this change, the literal \177 byte in a here document
80027         would make dash 0.5.5.1-3 access uninitialized memory.
80028         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
80029         Instead, use a marker, "@", and filter through tr to create the desired
80030         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
80032 2009-09-27  Bruno Haible  <bruno@clisp.org>
80034         Disable untested support for new flavours of ACLs on AIX.
80035         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
80036         progress.
80037         * lib/set-mode-acl.c (qset_acl): Likewise.
80039 2008-12-07  Bruno Haible  <bruno@clisp.org>
80041         Add support for new flavours of ACLs on AIX. (Untested.)
80042         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
80043         (file_has_acl): Add support for newer AIX.
80044         * lib/set-mode-acl.c (qset_acl): Likewise.
80045         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
80046         Rainer Tammer <tammer@tammer.net>.
80048 2009-09-26  Eric Blake  <ebb9@byu.net>
80050         argp: fix compilation of getopt
80051         * lib/getopt.in.h (includes): Use different guard than glibc.
80052         Reported by Sergey Poznyakoff.
80054         doc: mention more cygwin 1.7 status
80055         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
80056         bug.
80057         * doc/posix-functions/execl.texi (execl): Likewise.
80058         * doc/posix-functions/execle.texi (execle): Likewise.
80059         * doc/posix-functions/execlp.texi (execlp): Likewise.
80060         * doc/posix-functions/execv.texi (execv): Likewise.
80061         * doc/posix-functions/execve.texi (execve): Likewise.
80062         * doc/posix-functions/execvp.texi (execvp): Likewise.
80063         * doc/glibc-functions/canonicalize_file_name.texi
80064         (canonicalize_file_name): Cygwin 1.7 now provides this.
80065         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
80066         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
80067         on AT_SYMLINK_NOFOLLOW.
80069 2009-09-24  Eric Blake  <ebb9@byu.net>
80071         test-linkat: make test more robust
80072         * tests/test-linkat.c (main): Avoid collision with EEXIST.
80074         getopt: fix inclusion guards for cygwin
80075         * modules/getopt-posix (Depends-on): Add include-next.
80076         (Makefile.am): Substitute more items in replacement header.
80077         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
80078         <getopt.h>.
80079         * lib/getopt.in.h (includes): Use split inclusion guard, and
80080         prefer <getopt.h> over include <unistd.h> when one is present.
80081         (option): Also override name of 'struct option'.
80083         same-inode: revert prior change; it is not yet ready
80084         * NEWS: Undo mention of this change.
80085         * lib/same-inode.h (same-inode.h): Undo tri-state change.
80086         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80087         * lib/cycle-check.c (cycle_check): Likewise.
80088         * lib/same.c (same_name): Likewise.
80089         * lib/at-func2.c (at_func2): Likewise.
80091 2009-09-23  Eric Blake  <ebb9@byu.net>
80093         linkat: new module
80094         * modules/linkat: New file.
80095         * lib/at-func2.c (at_func2): Likewise.
80096         * lib/linkat.c (linkat): Likewise.
80097         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
80098         * lib/openat-priv.h (at_func2): Add declaration.
80099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80100         * modules/unistd (Makefile.am): Substitute them.
80101         * lib/unistd.in.h (linkat): Declare it.
80102         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80103         * doc/posix-functions/linkat.texi (linkat): Likewise.
80104         * doc/posix-functions/link.texi (link): Tweak wording.
80105         * tests/test-link.c (main): Move guts...
80106         * tests/test-link.h (test_link): ...into new file.
80107         * modules/linkat-tests: New test.
80108         * tests/test-linkat.c: Likewise.
80109         * modules/link-tests (Files): Ship new file.
80110         (Depends-on): Add stdbool.
80112         dirname: add library-safe mdir_name
80113         * lib/dirname.h (mdir_name): New prototype.
80114         * lib/dirname.c (dir_name): Move guts...
80115         (mdir_name): ...to new function that avoids xalloc_die.
80117         fchdir: another mingw fix
80118         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
80119         * lib/fchdir.c (get_name): New helper method; skips canonicalize
80120         on mingw (where it has not yet been ported), and make it optional
80121         elsewhere.
80122         (_gl_register_fd): Use it.
80124         same-inode: make SAME_INODE tri-state, to port to mingw
80125         * NEWS: Mention this change.
80126         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
80127         st_ino always being 0.
80128         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
80129         * lib/cycle-check.c (cycle_check): Likewise.
80130         * lib/same.c (same_name): Likewise.
80132         lstat: avoid mingw compilation error
80133         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
80134         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
80135         lstat ourselves.
80136         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
80137         was adequate.
80138         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
80139         the checks for lstat.
80140         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
80142         link: fix test failure on Solaris 9
80143         * lib/link.c (rpl_link): Don't assume link will catch bogus
80144         trailing slash on source.
80146         test-symlinkat: enhance test
80147         * tests/test-readlink.c (main): Move guts...
80148         * tests/test-readlink.h (test_readlink): ...into new file.
80149         * tests/test-symlink.c (main): Move guts...
80150         * tests/test-symlink.h (test_symlink): ...into new file.
80151         * tests/test-symlinkat.c (main): Use new files for further
80152         coverage.
80153         (do_symlink, do_readlink): New helper functions.
80154         * modules/symlink-tests (Files): Ship new file.
80155         (Depends-on): Add stdbool.
80156         * modules/readlink-tests (Files): Ship new file.
80157         (Depends-on): Add stdbool.
80158         * modules/symlinkat-tests (Files): Use new files.
80160 2009-09-23  Eric Blake  <ebb9@byu.net>
80162         readlink: document portability issue with symlink length
80163         * doc/posix-functions/lstat.texi (lstat): Mention that some file
80164         systems have bogus st_size on symlinks, and mention the
80165         areadlink-with-size module.
80166         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
80167         * doc/posix-functions/readlink.texi (readlink): Mention the
80168         areadlink module, and ERANGE failure.
80169         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80170         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
80172         readlink: fix Solaris 9 bug with trailing slash
80173         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
80174         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
80175         * doc/posix-functions/readlink.texi (readlink): Document this.
80176         * modules/readlink-tests: New test.
80177         * tests/test-readlink.c: Likewise.
80179         readlink: fix cygwin 1.5.x bug with return type
80180         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
80181         * lib/unistd.in.h (readlink): Use ssize_t.
80182         * lib/readlink.c (readlink): Likewise.
80183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80184         * modules/unistd (Makefile.am): Substitute it.
80185         * lib/unistd.in.h (readlink): Declare replacement.
80186         * doc/posix-functions/readlink.texi (readlink): Document this.
80188         symlink: use throughout gnulib
80189         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
80190         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
80191         symlink is not used.
80192         * modules/symlinkat (Depends-on): Add symlink.
80193         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80194         * modules/canonicalize-tests (Depends-on): Likewise.
80195         * modules/lstat-tests (Depends-on): Likewise.
80196         * modules/openat-tests (Depends-on): Likewise.
80197         * modules/remove-tests (Depends-on): Likewise.
80198         * modules/rmdir-tests (Depends-on): Likewise.
80199         * modules/unlink-tests (Depends-on): Likewise.
80200         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
80201         * tests/test-canonicalize.c (symlink): Likewise.
80202         * tests/test-fstatat.c (symlink): Likewise.
80203         * tests/test-lstat.c (symlink): Likewise.
80204         * tests/test-remove.c (symlink): Likewise.
80205         * tests/test-rmdir.c (symlink): Likewise.
80206         * tests/test-unlink.c (symlink): Likewise.
80207         * tests/test-unlinkat.c (symlink): Likewise.
80209         symlink: new module, for Solaris 9 bug
80210         * modules/symlink: New file.
80211         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
80212         * lib/symlink.c: Likewise.
80213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
80214         * modules/unistd (Makefile.am): Substitute them.
80215         * lib/unistd.in.h (symlink): Declare replacement.
80216         * MODULES.html.sh (File system functions): Mention it.
80217         * doc/posix-functions/symlink.texi (symlink): Likewise.
80218         * modules/symlink-tests: New test.
80219         * tests/test-symlink.c: Likewise.
80221 2009-09-23  Bruno Haible  <bruno@clisp.org>
80223         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
80224         when needed.
80225         Test case: gnulib-tool --import --with-tests atexit inttypes.
80226         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
80228 2009-09-23  Bruno Haible  <bruno@clisp.org>
80230         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
80231         subcommand, not in a subshell.
80233 2009-09-22  Eric Blake  <ebb9@byu.net>
80235         unistd: sort replacement declarations
80236         * lib/unistd.in.h: Sort declarations.
80238         open, openat: minor optimization
80239         * lib/open.c (open): If open succeeded, len is non-zero.
80240         * lib/openat.c (rpl_openat): Likewise.
80242         link-follow: ensure correct result
80243         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
80244         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
80245         distinguish between possible failures.
80247 2009-09-21  Eric Blake  <ebb9@byu.net>
80249         fts: avoid compiler warning
80250         * lib/fts.c (dirent_inode_sort_may_be_useful)
80251         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
80253 2009-09-19  Bruno Haible  <bruno@clisp.org>
80255         * lib/progreloc.c (canonicalize_file_name): New declaration.
80257 2009-09-19  Eric Blake  <ebb9@byu.net>
80259         link: fix quoting
80260         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
80262         openat: fix openat bugs on Solaris 9
80263         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
80264         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
80265         * modules/openat (Depends-on): Add open.
80266         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
80267         * modules/fcntl-h (Makefile.am): Substitute it.
80268         * lib/fcntl.in.h (openat): Declare replacement.
80269         * doc/posix-functions/openat.texi (openat): Document this.
80271         openat: move fstatat and unlinkat into correct files
80272         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
80273         compiled.
80274         * lib/openat.c (fstatat, unlinkat): Move...
80275         * lib/fstatat.c (fstatat): ...into correct files.
80276         * lib/unlinkat.c (unlinkat): Likewise.
80278         openat: fix unlinkat bugs on Solaris 9
80279         * lib/unlinkat.c (unlinkat): New file.
80280         * modules/openat (Depends-on): Add unlink.
80281         (Files): Distribute it.
80282         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
80283         trailing slash behavior is broken.
80284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80285         * modules/unistd (Makefile.am): Substitute it.
80286         * lib/unistd.in.h (unlinkat): Declare replacement.
80287         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
80289         openat: fix fstatat bugs on Solaris 9
80290         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
80291         stat.
80292         * doc/posix-functions/fstatat.texi (fstatat): Document this.
80294         test-unlinkat: enhance test, to expose Solaris 9 bug
80295         * tests/test-unlink.c (main): Factor guts...
80296         * tests/test-unlink.h (test_rmdir_func): ...into new file.
80297         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
80298         * tests/test-rmdir.c (main): Adjust caller.
80299         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
80300         (unlinker): New helper function.
80301         (rmdirat): Enhance check.
80302         * modules/rmdir-tests (Depends-on): Add stdbool.
80303         * modules/unlink-tests (Depends-on): Likewise.
80304         (Files): Add test-unlink.h.
80305         * modules/openat-tests (Files): Likewise.
80306         (Depends-on): Add unlinkdir.
80308         test-fstatat: new test, to expose Solaris 9 bugs
80309         * tests/test-stat.c (main): Factor guts...
80310         * tests/test-stat.h (test_stat_func): ...into new file.
80311         * tests/test-lstat.c (main): Factor guts...
80312         * tests/test-lstat.h (test_lstat_func): ...into new file.
80313         * tests/test-fstatat.c: New file.
80314         * modules/stat-tests (Files): Add test-stat.h.
80315         * modules/lstat-tests (Files): Add test-lstat.h.
80316         (Depends-on): Add stdbool.
80317         * modules/openat-tests (Depends-on): Add pathmax.
80318         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
80319         (Makefile.am): Run new test.
80321         remove: new module, for mingw and Solaris 9 bugs
80322         * modules/remove: New file.
80323         * lib/remove.c: Likewise.
80324         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
80325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
80326         * modules/stdio (Makefile.am): Use them.
80327         * lib/stdio.in.h (remove): Declare replacement.
80328         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80329         * doc/posix-functions/remove.texi (remove): Likewise.
80330         * modules/remove-tests: New test.
80331         * tests/test-remove.c: Likewise.
80333         unlink: new module, for Solaris 9 bug
80334         * modules/unlink: New file.
80335         * lib/unlink.c: Likewise.
80336         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
80337         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80338         * modules/unistd (Makefile.am): Use them.
80339         * lib/unistd.in.h (stat): Declare replacement.
80340         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80341         * doc/posix-functions/unlink.texi (unlink): Likewise.
80342         * modules/unlink-tests: New test.
80343         * tests/test-unlink.c: Likewise.
80345         lstat: fix Solaris 9 bug
80346         * lib/lstat.c (lstat): Also check for trailing slash on
80347         non-symlink, non-directories.  Use stat module to simplify logic.
80348         * doc/posix-functions/lstat.texi (lstat): Document it.
80349         * modules/lstat-tests (Depends-on): Add errno, same-inode.
80350         (configure.ac): Check for symlink.
80351         * tests/test-lstat.c (main): Add more tests.
80353         stat: add as dependency to other modules
80354         * modules/chown (Depends-on): Add stat.
80355         * modules/euidaccess (Depends-on): Likewise.
80356         * modules/fchdir (Depends-on): Likewise.
80357         * modules/isdir (Depends-on): Likewise.
80358         * modules/link (Depends-on): Likewise.
80359         * modules/lstat (Depends-on): Likewise.
80360         * modules/mkdir-p (Depends-on): Likewise.
80361         * modules/modechange (Depends-on): Likewise.
80362         * modules/open (Depends-on): Likewise.
80363         * modules/readlink (Depends-on): Likewise.
80364         * modules/same (Depends-on): Likewise.
80366         stat: fix Solaris 9 bug
80367         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
80368         slash.
80369         * lib/stat.c (rpl_stat): Work around it.
80370         * doc/posix-functions/stat.texi (stat): Update documentation.
80372         stat: new module, for mingw bug
80373         * modules/stat: New file.
80374         * lib/stat.c: Likewise.
80375         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
80376         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80377         * modules/sys_stat (Makefile.am): Use them.
80378         * lib/sys_stat.in.h (stat): Declare replacement.
80379         * lib/openat.c (fstatat): Deal with lstat and stat being function
80380         macros.
80381         * modules/openat (Depends-on): Add inline.
80382         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
80383         * doc/posix-functions/stat.texi (stat): Likewise.
80384         * modules/stat-tests: New test.
80385         * tests/test-stat.c: Likewise.
80387 2009-09-19  Jim Meyering  <meyering@redhat.com>
80389         syntax-check: detect unnecessary inclusion of canonicalize.h
80390         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
80392 2009-09-19  Eric Blake  <ebb9@byu.net>
80394         canonicalize-lgpl: adjust clients to use correct header
80395         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80396         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
80397         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
80398         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
80399         * lib/progreloc.c (includes): Likewise.
80401 2009-09-19  Jim Meyering  <meyering@redhat.com>
80403         test-posixtm.c: correct a comment
80404         * tests/test-posixtm.c: Correct first-line comment.
80405         Spotted by Eric Blake.
80407 2009-09-16  Jim Meyering  <meyering@redhat.com>
80409         posixtm-tests: make T const-correct; add a test case
80410         * tests/test-posixtm.c (T): Declare const.
80411         Add a test for -(2^31+1).
80412         Remove useless can-succeed-only-in-2002 test.
80414         posixtm-tests: adjust the sole failing test
80415         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
80416         expected output matches what mktime now produces.  Cross-checked via
80417         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
80419         posixtm: move #ifdef'd tests into a new module
80420         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
80421         * tests/test-posixtm.c: ... this new file.
80422         * modules/posixtm-tests: New module.
80424 2009-09-19  Eric Blake  <ebb9@byu.net>
80426         openat: simplify use of at-func.c
80427         * lib/at-func.c (includes): Include prerequisites here, to
80428         simplify requirements on client files.
80429         * lib/openat-priv.h: Add double-inclusion guard.
80430         * lib/faccessat.c (includes): Simplify.
80431         * lib/fchmodat.c (includes): Likewise.
80432         * lib/fchownat.c (includes): Likewise.
80433         * lib/mkdirat.c (includes): Likewise.
80434         * lib/mkfifoat.c (includes): Likewise.
80435         * lib/symlinkat.c (includes): Likewise.
80437         openat: allow return of fd 0
80438         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
80439         * modules/save-cwd (Depends-on): Replace fcntl-safer with
80440         unistd-safer.
80441         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
80442         <fcntl.h>; this module does not leak fds.
80443         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
80444         must be allowed to return 0, leaving openat_safer to add the
80445         safety.
80446         (openat_permissive): Avoid writing to just-opened fd 2 if
80447         restoring the current directory fails.
80448         * lib/openat-die.c (openat_restore_fail): Add comment.
80449         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
80450         (save_cwd): Guarantee safe fd, but without use of open_safer.
80451         * tests/test-openat.c: New test.
80452         * modules/openat-tests (Files, Makefile.am): Distribute and build
80453         new file.
80455         relocatable-prog-wrapper: fix build
80456         * modules/relocatable-prog-wrapper (Files): Update name of
80457         canonicalize m4 file, broken on 2009-09-17.
80458         Reported by emad hajjar <aleppos@hotmail.com>.
80460 2009-09-19  Bruno Haible  <bruno@clisp.org>
80462         * lib/safe-alloc.h: Use the standard header with GPL copyright.
80463         * lib/safe-alloc.c: Likewise.
80464         Reported by Ian Beckwith <ianb@erislabs.net>.
80466 2009-09-18  Bruno Haible  <bruno@clisp.org>
80468         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
80469         Reported by <erobles@sensacd.com.mx>.
80471 2009-09-17  Eric Blake  <ebb9@byu.net>
80473         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
80474         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
80475         slashes when checking if last component is missing.
80476         * tests/test-canonicalize.c (main): Test this.
80478         canonicalize, canonicalize-lgpl: honor // if distinct from /
80479         * modules/canonicalize (Files): Add double-slash-root.m4.
80480         * modules/canonicalize-lgpl (Files): Likewise.
80481         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
80482         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
80483         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
80484         fallback definition.
80485         (canonicalize_filename_mode): Use it to protect //.
80486         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
80487         (__realpath): Likewise.
80488         * tests/test-canonicalize.c (main): Test this.
80489         * tests/test-canonicalize-lgpl.c (main): Likewise.
80490         * modules/canonicalize-tests (Depends-on): Add same-inode.
80491         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
80493         canonicalize-lgpl: fix glibc bug with trailing slash
80494         * m4/canonicalize-lgpl.m4: Move contents...
80495         * m4/canonicalize.m4: ...here.
80496         (gl_CANONICALIZE_LGPL): Factor realpath check...
80497         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
80498         glibc 2.3.5 bug, fixed 2005-04-27.
80499         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
80500         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
80501         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
80502         * modules/canonicalize-lgpl (Files): Manage file rename.
80503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80504         * modules/stdlib (Makefile.am): Substitute witness.
80505         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
80506         is needed.
80507         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
80508         replacement is required.
80509         * lib/canonicalize.c (canonicalize_file_name): Likewise.
80510         * doc/glibc-functions/canonicalize_file_name.texi
80511         (canonicalize_file_name): Document this.
80512         * doc/posix-functions/realpath.texi (realpath): Likewise.
80514         canonicalize-lgpl: reject non-directory with trailing slash
80515         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
80516         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
80517         catches failures in glibc 2.3.5.
80518         * tests/test-canonicalize.c (main): Likewise.
80520         canonicalize-lgpl: use native realpath if it works
80521         * lib/canonicalize-lgpl.c (realpath): Guard with
80522         FUNC_REALPATH_WORKS.
80523         * lib/stdlib.in.h (realpath): Make declaration optional based on
80524         HAVE_REALPATH.
80525         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
80526         native realpath works.
80527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
80528         * modules/stdlib (Makefile.am): Substitute witness.
80530         canonicalize, canonicalize-lgpl: use <stdlib.h>
80531         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
80532         (Include): Mention <stdlib.h>.
80533         (configure.ac): Mention functions we provide.
80534         * modules/canonicalize (configure.ac): Likewise.
80535         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
80536         realpath if canonicalize_file_name is missing.
80537         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
80538         * modules/stdlib (Makefile.am): Substitute witnesses.
80539         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
80540         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
80541         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
80542         * NEWS: Document this.
80543         * doc/glibc-functions/canonicalize_file_name.texi
80544         (canonicalize_file_name): Likewise.
80545         * doc/posix-functions/realpath.texi (realpath): Likewise.
80546         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
80548         test-canonicalize: consolidate into single C program
80549         * tests/test-canonicalize.sh: Delete; move setup into...
80550         * tests/test-canonicalize.c (main): ...the program, making it
80551         easier to run in debugger.  Add some tests.
80552         * modules/canonicalize-tests (Files): Remove unused file.
80553         (Depends-on): Add progname.
80554         (configure.ac, Makefile.am): Simplify.
80556         test-canonicalize-lgpl: consolidate into single C program
80557         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
80558         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
80559         easier to run in debugger.  Add some tests.
80560         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
80561         (configure.ac, Makefile.am): Simplify.
80563         canonicalize: avoid resolvepath
80564         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
80565         unnecessary checks.
80566         * lib/canonicalize.c (includes): Simplify.
80567         (canonicalize_file_name): Drop resolvepath implementation.
80568         * modules/canonicalize (Depends-on): Drop filenamecat.
80570         canonicalize: don't lose errno
80571         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
80572         over calls to free.
80574         canonicalize: simplify errno handling
80575         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
80576         assignment.
80578         canonicalize, canonicalize-lgpl: update module dependencies
80579         * modules/canonicalize (Depends-on): Add extensions, lstat,
80580         pathmax, stdlib.
80581         (Files): Drop pathmax.h.
80582         (configure.ac): Adjust macro name.
80583         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
80584         lstat, stdlib, sys_stat.
80585         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
80586         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
80587         extensions.
80588         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
80589         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
80590         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
80591         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
80592         declaration, if available.
80593         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
80594         we can rely on the readlink module.
80595         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
80596         (includes): Use <unistd.h> unconditionally.
80598 2009-09-17  Eric Blake  <ebb9@byu.net>
80600         maint: make Include sections of modules consistent
80601         * modules/alloca: Use only header name; no need to list #include.
80602         * modules/alloca-opt: Likewise.
80603         * modules/arpa_inet: Likewise.
80604         * modules/canon-host: Likewise.
80605         * modules/configmake: Likewise.
80606         * modules/dirent: Likewise.
80607         * modules/eealloc: Likewise.
80608         * modules/environ: Likewise.
80609         * modules/fchdir: Likewise.
80610         * modules/fcntl: Likewise.
80611         * modules/fcntl-h: Likewise.
80612         * modules/gethrxtime: Likewise.
80613         * modules/gettime: Likewise.
80614         * modules/ignore-value: Likewise.
80615         * modules/inet_ntop: Likewise.
80616         * modules/inet_pton: Likewise.
80617         * modules/inttypes: Likewise.
80618         * modules/isnand-nolibm: Likewise.
80619         * modules/isnanf-nolibm: Likewise.
80620         * modules/mbchar: Likewise.
80621         * modules/mbfile: Likewise.
80622         * modules/mbiter: Likewise.
80623         * modules/mbuiter: Likewise.
80624         * modules/netdb: Likewise.
80625         * modules/netinet_in: Likewise.
80626         * modules/nproc: Likewise.
80627         * modules/pagealign_alloc: Likewise.
80628         * modules/poll: Likewise.
80629         * modules/printf-frexp: Likewise.
80630         * modules/pthread: Likewise.
80631         * modules/putenv: Likewise.
80632         * modules/random_r: Likewise.
80633         * modules/relocatable-prog: Likewise.
80634         * modules/search: Likewise.
80635         * modules/select: Likewise.
80636         * modules/selinux-h: Likewise.
80637         * modules/settime: Likewise.
80638         * modules/signal: Likewise.
80639         * modules/size_max: Likewise.
80640         * modules/socklen: Likewise.
80641         * modules/ssize_t: Likewise.
80642         * modules/stdarg: Likewise.
80643         * modules/stdbool: Likewise.
80644         * modules/stddef: Likewise.
80645         * modules/stdint: Likewise.
80646         * modules/stdio: Likewise.
80647         * modules/stdlib: Likewise.
80648         * modules/string: Likewise.
80649         * modules/strings: Likewise.
80650         * modules/sys_file: Likewise.
80651         * modules/sys_ioctl: Likewise.
80652         * modules/sys_select: Likewise.
80653         * modules/sys_socket: Likewise.
80654         * modules/sys_stat: Likewise.
80655         * modules/sys_time: Likewise.
80656         * modules/sys_times: Likewise.
80657         * modules/sys_utsname: Likewise.
80658         * modules/sys_wait: Likewise.
80659         * modules/sysexits: Likewise.
80660         * modules/time: Likewise.
80661         * modules/times: Likewise.
80662         * modules/tmpfile: Likewise.
80663         * modules/trim: Likewise.
80664         * modules/unistd: Likewise.
80665         * modules/wchar: Likewise.
80666         * modules/wctype: Likewise.
80668 2009-09-17  Bruno Haible  <bruno@clisp.org>
80670         Make getdate.y compile on QNX and NetBSD 5 / i386.
80671         * m4/getdate.m4 (gl_GETDATE): Conditionally define
80672         TIME_T_FITS_IN_LONG_INT.
80673         * lib/getdate.y (long_time_t): New type.
80674         (relative_time): Change type of 'seconds' field to long_time_t.
80675         (get_date): Update types of local variables. Check against overflow
80676         during conversion from long_time_t to time_t.
80677         Reported by Matt Kraai <kraai@ftbfs.org>
80678         and Hasso Tepper <hasso@netbsd.org>.
80680 2009-09-17  Bruno Haible  <bruno@clisp.org>
80682         * modules/COPYING: Update copyright years.
80683         * modules/README: Likeiwse.
80684         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
80685         Reported by Ian Beckwith <ianb@erislabs.net>.
80687 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80689         * users.txt: Update references for gnuit package.
80691 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80693         * m4/getdelim.m4: Fix typo in copyright line.
80695 2009-09-17  Bruno Haible  <bruno@clisp.org>
80697         * lib/atoll.c: Use the standard header with GPL copyright.
80698         * lib/argz.in.h: Likewise.
80699         * lib/glob.c: Likewise.
80700         * lib/glob-libc.h: Likewise.
80701         * lib/random_r.c: Likewise.
80702         * lib/siglist.h: Likewise.
80703         * lib/strsignal.c: Likewise.
80704         Reported by Ian Beckwith <ianb@erislabs.net>.
80706 2009-09-17  Eric Blake  <ebb9@byu.net>
80708         rmdir: ensure correct dependency order
80709         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
80711 2009-09-17  Bruno Haible  <bruno@clisp.org>
80713         Disable assertion that fails on NetBSD 5 / i386.
80714         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
80715         Reported by Sam Steingold <sds@gnu.org>
80716         and Hasso Tepper <hasso@netbsd.org>.
80718 2009-09-16  Eric Blake  <ebb9@byu.net>
80720         unlinkdir: port to mingw
80721         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
80722         on which no one can unlink a directory.
80724         stdlib: sort witness names
80725         * modules/stdlib (Makefile.am): Sort replacements.
80726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
80727         * lib/stdlib.in.h: Likewise.
80729         parse-duration-tests: avoid link failure
80730         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
80731         LIBINTL.
80732         Reported by Tom G. Christensen.
80734         openat-tests: ensure unlinkat behaves like rmdir
80735         * tests/test-rmdir.c (main): Factor guts...
80736         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
80737         * modules/rmdir-tests (Files): Ship new file.
80738         * modules/openat-tests: New test.
80739         * tests/test-unlinkat.c: Likewise.
80741         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
80742         * modules/rmdir-errno (Status, Notice): Now obsolete.
80744         rmdir: work around cygwin 1.5.x and mingw bugs
80745         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
80746         * lib/rmdir.c (rmdir): Work around it.
80747         * modules/rmdir (Status, Notice): No longer obsolete.
80748         (Files): Add dos.m4.
80749         (Depends-on): Add unistd.
80750         (configure.ac): Set witnesses.
80751         (License): Relax to LGPLv2+.
80752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
80753         * modules/unistd (Makefile.am): Substitute witnesses.
80754         * lib/unistd.in.h (rmdir): Declare replacement.
80755         * doc/posix-functions/rmdir.texi (rmdir): Document this.
80756         * modules/rmdir-tests: New tests.
80757         * tests/test-rmdir.c: Likewise.
80759 2009-09-15  Eric Blake  <ebb9@byu.net>
80761         fchdir: improve use of replacement functions
80762         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
80763         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
80764         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
80765         REPLACE_CLOSEDIR.
80766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
80767         * modules/sys_stat (Makefile.am): Substitute correct witness.
80768         * modules/dirent (Makefile.am): Likewise.
80769         * modules/unistd (Makefile.am): Likewise.
80770         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
80771         * lib/unistd.in.h (dup): Likewise.
80772         * lib/sys_stat.in.h (fstat): Likewise.
80774         maint: ignore gnulib-tool temp files
80775         * .gitignore: Ignore files created during gnulib-tool --test.
80777 2009-09-13  Jim Meyering  <meyering@redhat.com>
80779         posixtm: don't reject a time that specify "60" as the number of seconds
80780         * lib/posixtm.c (posixtime): The code to reject invalid dates
80781         would also reject a time specified with the .60 suffix.
80782         But POSIX allows that, in order to accommodate leap seconds.
80783         So don't reject it.
80784         (main): Adjust tests accordingly.
80785         * modules/posixtm (Depends-on): Add stpcpy.
80787 2009-09-11  Jim Meyering  <meyering@redhat.com>
80789         announce-gen: include [$release_type] in emitted Subject:
80790         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
80791         e.g., [stable] in the emitted Subject: line.
80793 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80795         Remove obsolete macros from several modules.
80796         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
80797         obsolete Autoconf macros with their modern counterparts.
80798         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
80799         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
80800         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
80801         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
80802         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
80803         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80804         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
80805         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
80806         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
80807         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
80808         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
80809         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
80810         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
80811         * m4/sockets.m4 (gl_SOCKETS): Likewise.
80812         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
80813         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
80814         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
80815         * m4/time_r.m4 (gl_TIME_R): Likewise.
80816         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
80817         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
80818         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
80820         Fix copyright header in build-aux scripts.
80821         * build-aux/git-version-gen: Fix copyright header to match GPLv3
80822         recommendation.
80823         * build-aux/ncftpput-ftp: Likewise.
80824         * build-aux/update-copyright: Likewise.
80826 2009-09-09  Eric Blake  <ebb9@byu.net>
80828         test-link: allow Linux choice of errno
80829         * tests/test-link.c (main): Relax test for alternate error.
80831         strndup: fix improper m4 caching
80832         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
80833         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
80834         (gl_PREREQ_STRNDUP): Delete.
80835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
80836         * modules/string (Makefile.am): Substitute it.
80837         * lib/string.in.h (strndup): Modernize prototype.
80839         getcwd: port to mingw
80840         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
80841         different from the POSIX assumptions made throughout the getcwd
80842         module; fortunately, the mingw getcwd does not need replacement.
80843         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
80844         * modules/getcwd-tests: New test.
80845         * tests/test-getcwd.c: Likewise.
80847         link: fix platform bugs
80848         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
80849         * lib/link.c (link): Work around them.  Fix related mingw bug.
80850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
80851         * modules/unistd (Makefile.am): Substitute it.
80852         * lib/unistd.in.h (link): Declare replacement.
80853         * doc/posix-functions/link.texi (link): Document this.
80854         * modules/link (Depends-on): Add strdup-posix, sys_stat.
80856         test-link: consolidate into single C program, test more cases
80857         * tests/test-link.sh: Delete.
80858         * tests/test-link.c: Test more error conditions.  Exposes bugs on
80859         at least Cygwin and Solaris.
80860         * modules/link-tests (Files): Remove unused file.
80861         (Depends-on): Add errno, sys_stat.
80862         (Makefile.am): Simplify.
80864 2009-09-08  Bruno Haible  <bruno@clisp.org>
80866         Work around towlower, towupper bug on mingw.
80867         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
80868         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
80869         * doc/posix-functions/towlower.texi: Mention the mingw bug.
80870         * doc/posix-functions/towupper.texi: Likewise.
80871         Reported by Eric Blake.
80873 2009-09-08  Jim Meyering  <meyering@redhat.com>
80875         build: don't try to run autoheader if we don't use it
80876         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
80877         is not used in configure.ac.
80879 2009-09-08  Eric Blake  <ebb9@byu.net>
80881         euidaccess: fix compilation error
80882         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
80884         rawmemchr: relax license
80885         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
80886         okay.
80887         Reported by Jim Meyering.
80889         mkfifoat: new module
80890         * modules/mkfifoat: New file.
80891         * lib/mkfifoat.c: Likewise.
80892         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
80893         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80894         * modules/sys_stat (Makefile.am): Use them.
80895         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
80896         * MODULES.html.sh (File system functions): Mention module.
80897         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80898         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80899         * modules/mkfifoat-tests: New test.
80900         * tests/test-mkfifoat.c: Likewise.
80902         strchrnul: relax license
80903         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
80904         okay.
80905         Reported by Jim Meyering.
80907 2009-09-08  Eric Blake  <ebb9@byu.net>
80909         fstatat: fix compilation on Solaris
80910         * lib/fstatat.c (includes): Add fcntl.h.
80911         Reported by Pádraig Brady.
80913 2009-09-07  Eric Blake  <ebb9@byu.net>
80915         rename: modernize replacement
80916         * modules/rename (Depends-on): Add stdio.
80917         (configure.ac): Declare witness.
80918         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
80919         stdio take care of replacement.
80920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
80921         * modules/stdio (Makefile.am): Substitute them.
80922         * lib/stdio.in.h (rename): Declare replacement.
80923         * lib/rename.c (includes): Allow cross-compilation to non-windows
80924         machines.
80925         * doc/posix-functions/rename.texi (rename): Improve
80926         documentation.
80928         stdio: sort witness names
80929         * modules/stdio (Makefile.am): Sort replacements.
80930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
80931         * lib/stdio.in.h: Likewise.
80933         getcwd: minor cleanups
80934         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
80935         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
80937         openat: provide more convenience names
80938         * modules/faccessat (configure.ac): Add C witness.
80939         * lib/unistd.in.h (readlinkat): Fix typo.
80940         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
80941         convenience wrappers.
80942         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
80943         wrappers in syntax checks.
80945 2009-09-06  Eric Blake  <ebb9@byu.net>
80947         doc: fix comments in recent patches
80948         * lib/faccessat.c: Mention correct function.
80949         * lib/fchmodat.c: Likewise.
80950         * lib/fchownat.c: Likewise.
80951         * lib/symlinkat.c: Likewise.
80952         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
80953         constants.
80955         faccessat, symlinkat: continue cleanup of previous patch
80956         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
80957         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80958         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
80959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
80960         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
80961         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
80962         set.
80964 2009-09-06  Bruno Haible  <bruno@clisp.org>
80966         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
80967         (fstatat): Declare if GNULIB_FSTATAT is set.
80968         (mkdirat): Declare if GNULIB_MKDIRAT is set.
80969         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
80970         (unlinkat): Declare if GNULIB_UNLINKAT is set.
80971         * modules/fcntl-h (Files): Remove m4/openat.m4.
80972         * modules/sys_stat (Files): Remove m4/openat.m4.
80973         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
80974         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
80975         * modules/unistd (Files): Remove m4/openat.m4.
80976         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
80977         GNULIB_OPENAT.
80978         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
80979         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
80980         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
80981         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
80982         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
80983         gl_OPENAT_DEFAULTS.
80984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
80985         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
80986         Don't require gl_OPENAT_DEFAULTS.
80987         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
80988         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
80989         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
80990         (gl_OPENAT_DEFAULTS): Remove macro.
80992 2009-09-06  Bruno Haible  <bruno@clisp.org>
80994         * modules/openat (configure.ac): Remove unneeded witness.
80996 2009-09-06  Bruno Haible  <bruno@clisp.org>
80998         Set errno to ENOSYS when a function is entirely unsupported.
80999         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
81000         EOPNOTSUPP.
81001         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81002         * modules/chown (Depends-on): Remove errno.
81004 2009-09-06  Bruno Haible  <bruno@clisp.org>
81006         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
81008 2009-09-06  Bruno Haible  <bruno@clisp.org>
81010         * lib/sys_stat.in.h: Fix preprocessor command indentation.
81012 2009-09-06  Ben Pfaff  <blp@gnu.org>
81013             Bruno Haible  <bruno@clisp.org>
81015         Work around a glibc bug in strtok_r.
81016         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
81017         Undefine if UNDEFINE_STRTOK_R is set.
81018         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
81019         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81020         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
81021         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
81022         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
81023         UNDEFINE_STRTOK_R.
81024         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
81026 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
81028         exclude: minor fix
81029         * lib/exclude.c: Include wctype.h
81031 2009-09-06  Akim Demaille  <demaille@gostai.com>
81033         bootstrap: improve error message
81034         * build-aux/bootstrap (find_tool): Upon failure, report the list
81035         of candidates.
81036         Honor the initial value of the envvar.
81038 2009-09-05  Eric Blake  <ebb9@byu.net>
81040         symlinkat: new module
81041         * modules/symlinkat: New file.
81042         * lib/symlinkat.c: Likewise.
81043         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
81044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
81045         * modules/unistd (Makefile.am): Use them.
81046         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
81047         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
81048         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
81049         * MODULES.html.sh (File system functions): Mention module.
81050         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
81051         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
81052         * modules/symlinkat-tests: New test.
81053         * tests/test-symlinkat.c: Likewise.
81055         test-openat-safer: add more checks
81056         * tests/test-openat-safer.c (main): Check more code paths.
81058 2009-09-05  Jim Meyering  <meyering@redhat.com>
81060         syntax-check: detect unnecessary inclusion of openat.h
81061         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
81063 2009-09-05  Bruno Haible  <bruno@clisp.org>
81065         Support towlower, towupper.
81066         * doc/posix-functions/towlower.texi: Mention module wctype.
81067         * doc/posix-functions/towupper.texi: Likewise.
81068         * lib/wctype.in.h (towlower, towupper): New functions.
81069         * tests/test-wctype.c: Include stdio.h, stdlib.h.
81070         (ASSERT): New macro.
81071         (e): New variable.
81072         (main): Test also towlower, towupper. Test WEOF argument.
81073         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
81075 2009-09-05  Bruno Haible  <bruno@clisp.org>
81077         Fix conversion behaviour when the input is invalid.
81078         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
81079         mark occurring in first pass of indirect conversion.
81080         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
81081         input.
81082         Found by clang's static analyzer.
81084 2009-09-05  Bruno Haible  <bruno@clisp.org>
81086         * tests/test-striconveh.c (main): Test indirect conversion on platforms
81087         where direct conversion is possible.
81089 2009-09-04  Eric Blake  <ebb9@byu.net>
81091         openat: fail with ENOENT on empty name
81092         * lib/openat-proc.c (openat_proc_name): Special-case the empty
81093         buffer.
81095         link-follow: fix logic bug in prior patch
81096         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
81097         reversed sense of yes and no in prior patch.  Avoid confusing
81098         compilation failure with desired semantics.
81100         link-follow: accommodate mingw and cross-compilation
81101         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
81102         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
81103         cross-compilation results to -1, to make linkat easier to
81104         implement when cross-compiling.  Trivially support mingw.
81105         * modules/link-follow (configure.ac): Call new name.
81106         * NEWS: Mention this.
81108 2009-09-03  Eric Blake  <ebb9@byu.net>
81110         faccessat: compile replacement
81111         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
81112         needed.
81114         fts: fix compilation error
81115         * lib/fts.c (includes): Re-add "openat.h", for
81116         openat_needs_fchdir.
81118         faccessat: new module
81119         * modules/faccessat: New file.
81120         * lib/faccessat.c: Likewise.
81121         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
81122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
81123         * modules/unistd (Makefile.am): Use it.
81124         * lib/unistd.in.h (faccessat): Declare it.
81125         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
81126         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
81127         * MODULES.html.sh (File system functions): Mention it.
81128         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
81129         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
81131         euidaccess: prefer POSIX over non-standard implementation
81132         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
81133         * lib/euidaccess.c (euidaccess): Use it if available.
81135         openat: make template easier to use
81136         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
81137         AT_FUNC_F2 to be undefined.
81138         (VALIDATE_FLAG): New macro; use it to reject bad flags.
81139         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
81140         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
81141         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
81142         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
81143         Likewise.
81144         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
81145         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
81146         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
81147         Likewise.
81149         openat: declare in POSIX headers
81150         * NEWS: Mention this.
81151         * modules/openat (configure.ac): Declare witnesses.
81152         (Depends-on): Add fcntl-h, sys_stat, unistd.
81153         (Include): Mention correct headers.
81154         * modules/fcntl-h (Depends-on): Add link-warning.
81155         (Files): Add openat.m4.
81156         (Makefile.am): Substitute witnesses.
81157         * modules/sys_stat (Files, Makefile.am): Likewise.
81158         * modules/unistd (Files, Makefile.am): Likewise.
81159         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
81160         (gl_OPENAT_DEFAULTS): New macro.
81161         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
81162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
81163         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
81164         (SYS_STAT_H): Remove unused variable.
81165         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
81166         * lib/fcntl--.h (includes): Remove unneeded header.
81167         * lib/openat-safer.c (includes): Likewise.
81168         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
81169         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
81170         appropriate headers.
81171         (__OPENAT_PREFIX): Delete.
81172         * lib/fcntl.in.h (openat): Provide declaration.
81173         (AT_FDCWD): Fix Solaris bug.
81174         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
81175         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
81176         * lib/fchmodat.c (includes):  Adjust to find declaration.
81177         * lib/fchownat.c (includes): Likewise.
81178         * lib/mkdirat.c (includes): Likewise.
81179         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
81180         still visible.
81182 2009-09-02  Eric Blake  <ebb9@byu.net>
81184         errno: use consistently
81185         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
81186         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
81187         * lib/canonicalize.c (ELOOP): Likewise.
81188         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
81189         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
81190         * lib/lchown.c (EOPNOTSUPP): Likewise.
81191         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
81192         * lib/savewd.c (ESTALE): Likewise.
81193         * lib/settime.c (ENOSYS): Likewise.
81194         * lib/utimens.c (ENOSYS): Likewise.
81195         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
81196         * lib/chdir-safer.c (ELOOP): Likewise.
81197         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
81198         * modules/c-stack (Depends-on): Add errno.
81199         * modules/canonicalize (Depends-on): Likewise.
81200         * modules/chdir-safer (Depends-on): Likewise.
81201         * modules/fdopendir (Depends-on): Likewise.
81202         * modules/inet_ntop (Depends-on): Likewise.
81203         * modules/inet_pton (Depends-on): Likewise.
81204         * modules/lchown (Depends-on): Likewise.
81205         * modules/openat (Depends-on): Likewise.
81206         * modules/savewd (Depends-on): Likewise.
81207         * modules/settime (Depends-on): Likewise.
81208         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
81210         fts: avoid leaking fds
81211         * modules/fts (Depends-on): Add cloexec.
81212         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
81213         flag.
81215         fts: make directory fds more robust
81216         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
81217         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
81219         backupfile, chdir-long, fts, savedir: make safer
81220         * lib/backupfile.c (includes): Use "dirent--.h", since
81221         numbered_backup can write to stderr during readdir.
81222         * lib/savedir.c (includes): Likewise.
81223         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
81224         emulation can write to stderr on failure.
81225         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
81226         * lib/getcwd.c: Document why opendir_safer is unused.
81227         * lib/glob.c: Likewise.
81228         * lib/scandir.c: Likewise.
81229         * lib/openat-proc.c: Likewise, for open_safer.
81230         * modules/backupfile (Depends-on): Add dirent-safer.
81231         * modules/savedir (Depends-on): Likewise.
81232         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
81233         * modules/chdir-long (Depends-on): Add openat-safer.
81235         openat-safer: new module
81236         * modules/openat-safer: New file.
81237         * lib/openat-safer.c: Likewise.
81238         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
81239         * lib/fcntl-safer.h (openat_safer): Declare.
81240         * lib/fcntl--.h (openat): Override.
81241         * MODULES.html.sh (File descriptor based I/O): Mention it.
81242         * lib/openat.h: Add double-inclusion guards.
81243         * lib/openat.c (includes): Only include "fcntl-safer.h", not
81244         "fcntl--.h", so we can implement openat.
81245         * modules/openat-safer-tests: New test.
81246         * tests/test-openat-safer.c: New file.
81248         dirent-safer: new module
81249         * modules/dirent-safer: New file.
81250         * lib/dirent--.h: Likewise.
81251         * lib/dirent-safer.h: Likewise.
81252         * lib/opendir-safer.c: Likewise.
81253         * m4/dirent-safer.m4: Likewise.
81254         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
81255         * modules/dirent-safer-tests: New test.
81256         * tests/test-dirent-safer.c: New file.
81257         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
81259         fdopendir: optimize on mingw
81260         * lib/unistd.in.h (_gl_directory_name): New prototype.
81261         * lib/fchdir.c (_gl_directory_name): Implement it.
81262         (fchdir): Use it to simplify implementation.
81263         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
81264         fchdir, when available, to avoid calling [f]chdir().
81266         fdopendir: split into its own module
81267         * lib/openat.c (fdopendir): Move...
81268         * lib/fdopendir.c: ...into new file.
81269         * modules/fdopendir: New module.
81270         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
81271         * modules/openat (Depends-on): Add fdopendir.
81272         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
81273         fdopendir here.
81274         * modules/savedir (Depends-on): Only need fdopendir, not full
81275         openat.
81276         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
81277         * lib/openat.h (fdopendir): Drop prototype.
81278         * lib/dirent.in.h (fdopendir): Provide prototype.
81279         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
81280         * modules/dirent (Makefile.am): Substitute them.
81281         * MODULES.html.sh (File system functions): Mention it.
81282         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
81283         * modules/fdopendir-tests: New file.
81284         * tests/test-fdopendir.c: Likewise.
81286         fchdir: use more consistent macro convention
81287         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
81288         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
81289         REPLACE_FCHDIR, rather than relying on config.h macros.
81290         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
81291         inside a single make-time REPLACE_FCHDIR block, rather than using
81292         the config.h FCHDIR_REPLACEMENT.
81293         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
81294         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
81295         Manage fstat replacement.
81296         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
81297         REPLACE_FCHDIR.
81298         * modules/sys_stat (Files): Add m4/unistd_h.m4.
81299         (Makefile.am): Substitute REPLACE_FCHDIR.
81300         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
81301         FCHDIR_REPLACEMENT.
81302         * lib/dup-safer.c (dup_safer): Likewise.
81303         * lib/dup2.c (rpl_dup2): Likewise.
81304         * lib/dup3.c (rpl_dup3): Likewise.
81305         * lib/open.c (rpl_open): Likewise.
81307         fchdir: simplify error handling, and support dup3
81308         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
81309         stdbool, malloc-posix, realloc-posix.
81310         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
81311         (ensure_dirs_slot): Return false on allocation failure.
81312         (rpl_dup2): Delete.
81313         (_gl_register_dup): New function.
81314         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
81315         (_gl_register_fd): Close fd on allocation failure.
81316         * lib/fcntl.in.h (_gl_register_fd): Update signature.
81317         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
81318         prototype.
81319         (rpl_dup2_fchdir): Delete prototype.
81320         * lib/open.c (open): Update caller.
81321         * lib/dup2.c (dup2): Track fchdir metadata.
81322         * lib/dup3.c (dup3): Likewise.
81323         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
81324         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
81326 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81328         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
81329         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
81330         don't pass arguments to AC_OUTPUT.
81332 2009-09-02  Bruno Haible  <bruno@clisp.org>
81334         * modules/mkdtemp (License): Relicense under LGPLv2+.
81335         Reported by Paolo Bonzini.
81337 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81339         Replace uses of obsolete autoconf macros in Jim's modules.
81340         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
81341         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
81342         can evoke a warning from autoconf when run with -Wobsolete
81343         enabled.  They were declared obsolete for good reasons (see
81344         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
81345         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
81346         should not continue using the deprecated macros.
81347         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
81348         obsolete Autoconf macros with modern counterparts.
81349         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81350         * m4/dos.m4 (gl_AC_DOS): Likewise.
81351         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
81352         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
81353         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
81354         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
81355         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
81356         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
81357         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
81358         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
81359         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
81360         Likewise.
81361         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
81362         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81363         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
81364         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
81365         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
81366         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81368 2009-09-01  Eric Blake  <ebb9@byu.net>
81370         fchdir: fix off-by-one bug in previous patch
81371         * lib/fchdir.c (rpl_fstat): Use correct bounds.
81372         (_gl_unregister_fd): Delete useless if.
81374 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
81376         maint.mk: sort the list of syntax-check rules
81377         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
81378         easier to get a sense of progress when the rules are run sequentially
81379         and take a long time.
81381 2009-09-01  Simon Josefsson  <simon@josefsson.org>
81383         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
81384         * modules/netinet_in: Likewise.
81385         * modules/sys_file: Likewise.
81386         * modules/sys_ioctl: Likewise.
81387         * modules/sys_select: Likewise.
81388         * modules/sys_socket: Likewise.
81389         * modules/sys_stat: Likewise.
81390         * modules/sys_time: Likewise.
81391         * modules/sys_times: Likewise.
81392         * modules/sys_utsname: Likewise.
81393         * modules/sys_wait: Likewise.
81395 2009-09-01  Jim Meyering  <meyering@redhat.com>
81397         fts: help ensure that return values are not ignored
81398         * lib/fts_.h (__GNUC_PREREQ): Define.
81399         (__attribute_warn_unused_result__): Define.
81400         (fts_children, fts_close, fts_open, fts_read): Declare with
81401         __attribute_warn_unused_result__.
81403         fts: fts_close now fails also when closing a dir file descriptor fails
81404         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
81405         and propagate to caller, along with errno.
81407         announce-gen: correct formatting in --help output
81408         * build-aux/announce-gen (usage): Move the one-line description in
81409         --help output "up", to where it belongs, just after Usage:.
81411 2009-08-31  Eric Blake  <ebb9@byu.net>
81413         fchdir: port to mingw
81414         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
81415         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
81416         opened, then use a substitute.
81417         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
81418         replacement.
81419         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
81420         (_gl_register_fd): No need to check stat if open already filters
81421         all directories.
81422         (fchdir): Fix error condition to match POSIX.
81423         * modules/fchdir (Depends-on): Add sys_stat.
81424         * doc/posix-functions/open.texi (open): Document the limitation.
81425         * modules/fchdir-tests: New file.
81426         * tests/test-fchdir.c: Likewise.
81428         canonicalize: allow cross-testing from cygwin to mingw
81429         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
81430         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
81431         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
81432         Likewise.
81433         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
81434         target does not support symlinks.
81435         * tests/test-canonicalize-lgpl.sh: Likewise.
81437         chown: avoid compilation warning on mingw
81438         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
81439         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
81440         mingw.
81441         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
81442         * modules/chown (Depends-on): Add errno.
81444 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
81446         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
81447         command.
81449 2009-08-31  Jim Meyering  <meyering@redhat.com>
81451         canonicalize: remove useless initialization
81452         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
81453         initialization of local, "end".
81455 2009-08-30  Bruno Haible  <bruno@clisp.org>
81457         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
81458         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
81459         ENOSYS.
81461 2009-08-30  Bruno Haible  <bruno@clisp.org>
81463         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
81464         /usr/xpg4/bin/tr when it exists.
81465         * tests/test-pipe-filter-gi1.sh: Likewise.
81467 2009-08-30  Bruno Haible  <bruno@clisp.org>
81469         Work around deficient /usr/bin/id program on Solaris.
81470         * tests/test-file-has-acl.sh (ID): New variable.
81471         * tests/test-set-mode-acl.sh (ID): Likewise.
81472         * tests/test-copy-acl.sh (ID): Likewise.
81473         * tests/test-copy-file.sh (ID): Likewise.
81475 2009-08-30  Bruno Haible  <bruno@clisp.org>
81477         New module 'xstriconveh'.
81478         * lib/xstriconveh.h: New file.
81479         * lib/xstriconveh.c: New file.
81480         * modules/xstriconveh: New file.
81482 2009-08-30  Bruno Haible  <bruno@clisp.org>
81484         Make it easier to use mem_cd_iconveh.
81485         * lib/striconveh.h (iconveh_t): New type.
81486         (iconveh_open, iconveh_close): New declarations.
81487         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81488         with a single 'const iconveh_t *' argument.
81489         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
81490         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
81491         with a single 'const iconveh_t *' argument.
81492         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
81493         * tests/test-striconveh.c (main): Update.
81494         * NEWS: Mention the change.
81496 2009-08-30  Bruno Haible  <bruno@clisp.org>
81498         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
81499         problem.
81501 2009-08-30  Bruno Haible  <bruno@clisp.org>
81503         Work around iconv_open problem on Solaris.
81504         * lib/iconv_open-solaris.gperf: New file.
81505         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
81506         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
81507         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
81508         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
81509         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
81510         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
81512 2009-08-29  Jim Meyering  <meyering@redhat.com>
81514         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
81515         * top/maint.mk (cvs-check): Remove target; it was just an alias
81516         to the better-named vc-diff-check.
81517         (maintainer-distcheck): Remove rule.  It was used only from
81518         the (alpha/beta/major) target, and all of its commands but one
81519         were coreutils-specific.
81520         (vc-dist): Remove rule.
81521         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
81522         Run vc-diff-check, not vc-dist.
81523         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
81525 2009-08-27  Bruno Haible  <bruno@clisp.org>
81527         * tests/test-bitrotate.c (main): Remove test that uses a shift count
81528         of 0.
81530 2009-08-27  Bruno Haible  <bruno@clisp.org>
81532         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
81533         compilers.
81534         * doc/func.texi: Document the SunPRO C bug.
81536 2009-08-27  Bruno Haible  <bruno@clisp.org>
81538         Fix link error on Solaris.
81539         * tests/test-parse-duration.c (xstrdup): Remove function.
81541 2009-08-26  Pádraig Brady  <P@draigbrady.com>
81543         ignore-value: handle pointer types, too
81544         * lib/ignore-value.h (__attribute__): Remove definition.
81545         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
81546         of a more concise and more-often effective "(void) i" statement.
81547         (ignore_ptr): New function to suppress warnings from functions that
81548         return pointers, and to make it explicit that one function doesn't
81549         handle all cases.
81551 2009-08-25  Bruno Haible  <bruno@clisp.org>
81553         dup2: work around a Linux bug.
81554         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
81555         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
81556         * doc/posix-functions/dup2.texi: Mention the Linux bug.
81557         Reported by Simon Josefsson.
81559 2009-08-25  Jim Meyering  <meyering@redhat.com>
81561         libguestfs uses gnulib
81562         * users.txt: Add libguestfs.
81564 2009-08-24  Eric Blake  <ebb9@byu.net>
81566         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
81567         * lib/pipe2.c (includes): Add binary-io.h.
81568         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
81570 2009-08-24  Bruno Haible  <bruno@clisp.org>
81572         Tolerate declared but missing accept4 syscall.
81573         * lib/accept4.c (accept4): Invoke original accept4 function first, if
81574         available.
81575         * lib/sys_socket.in.h (accept4): If the function is already present,
81576         override it.
81577         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
81578         * modules/accept4 (Makefile.am): Compile accept4.c always.
81579         Reported by Paolo Bonzini and Eric Blake.
81581 2009-08-23  Bruno Haible  <bruno@clisp.org>
81583         New module 'accept4'.
81584         * lib/sys_socket.in.h (accept4): New declaration.
81585         * lib/accept4.c: New file.
81586         * m4/accept4.m4: New file.
81587         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
81588         GNULIB_ACCEPT4, HAVE_ACCEPT4.
81589         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
81590         HAVE_ACCEPT4.
81591         * modules/accept4: New file.
81592         * doc/glibc-functions/accept4.texi: Mention the new module.
81594 2009-08-24  Jim Meyering  <meyering@redhat.com>
81596         progname: also set global program_invocation_name, when possible
81597         Before this change, a libtool-enabled program that calls glibc's
81598         error function would report the program name as
81599         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
81600         * modules/progname (configure.ac): Check for a declaration of
81601         program_invocation_name.
81602         * lib/progname.c:  Include <errno.h>.
81603         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
81604         Set program_invocation_name.
81606 2009-08-23  Bruno Haible  <bruno@clisp.org>
81608         * lib/dup3.c: Include <string.h>.
81610 2009-08-23  Bruno Haible  <bruno@clisp.org>
81612         * lib/dup3.c (dup3): Test only once whether the system actually exists.
81613         * lib/pipe2.c (pipe2): Likewise.
81614         Suggested by Eric Blake.
81616 2009-08-23  Bruno Haible  <bruno@clisp.org>
81618         Tolerate declared but missing dup3 syscall.
81619         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
81620         * lib/unistd.in.h (dup3): If the function is already present,
81621         override it.
81622         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
81623         * modules/dup3 (Makefile.am): Compile dup3.c always.
81624         Reported by Paolo Bonzini.
81626 2009-08-23  Bruno Haible  <bruno@clisp.org>
81628         Tolerate declared but missing pipe2 syscall.
81629         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
81630         available.
81631         * lib/unistd.in.h (pipe2): If the function is already present,
81632         override it.
81633         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
81634         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
81635         Reported by Paolo Bonzini.
81637 2009-08-23  Bruno Haible  <bruno@clisp.org>
81639         * lib/pipe2.c (pipe2): Move #ifs inside function.
81641 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81643         quotearg: document limitations of quote_these_too
81644         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
81645         those limitations are created.
81646         * lib/quotearg.h (set_char_quoting): Document that digits and
81647         letters that are special after backslash are not permitted.
81648         (quotearg_char): Cross-reference set_char_quoting documentation.
81650 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
81652         quotearg: implement custom_quoting_style
81653         * lib/quotearg.c: (struct quoting_options): Add left_quote and
81654         right_quote fields.
81655         (set_custom_quoting): New public function.
81656         (quotearg_buffer_restyled): Add left_quote and right_quote
81657         arguments, handle them very much like locale quoting, and update
81658         all uses.
81659         (quotearg_n_custom): New public function.
81660         (quotearg_n_custom_mem): New public function.
81661         (quotearg_custom): New public function.
81662         (quotearg_custom_mem): New public function.
81663         * lib/quotearg.h: Prototype and document new public functions.
81664         (enum quoting_style): For escape_quoting_style and
81665         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
81666         ignored even though they're otherwise like c_quoting_style.
81667         Add custom_quoting_style member and document with comparison to
81668         clocale_quoting_style.
81669         * tests/test-quotearg.c (custom_quotes): New array.
81670         (custom_results): New array.
81671         (main): Extend to test custom quoting.
81673 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81675         quotearg: fix right quote escaping when it's in quote_these_too
81676         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
81677         quote, be sure to prepend only one backslash.
81678         * tests/test-quotearg.c (use_quote_double_quotes): New function.
81679         (main): Test it.
81681 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81683         quotearg-tests: test escaping of embedded locale quotes
81684         * tests/test-quotearg.c (struct result_strings): Add member for
81685         new input.
81686         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
81687         (inputs): Add new input.
81688         (results_g): Add expected results.
81689         (flag_results): Likewise.
81690         (locale_results): Likewise.
81691         (compare_strings): Check those.
81693 2009-08-23  Bruno Haible  <bruno@clisp.org>
81695         Tests for module 'dup3'.
81696         * modules/dup3-tests: New file.
81697         * tests/test-dup3.c: New file.
81699         New module 'dup3'.
81700         * lib/unistd.in.h (dup3): New declaration.
81701         * lib/dup3.c: New file.
81702         * m4/dup3.m4: New file.
81703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
81704         HAVE_DUP3.
81705         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
81706         * modules/dup3: New file.
81707         * doc/glibc-functions/dup3.texi: Mention the new module.
81709 2009-08-23  Bruno Haible  <bruno@clisp.org>
81711         Tweak the dup2 test.
81712         * tests/test-dup2.c (main): Create the test file empty. Verify that an
81713         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
81714         the test file is still empty. Fix argument order of lseek.
81716 2009-08-23  Bruno Haible  <bruno@clisp.org>
81718         Avoid test link errors when the modules getopt-gnu, gettext are used.
81719         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
81720         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81722 2009-08-23  Bruno Haible  <bruno@clisp.org>
81724         Fix getdtablesize() on mingw.
81725         * lib/getdtablesize.c (getdtablesize): Implement differently.
81726         * lib/unistd.in.h (getdtablesize): Improve comment.
81728 2009-08-23  Bruno Haible  <bruno@clisp.org>
81730         New module 'mkostemp'.
81731         Based on Ulrich Drepper's 2007-08-10 change in glibc.
81732         * lib/stdlib.in.h (mksotemp): New declaration.
81733         * lib/mkostemp.c: New file, from glibc with modifications.
81734         * lib/tempname.h (GT_FILE): Remove outdated comment.
81735         (gen_tempname): Add flags argument.
81736         * lib/tempname.c (__GT_BIGFILE): Remove macro.
81737         (__GT_FILE): Map to 1.
81738         (small_open, large_open): Remove macros.
81739         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
81740         * lib/mkstemp.c (mkstemp): Update.
81741         * lib/mkdtemp.c (mkdtemp): Likewise.
81742         * m4/mkostemp.m4: New file.
81743         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
81744         HAVE_MKOSTEMP.
81745         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
81746         HAVE_MKOSTEMP.
81747         * modules/mkostemp: New file, based on modules/mkstemp.
81748         * doc/glibc-functions/mkostemp.texi: Mention the new module.
81749         * NEWS: Mention the change.
81751 2009-08-23  Bruno Haible  <bruno@clisp.org>
81753         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
81754         Reported by Eric Blake.
81756 2009-08-23  Bruno Haible  <bruno@clisp.org>
81758         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
81759         Reported by Eric Blake.
81761 2009-08-23  Bruno Haible  <bruno@clisp.org>
81763         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
81764         * modules/pipe2 (Depends-on): Likewise.
81766 2009-08-23  Eric Blake  <ebb9@byu.net>
81768         fcntl-h: add O_TTY_INIT support
81769         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
81770         * tests/test-fcntl-h.c (o): Test it.
81771         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81773         fcntl-h: rename from fcntl, in preparation for fcntl(2)
81774         * modules/fcntl: Move <fcntl.h> header replacement...
81775         * modules/fcntl-h: ...to new name, so as not to collide with
81776         like-named function.
81777         * tests/test-fcntl.c: Rename...
81778         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
81779         * modules/fcntl-tests: Rename...
81780         * modules/fcntl-h-tests: ...to this.  Update test file name.
81781         * modules/chdir-long (Depends-on): Update clients.
81782         * modules/chdir-safer (Depends-on): Likewise.
81783         * modules/fcntl-safer (Depends-on): Likewise.
81784         * modules/fts (Depends-on): Likewise.
81785         * modules/mkancesdirs (Depends-on): Likewise.
81786         * modules/mkdir-p (Depends-on): Likewise.
81787         * modules/open (Depends-on): Likewise.
81788         * modules/savewd (Depends-on): Likewise.
81789         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
81790         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81792 2009-08-22  Bruno Haible  <bruno@clisp.org>
81794         * modules/binary-io (License): Relicense under LGPL.
81795         * modules/pipe2 (License): Likewise.
81797 2009-08-22  Bruno Haible  <bruno@clisp.org>
81799         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
81800         return value.
81801         * lib/pipe-filter-gi.c (filter_init): Likewise.
81802         Reported by Eric Blake.
81804 2009-08-22  Bruno Haible  <bruno@clisp.org>
81806         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
81807         * modules/pipe (Depends-on): Add pipe2.
81809 2009-08-22  Bruno Haible  <bruno@clisp.org>
81811         Tests for module 'pipe2'.
81812         * modules/pipe2-tests: New file.
81813         * tests/test-pipe2.c: New file.
81815         New module 'pipe2'.
81816         * lib/unistd.in.h (pipe2): New declaration.
81817         * lib/pipe2.c: New file.
81818         * m4/pipe2.m4: New file.
81819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
81820         HAVE_PIPE2.
81821         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
81822         * modules/pipe2: New file.
81823         * doc/glibc-functions/pipe2.texi: Mention the new module.
81825 2009-08-22  Bruno Haible  <bruno@clisp.org>
81827         Reference some new glibc functions.
81828         * doc/glibc-functions/accept4.texi: New file.
81829         * doc/glibc-functions/dup3.texi: New file.
81830         * doc/glibc-functions/mkostemp.texi: New file.
81831         * doc/glibc-functions/pipe2.texi: New file.
81832         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
81833         (Glibc sys/socket.h): Refer to accept4.
81834         (Glibc unistd.h): Refer to dup3, pipe2.
81835         Reported by Eric Blake.
81837 2009-08-22  Jim Meyering  <meyering@redhat.com>
81838             Bruno Haible  <bruno@clisp.org>
81840         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
81841         This makes it so packages using automake-1.11's silent-rules option
81842         can print e.g., a single "GEN    configmake.h" line, rather than
81843         the 30+ statements that perform the job.  If you want to see the
81844         actual commands, you can still run "make V=1".
81845         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
81846         so that make output is abbreviated when those variables are defined
81847         appropriately.
81848         * modules/argz: Likewise.
81849         * modules/arpa_inet: Likewise.
81850         * modules/byteswap: Likewise.
81851         * modules/configmake: Likewise.
81852         * modules/dirent: Likewise.
81853         * modules/errno: Likewise.
81854         * modules/fcntl: Likewise.
81855         * modules/float: Likewise.
81856         * modules/fnmatch: Likewise.
81857         * modules/getopt-posix: Likewise.
81858         * modules/glob: Likewise.
81859         * modules/iconv_open: Likewise.
81860         * modules/inttypes: Likewise.
81861         * modules/localcharset: Likewise.
81862         * modules/locale: Likewise.
81863         * modules/math: Likewise.
81864         * modules/netdb: Likewise.
81865         * modules/netinet_in: Likewise.
81866         * modules/poll: Likewise.
81867         * modules/posix_spawnp-tests: Likewise.
81868         * modules/sched: Likewise.
81869         * modules/search: Likewise.
81870         * modules/selinux-h: Likewise.
81871         * modules/signal: Likewise.
81872         * modules/spawn: Likewise.
81873         * modules/stdarg: Likewise.
81874         * modules/stdbool: Likewise.
81875         * modules/stddef: Likewise.
81876         * modules/stdint: Likewise.
81877         * modules/stdio: Likewise.
81878         * modules/stdlib: Likewise.
81879         * modules/string: Likewise.
81880         * modules/strings: Likewise.
81881         * modules/sys_file: Likewise.
81882         * modules/sys_ioctl: Likewise.
81883         * modules/sys_select: Likewise.
81884         * modules/sys_socket: Likewise.
81885         * modules/sys_stat: Likewise.
81886         * modules/sys_time: Likewise.
81887         * modules/sys_times: Likewise.
81888         * modules/sys_utsname: Likewise.
81889         * modules/sys_wait: Likewise.
81890         * modules/sysexits: Likewise.
81891         * modules/time: Likewise.
81892         * modules/unistd: Likewise.
81893         * modules/wchar: Likewise.
81894         * modules/wctype: Likewise.
81896 2009-08-22  Jim Meyering  <meyering@redhat.com>
81898         announce-gen: detect write failure
81899         * build-aux/announce-gen: Add Coda at end.
81900         Remove equivalent-but-more-verbose block at top.
81902 2009-08-19  Akim Demaille  <demaille@gostai.com>
81904         bootstrap: --help to stdout.
81905         * bootstrap (usage): Don't send --help to stderr.
81906         Use a here doc instead of a long string.
81908 2009-08-21  Eric Blake  <ebb9@byu.net>
81910         test-popen-safer: split from test-popen
81911         * tests/test-popen.c (main): Move...
81912         * tests/test-popen.h: ...into new file.
81913         * tests/test-popen-safer2.c: New file.
81914         * modules/popen-tests (Files): Add test-popen.h.
81915         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
81916         Suggested by Bruno Haible.
81918         test-fcntl-safer: split from test-open
81919         * tests/test-open.c (main): Move...
81920         * tests/test-open.h: ...into new file.
81921         * tests/test-fcntl-safer.c: New file.
81922         * modules/open-tests (Files): Add test-open.h.
81923         * modules/fcntl-safer-tests: New file.
81924         Suggested by Bruno Haible.
81926         test-fopen-safer: split from test-fopen
81927         * tests/test-fopen.c (main): Move...
81928         * tests/test-fopen.h: ...into new file.
81929         * tests/test-fopen-safer.c: New file.
81930         * modules/fopen-tests (Files): Add test-fopen.h.
81931         * modules/fopen-safer-tests: New file.
81932         Suggested by Bruno Haible.
81934 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81936         popen-safer: test O_CLOEXEC at run-time.
81937         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
81939 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81941         fcntl: move more flags to the header
81942         * lib/cloexec.c: Do not define FD_CLOEXEC here.
81943         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
81944         * lib/fcntl.in.h: Do both things here.
81946 2009-08-21  Jim Meyering  <meyering@redhat.com>
81948         consistently remove $@-t before redirecting to it
81949         * modules/argz: Remove $@-t and $@ before redirecting to the former.
81950         * modules/alloca-opt: Likewise.
81951         * modules/byteswap: Likewise.
81952         * modules/fnmatch: Likewise.
81953         * modules/getopt-posix: Likewise.
81954         * modules/glob: Likewise.
81955         * modules/poll: Likewise.
81956         * modules/posix_spawnp-tests: Likewise.
81957         * modules/sys_socket: Likewise.
81958         * modules/sysexits: Likewise.
81960 2009-08-21  Eric Blake  <ebb9@byu.net>
81962         popen: simplify access to original popen
81963         * lib/popen.c (rpl_popen): No need to worry about popen being a
81964         macro.
81965         Reported by Bruno Haible.
81967 2009-08-20  Eric Blake  <ebb9@byu.net>
81969         build: avoid some compiler warnings
81970         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
81971         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
81972         type.
81973         (new_exclude_segment, excluded_file_pattern_p)
81974         (excluded_file_name_p): Reduce scope.
81975         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
81976         old-style declaration.
81978 2009-08-20  Simon Josefsson  <simon@josefsson.org>
81980         * tests/test-exclude1.sh: Handle Windows EOL.
81981         * tests/test-exclude2.sh: Likewise.
81982         * tests/test-exclude3.sh: Likewise.
81983         * tests/test-exclude4.sh: Likewise.
81984         * tests/test-exclude5.sh: Likewise.
81985         * tests/test-exclude6.sh: Likewise.
81986         * tests/test-exclude7.sh: Likewise.
81988 2009-08-19  Akim Demaille  <demaille@gostai.com>
81990         bootstrap: find sha1sum when named gsha1sum.
81991         * bootstrap (find_tool): New.
81992         ($SHA1SUM): New.
81993         Use it.
81995 2009-08-20  Jim Meyering  <meyering@redhat.com>
81997         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
81998         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
81999         expression that converts "." in a file name to "\." in the resulting
82000         regexp.  Start with a dummy statement, so that prior shell variable
82001         definitions are expanded portably.  Reported by Simon Josefsson.
82003 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
82005         Fix polling for writeability of a screen buffer.
82006         * lib/poll.c: Distinguish input and screen buffers for the
82007         Win32 implementation.
82008         * lib/select.c: Likewise.
82010 2009-08-19  Eric Blake  <ebb9@byu.net>
82012         popen-safer: prevent popen from clobbering std descriptors
82013         * modules/popen-safer: New file.
82014         * lib/popen-safer.c: Likewise.
82015         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
82016         * lib/stdio--.h (popen): Provide override.
82017         * lib/stdio-safer.h (popen_safer): Provide declaration.
82018         * tests/test-popen.c (includes): Partially test this.
82019         * modules/popen-safer-tests: New file, for more tests.
82020         * tests/test-popen-safer.c: Likewise.
82021         * MODULES.html.sh (file stream based Input/Output): Mention it.
82023         tests: test some of the *-safer modules
82024         * modules/fopen-safer (Depends-on): Add fopen.
82025         * modules/fcntl-safer (Depends-on): Add fcntl.
82026         * modules/stdlib-safer (Depends-on): Add stdlib.
82027         (configure.ac): Set indicator.
82028         * modules/unistd-safer (configure.ac): Likewise.
82029         * modules/tmpfile-safer (configure.ac): Likewise.
82030         (Depends-on): Add tmpfile.
82031         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
82032         active.
82033         * tests/test-fopen.c (includes): Test safer versions when they are
82034         in use.
82035         * tests/test-open.c (includes): Likewise.
82037         popen: fix cygwin 1.5 bug when stdin closed
82038         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
82039         * modules/popen: New file.
82040         * modules/popen-tests: Likewise.
82041         * tests/test-popen.c: Likewise.
82042         * m4/popen.m4: Likewise.
82043         * lib/popen.c: Likewise.
82044         * lib/stdio.in.h (popen): New declaration.
82045         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
82046         * modules/stdio (Makefile.am): Likewise.
82047         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
82049 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
82051         maint.mk: give full control over update-copyright exclusions
82052         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
82053         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
82054         (update-copyright): Don't force inclusion of top-level
82055         ChangeLog.  Don't force exclusion of all COPYING files, but make
82056         them the default exclusion instead.
82058 2009-08-16  Bruno Haible  <bruno@clisp.org>
82060         Fix test failures on Solaris 10.
82061         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
82062         tests when Solaris iconv() is used.
82063         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
82064         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
82065         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
82066         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
82067         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
82069 2009-08-16  Bruno Haible  <bruno@clisp.org>
82071         Fix test failures on Solaris 10.
82072         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
82073         'tr' program and pass it as first argument.
82074         * tests/test-pipe-filter-gi1.sh: Likewise.
82075         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
82076         program as first argument.
82077         * tests/test-pipe-filter-gi1.c (main): Likewise.
82079 2009-08-16  Eric Blake  <ebb9@byu.net>
82081         fpurge: fix previous commits
82082         * modules/fpurge (Makefile.am): Make replacement conditional,
82083         partially reverting 2007-04-29 change; missed in previous
82084         attempt.
82085         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
82086         is missing.
82088 2009-08-16  Bruno Haible  <bruno@clisp.org>
82090         Clarify fpurge's effect on the file position.
82091         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
82092         * tests/test-fpurge.c (main): Make a second pass for checking the file
82093         position.
82095 2009-08-16  Bruno Haible  <bruno@clisp.org>
82097         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
82098         declaration of fpurge is missing.
82099         * tests/test-fpurge.c (main): Check that the file has not more contents
82100         than expected. Close the file before removing it.
82102 2009-08-15  Eric Blake  <ebb9@byu.net>
82104         fpurge: don't wrap working cygwin implementation
82105         * lib/fpurge.c (fpurge): Fix comment typo.
82106         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
82107         1.7 to avoid replacement.
82108         * tests/test-fpurge.c (main): Enhance test.
82110 2009-08-15  Eric Blake  <ebb9@byu.net>
82111         and Jim Meyering  <meyering@redhat.com>
82113         test-update-copyright: skip if perl is insufficient
82114         * tests/test-update-copyright.sh: Failure to run maintainer tool
82115         should not cause testsuite failure on cygwin 1.5.
82117 2009-08-14  Eric Blake  <ebb9@byu.net>
82119         doc: mention more functions added in cygwin 1.7.0
82120         * doc/posix-headers/limits.texi (limits.h): Update for recent
82121         cygwin additions.
82122         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
82123         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
82124         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
82125         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
82126         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
82128 2009-08-14  Eric Blake  <ebb9@byu.net>
82130         maint.mk: simplify update-copyright rule
82131         * top/maint.mk (update-copyright-local): Delete, and document how
82132         to do it in cfg.mk instead.
82133         (update-copyright-exclude-regexp): Delete, and document how to do
82134         it in .x-update-copyright instead.
82135         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
82136         exclude ChangeLog.
82138 2009-08-14  Bruno Haible  <bruno@clisp.org>
82140         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
82142 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82144         maint.mk: support update-copyright-env
82145         * top/maint.mk (update-copyright-env): Define place-holder.
82146         (update-copyright): Expand $(update-copyright-env) before
82147         invoking update-copyright.
82149 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82151         update-copyright: implement forced reformatting
82152         * build-aux/update-copyright: Implement and document
82153         UPDATE_COPYRIGHT_FORCE.
82154         * tests/test-update-copyright.sh: Test it.
82156 2009-08-14  Eric Blake  <ebb9@byu.net>
82157         and Bruno Haible  <bruno@clisp.org>
82159         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
82160         * tests/test-locale.c: Revert previous patch related to NULL.
82161         * tests/test-stdio.c: Likewise.
82162         * tests/test-stdlib.c: Likewise.
82163         * tests/test-string.c: Likewise.
82164         * tests/test-unistd.c: Likewise.
82165         * modules/time-tests (Depends-on): Add verify.
82166         * modules/wchar-tests (Depends-on): Likewise.
82167         * tests/test-time.c: Test for NULL compliance.
82168         * tests/test-wchar.c: Likewise.
82169         * modules/locale (Depends-on): Add stddef.
82170         * modules/stdio (Depends-on): Likewise.
82171         * modules/stdlib (Depends-on): Likewise.
82172         * modules/string (Depends-on): Likewise.
82173         * modules/time (Depends-on): Likewise.
82174         * modules/unistd (Depends-on): Likewise.
82175         * modules/wchar (Depends-on): Likewise.
82176         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
82177         * lib/stdlib.in.h (includes): Likewise.
82178         * lib/string.in.h (includes): Likewise.
82179         * lib/time.in.h (includes): Likewise.
82180         * lib/unistd.in.h (includes): Likewise.
82181         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
82182         replaced.
82183         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82184         * m4/stddef_h.m4: New file.
82185         * modules/stddef: Likewise.
82186         * lib/stddef.in.h: Likewise.
82187         * modules/stddef-tests: Likewise.
82188         * tests/test-stddef.c: Likewise.
82189         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
82190         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
82191         * doc/posix-headers/locale.texi (locale.h): Likewise.
82192         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
82193         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
82194         * doc/posix-headers/string.texi (string.h): Likewise.
82195         * doc/posix-headers/time.texi (time.h): Likewise.
82196         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
82197         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
82199 2009-08-14  Eric Blake  <ebb9@byu.net>
82201         doc: improve git diff of texinfo files
82202         * .gitattributes: Add rule for *.texi files, with hint on how to
82203         use it.
82204         Copied from m4, and based on a report by Bruno Haible.
82206 2009-08-14  Bruno Haible  <bruno@clisp.org>
82208         Disable multithread support by default on Cygwin 1.5.x for real.
82209         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
82211 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
82213         update-copyright: much ado about intervals
82214         * build-aux/update-copyright: Implement and document
82215         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
82216         of copyright year intervals.
82217         Also, document UPDATE_COPYRIGHT_YEAR.
82218         * tests/test-update-copyright.sh: Test it.
82220         update-copyright: convert 2-digit to 4-digit years
82221         * build-aux/update-copyright: Implement and document.
82222         * tests/test-update-copyright.sh: Update.
82224 2009-08-14  Jim Meyering  <meyering@redhat.com>
82226         test-exclude: avoid coreutils "make check" failure
82227         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
82228         just as in test-argmatch.c.
82230 2009-08-13  Eric Blake  <ebb9@byu.net>
82232         test-dup2: fix bad assumption
82233         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
82234         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
82236         test-version-etc: fix CRLF portability issue
82237         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
82238         recognize \r.
82239         * tests/test-argp-version-etc-1.sh: Likewise.
82241         getopt: update client modules
82242         * modules/argp (Depends-on): Use getopt-gnu.
82243         * modules/git-merge-changelog (Depends-on): Likewise.
82244         * modules/long-options (Depends-on): Likewise.
82245         * modules/xstrtol (Depends-on): Likewise.
82247 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82249         * tests/test-version-etc.sh: Don't fail on different
82250         project/version.  Don't fail on CRLF differences.  Rewrite to use
82251         multiple -e instead of multiple sed forks, suggested by Eric Blake
82252         <ebb9@byu.net>.
82253         * tests/test-argp-version-etc-1.sh: Likewise.
82255 2009-08-13  Simon Josefsson  <simon@josefsson.org>
82257         * tests/test-version-etc.sh: Don't fail on different
82258         project/version.
82260 2009-08-12  Bruno Haible  <bruno@clisp.org>
82262         Tests for modules 'getopt-posix', 'getopt-gnu'.
82263         * modules/getopt-posix-tests: New file.
82264         * tests/test-getopt.c: New file.
82265         * tests/test-getopt.h: New file.
82266         * tests/test-getopt_long.h: New file.
82268         New modules 'getopt-posix', 'getopt-gnu'.
82269         * modules/getopt-gnu: New file, renamed from modules/getopt.
82270         * modules/getopt-posix: New file.
82271         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
82272         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
82273         (gl_GETOPT): Remove macro.
82274         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
82275         Disable the test against BSD systems that declare optreset. Test
82276         against mingw bug. Test against lack of support of optional arguments
82277         on many platforms.
82278         * doc/glibc-headers/getopt.texi: Update module name and list of
82279         relevant platforms.
82280         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
82281         'getopt-gnu' and more portability problems.
82282         * NEWS: Mention the changes.
82284 2009-08-12  Bruno Haible  <bruno@clisp.org>
82286         Ensure that optarg etc. get declared by <unistd.h>.
82287         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
82288         AC_USE_SYSTEM_EXTENSIONS.
82289         * modules/getopt (Depends-on): Add 'extensions'.
82291 2009-08-12  Bruno Haible  <bruno@clisp.org>
82293         Avoid test link errors.
82294         * modules/pipe-filter-ii-tests (Makefile.am): Define
82295         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
82296         * modules/pipe-filter-gi-tests (Makefile.am): Define
82297         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
82298         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82300 2009-08-12  Bruno Haible  <bruno@clisp.org>
82302         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
82303         gl_GETOPT_SUBSTITUTE before.
82304         (gl_GETOPT): Use it.
82305         * m4/argp.m4 (gl_ARGP): Update.
82306         Reported by Sergey Poznyakoff.
82308         * m4/getopt.m4: Reorder macros.
82309         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
82310         (gl_GETOPT_SUBSTITUTE): Remove macro.
82312 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82314         Minor improvement in gitlog-to-changelog
82316         * build-aux/gitlog-to-changelog: New option `--format' makes
82317         output format string configurable.
82319 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
82321         Optimize exclude: use hash tables for non-wildcard patterns.
82323         * lib/exclude.c: Include hash.h and mbuiter.h
82324         (struct exclude_pattern, exclude_segment): New data types.
82325         (struct exclude): Rewrite.
82326         (fnmatch_pattern_has_wildcards): New function.
82327         (new_exclude_segment, free_exclude_segment): New functions.
82328         (excluded_file_pattern_p, excluded_file_name_p): New functions.
82329         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
82330         * lib/exclude.h (is_fnmatch_pattern): New prototype.
82331         * modules/exclude: Depend on hash and mbuiter.
82333         * modules/exclude-tests: New file.
82334         * tests/test-exclude.c: New file.
82335         * tests/test-exclude1.sh: New file.
82336         * tests/test-exclude2.sh: New file.
82337         * tests/test-exclude3.sh: New file.
82338         * tests/test-exclude4.sh: New file.
82339         * tests/test-exclude5.sh: New file.
82340         * tests/test-exclude6.sh: New file.
82341         * tests/test-exclude7.sh: New file.
82343 2009-08-12  Bruno Haible  <bruno@clisp.org>
82345         Ensure that getopt() gets declared by <unistd.h>.
82346         * lib/unistd.in.h: Conditionally include getopt.h.
82347         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
82348         Set GNULIB_UNISTD_H_GETOPT.
82349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82350         GNULIB_UNISTD_H_GETOPT.
82351         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
82353 2009-08-12  Bruno Haible  <bruno@clisp.org>
82355         Clarify logic.
82356         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
82357         gl_replace_getopt instead of GETOPT_H.
82359 2009-08-12  Bruno Haible  <bruno@clisp.org>
82361         * m4/getopt.m4: Add comments.
82363 2009-08-12  Bruno Haible  <bruno@clisp.org>
82365         Disable multithread support by default on Cygwin 1.5.x.
82366         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
82367         set gl_use_threads=no if not specified otherwise.
82369 2009-08-11  Bruno Haible  <bruno@clisp.org>
82371         Avoid compilation error on NetBSD 5.0.
82372         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
82373         * tests/test-stdio.c: Likewise.
82374         * tests/test-stdlib.c: Likewise.
82375         * tests/test-string.c: Likewise.
82376         * tests/test-unistd.c: Likewise.
82377         Reported by Greg Troxel <gdt@ir.bbn.com>
82378         at <https://savannah.gnu.org/support/?106973>.
82380 2009-08-11  Bruno Haible  <bruno@clisp.org>
82382         * modules/dup2-tests (Depends-on): Remove close.
82384         Undo 2009-07-19 commit.
82385         * modules/acl-tests (Depends-on): Remove close.
82386         * modules/binary-io-tests (Depends-on): Likewise.
82387         * modules/closein-tests (Depends-on): Likewise.
82388         * modules/flock-tests (Depends-on): Likewise.
82389         * modules/fsync-tests (Depends-on): Likewise.
82390         * modules/lseek-tests (Depends-on): Likewise.
82391         * modules/pipe-tests (Depends-on): Likewise.
82392         * modules/posix_spawn-tests (Depends-on): Likewise.
82393         * modules/posix_spawnp-tests (Depends-on): Likewise.
82394         * modules/stat-time-tests (Depends-on): Likewise.
82395         * modules/yesno-tests (Depends-on): Likewise.
82397 2009-08-10  Bruno Haible  <bruno@clisp.org>
82399         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
82401 2009-08-10  Bruno Haible  <bruno@clisp.org>
82403         Fix a gcc warning.
82404         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
82406 2009-08-10  Bruno Haible  <bruno@clisp.org>
82408         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
82409         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
82410         not only the first time.
82411         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
82412         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
82413         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
82414         is 1, not only the first time.
82416 2009-08-10  Bruno Haible  <bruno@clisp.org>
82418         Make it possible to use module 'gethostname' without module 'close'.
82419         * lib/unistd.in.h (close): Evoke a link error only if
82420         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
82422         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82423         * modules/unistd (Makefile.am): Substitute
82424         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82425         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
82426         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
82427         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
82428         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82429         * modules/sys_ioctl (Makefile.am): Substitute
82430         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82431         * modules/socket (configure.ac): On native Windows, set
82432         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
82433         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
82434         Reported by Sam Steingold <sds@gnu.org>.
82436 2009-08-10  Bruno Haible  <bruno@clisp.org>
82438         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
82439         * modules/ioctl (configure.ac): Likewise.
82441 2009-08-10  Bruno Haible  <bruno@clisp.org>
82443         Avoid collision between gnulib wrapper and libintl wrapper.
82444         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
82445         already defined in intl/printf.c.
82446         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
82447         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
82449 2009-08-09  Bruno Haible  <bruno@clisp.org>
82451         Make <sys/select.h> really self-contained, also on Solaris 10.
82452         * lib/sys_select.in.h: Include <string.h>.
82453         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
82454         Solaris 10 problem.
82455         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
82456         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
82457         Reported by Jim Meyering.
82459 2009-08-09  Bruno Haible  <bruno@clisp.org>
82461         Avoid warnings from 'aclocal' that are due to a use of macro name
82462         AM_XGETTEXT_OPTION that is not defined in automake.
82463         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
82464         automake.
82465         * modules/error (configure.ac): Likewise.
82466         * modules/propername (configure.ac): Likewise.
82467         * modules/vasprintf (configure.ac): Likewise.
82468         * modules/verror (configure.ac): Likewise.
82469         * modules/xprintf (configure.ac): Likewise.
82470         * modules/xvasprintf (configure.ac): Likewise.
82472 2009-08-08  Bruno Haible  <bruno@clisp.org>
82474         Avoid compilation error in C++ mode.
82475         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
82476         Reported by Sam Steingold <sds@gnu.org>.
82478 2009-08-08  Bruno Haible  <bruno@clisp.org>
82480         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
82481         for the various Unix platforms.
82482         * doc/posix-headers/limits.texi: Update platforms list regarding
82483         HOST_NAME_MAX.
82484         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82486 2009-08-07  Jim Meyering  <meyering@redhat.com>
82488         selinux-at: fix typo in a comment
82489         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
82490         Spotted by Paolo Bonzini.
82492         selinux-at: remove redundant m4 code, add documentation
82493         * modules/selinux-at (configure.ac): Remove redundant code.
82494         LIB_SELINUX is already set via the dependent module, selinux-h.
82495         (Include): Add quotes around selinux-at.h.
82496         * lib/selinux-at.h: Add documentation.
82497         Reported by Bruno Haible in
82498         http://marc.info/?l=gnulib-bug&m=124958988300749
82500 2009-08-07  Bruno Haible  <bruno@clisp.org>
82502         Avoid link error on MacOS X 10.3 and 10.4.
82503         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
82504         on non-ELF systems.
82505         * lib/argp-pv.c (argp_program_version): Likewise.
82506         Reported by Simon Josefsson.
82508 2009-08-07  Simon Josefsson  <simon@josefsson.org>
82510         * tests/test-version-etc.sh: Use $EXEEXT.
82512 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
82514         update-copyright: update documentation to point to maint.mk
82515         * build-aux/update-copyright: Here.
82517 2009-08-06  Jim Meyering  <meyering@redhat.com>
82519         maint.mk: support update-copyright-local
82520         * top/maint.mk (update-copyright-local): Define place-holder.
82521         (update-copyright): Depend on $(update-copyright-local).
82523 2009-08-06  Jim Meyering  <meyering@redhat.com>
82525         selinux-at: new module
82526         Initially written for coreutils, this module will soon be
82527         used by findutils, too.
82528         * MODULES.html.sh [Misc]: Add selinux-at.
82529         * lib/selinux-at.h: New file, from coreutils.
82530         * lib/selinux-at.c: Likewise.
82531         * modules/selinux-at: Likewise.
82532         (License): Change from LGPL to GPL, since it depends
82533         on the GPL'd openat module.
82535         doc: update README
82536         * README: Remove references to cogito.
82537         Remove cvs-repo-updating instructions from 2007.
82538         Don't imply that CVS is better if you have limited disk space.
82540 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82542         update-copyright: support C-style comments
82543         * build-aux/update-copyright: Implement and document.
82544         * tests/test-update-copyright.sh: Test.
82546 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82548         update-copyright: support omitted "(C)"
82549         * build-aux/update-copyright: Implement and document.  Also,
82550         allow variable whitespace before "(C)".
82551         * tests/test-update-copyright.sh: Test.
82553 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82555         update-copyright: don't trip on non-FSF copyright statements
82556         * build-aux/update-copyright: Fix so that the first correctly
82557         formatted FSF copyright statement is recognized no matter what
82558         appears before it.  Update documentation.
82559         * tests/test-update-copyright.sh: Test that.
82561 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82563         update-copyright: clean up code a little
82564         * build-aux/update-copyright: Append "_re" to the name of any
82565         variable holding a regular expression.
82566         Replace "old" and "new" with "stmt" in variable names.
82567         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
82568         handled correctly.
82569         Format code more consistently.
82571 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82573         update-copyright-tests: improve portability
82574         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
82575         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
82577 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82579         update-copyright: support @copyright{} and &copy;
82580         * build-aux/update-copyright: Implement and document.
82581         * tests/test-update-copyright.sh: Test.
82583 2009-08-04  Jim Meyering  <meyering@redhat.com>
82585         update-copyright-tests: correctly test EOL=\r\n handling
82586         * tests/test-update-copyright.sh: Put \r at the end of some lines
82587         for the dos-eol tests.  Based on a patch by Joel E. Denny.
82589         maint.mk: make update-copyright exclusion list more configurable
82590         * top/maint.mk (update-copyright): Default to excluding COPYING,
82591         but allow an override, in case someone does want to update that file.
82593         maint.mk: don't update copyright date in COPYING
82594         * top/maint.mk (update-copyright): Exclude COPYING.
82596         maint.mk: add a copyright-updating rule
82597         * top/maint.mk (update-copyright): New rule.
82598         Derived from coreutils/Makefile.am.
82600         update-copyright: rename some variables
82601         * build-aux/update-copyright: Rename a few variables for clarity.
82602         Tweak syntax.  List Joel E. Denny as coauthor.
82604 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82606         update-copyright: fix bug for 2-digit last year and add tests
82607         * build-aux/update-copyright: Fix bug.
82608         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
82609         specified.
82610         * modules/update-copyright-tests: New
82611         * tests/test-update-copyright.sh: New.
82613 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82615         update-copyright: handle leading tabs in line prefix
82616         * build-aux/update-copyright: Count leading tabs as 8 spaces
82617         when computing margin.  This helps with the formatting of
82618         ChangeLogs, for example.
82619         Fix documentation a little.
82621 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82623         update-copyright: support EOL=\r\n
82624         * build-aux/update-copyright: Implement that.
82626 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82628         update-copyright: automatically format copyright statements
82629         * build-aux/update-copyright: Implement that.
82630         Also, be a little more predictable and safer by always failing
82631         when the full copyright format is not perfectly recognized as an
82632         unbroken whole.  Discussed at
82633         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
82634         Rewrite documentation.
82636 2009-08-03  Bruno Haible  <bruno@clisp.org>
82638         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
82640 2009-08-02  Bruno Haible  <bruno@clisp.org>
82642         Tests for module 'uname'.
82643         * modules/uname-tests: New file.
82644         * tests/test-uname.c: New file.
82646         New module 'uname'.
82647         * lib/uname.c: New file.
82648         * m4/uname.m4: New file.
82649         * modules/uname: New file.
82650         * doc/posix-functions/uname.texi: Mention the new module.
82652 2009-08-02  Bruno Haible  <bruno@clisp.org>
82654         Tests for module 'sys_utsname'.
82655         * modules/sys_utsname-tests: New file.
82656         * tests/test-sys_utsname.c: New file.
82658         New module 'sys_utsname'.
82659         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
82660         * m4/sys_utsname_h.m4: New file.
82661         * modules/sys_utsname: New file.
82662         * doc/posix-headers/sys_utsname.texi: Mention the new module.
82664 2009-08-02  Bruno Haible  <bruno@clisp.org>
82666         Implicitly initialize the sockets library.
82667         * lib/gethostname.c: Include sockets.h.
82668         (rpl_gethostname): Invoke gl_sockets_startup.
82669         * lib/socket.c: Include sockets.h.
82670         (rpl_socket): Invoke gl_sockets_startup.
82671         * modules/gethostname (Depends-on): Add sockets.
82672         * modules/socket (Depends-on): Likewise.
82673         * tests/test-poll.c: Don't include sockets.h.
82674         (main): Don't invoke gl_sockets_startup.
82675         * tests/test-select.c: Don't include sockets.h.
82676         (main): Don't invoke gl_sockets_startup.
82678 2009-08-02  Bruno Haible  <bruno@clisp.org>
82680         Allow multiple calls to gl_sockets_startup.
82681         * lib/sockets.c (initialized_sockets_version): New variable.
82682         (gl_sockets_startup): Do nothing if already called for this or a higher
82683         version.
82684         (gl_sockets_cleanup): Reset initialized_sockets_version.
82686 2009-08-03  Simon Josefsson  <simon@josefsson.org>
82688         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
82689         different project/version.
82691 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
82692             Bruno Haible  <bruno@clisp.org>
82694         Tests for module 'pipe-filter-gi'.
82695         * modules/pipe-filter-gi-tests: New file.
82696         * tests/test-pipe-filter-gi1.sh: New file.
82697         * tests/test-pipe-filter-gi1.c: New file.
82698         * tests/test-pipe-filter-gi2.sh: New file.
82699         * tests/test-pipe-filter-gi2-main.c: New file.
82700         * tests/test-pipe-filter-gi2-child.c: New file.
82702         New module 'pipe-filter-gi'.
82703         * lib/pipe-filter-gi.c: New file.
82704         * modules/pipe-filter-gi: New file.
82706 2009-08-02  Bruno Haible  <bruno@clisp.org>
82707             Paolo Bonzini  <bonzini@gnu.org>
82709         Tests for module 'pipe-filter-ii'.
82710         * modules/pipe-filter-ii-tests: New file.
82711         * tests/test-pipe-filter-ii1.sh: New file.
82712         * tests/test-pipe-filter-ii1.c: New file.
82713         * tests/test-pipe-filter-ii2.sh: New file.
82714         * tests/test-pipe-filter-ii2-main.c: New file.
82715         * tests/test-pipe-filter-ii2-child.c: New file.
82717         New module 'pipe-filter-ii'.
82718         * lib/pipe-filter.h: New file.
82719         * lib/pipe-filter-ii.c: New file.
82720         * lib/pipe-filter-aux.h: New file.
82721         * modules/pipe-filter-ii: New file.
82723 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82725         * lib/gc-libgcrypt.c: Change copyright to FSF.
82726         * lib/gc-gnulib.c: Likewise.
82728 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
82730         * lib/gethostname.c: Include limits.h.
82732 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82733             Bruno Haible  <bruno@clisp.org>
82735         Ensure HOST_NAME_MAX as part of the gethostname module.
82736         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
82737         define also HOST_NAME_MAX.
82738         * tests/test-gethostname.c: Include <limits.h>.
82739         (main): Check also HOST_NAME_MAX.
82740         * doc/posix-headers/limits.texi: Document the mingw problem.
82742 2009-08-02  Bruno Haible  <bruno@clisp.org>
82744         * lib/gethostname.c (gethostname): Fix handling of large len argument.
82745         Add comments.
82747 2009-03-31  Simon Josefsson  <simon@josefsson.org>
82749         * lib/gethostname.c: Add Windows wrapper.
82750         * m4/gethostname.m4: Look for gethostname in -lws2_32.
82751         * modules/gethostname: Depend on sys_socket & errno, for also
82752         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
82753         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
82755 2009-07-31  Jim Meyering  <meyering@redhat.com>
82757         getloadavg: fix symbol name in comment
82758         * lib/getloadavg.c: Correct a typo I introduced when adding
82759         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
82760         Matt Kraai spotted the problem.
82762 2009-07-29  Matt Kraai  <mkraai@beckman.com>
82764         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
82765         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
82766         code also if ! defined N_NAME_POINTER.
82767         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
82768         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
82769         but the n_name member is a 12-byte array.
82771 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
82773         update-copyright: generalize comment handling
82774         * build-aux/update-copyright: Handle copyright statements
82775         within more comment styles.
82776         Document usage.
82777         Report any file with an external copyright holder or parse failure.
82779 2009-07-29  Jim Meyering  <meyering@redhat.com>
82781         mktime: correct setting of REPLACE_MKTIME
82782         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
82784         update-copyright: new module
82785         * modules/update-copyright: New file.
82786         * build-aux/update-copyright: New file.
82787         * MODULES.html.sh (maint+release support): Add update-copyright.
82789 2009-07-27  Bruno Haible  <bruno@clisp.org>
82791         Fix compilation error when <ctime> is used and mktime is replaced.
82792         * lib/time.in.h (mktime): New declaration.
82793         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
82794         REPLACE_MKTIME instead of defining mktime in config.h.
82795         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
82796         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
82797         Reported by Ross McFarland <rwmcfa1@neces.com>.
82799 2009-07-27  Bruno Haible  <bruno@clisp.org>
82801         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
82802         Reported by Matt Kraai <mkraai@beckman.com>.
82804 2009-07-25  Jim Meyering  <meyering@redhat.com>
82806         maint.mk: avoid warnings about missing files
82807         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
82808         diagnostic when .prev-version does not exist.
82809         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
82810         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
82811         nonexistent cfg.mk.
82812         Suggestions from Simon Josefsson.
82814 2009-07-25  Bruno Haible  <bruno@clisp.org>
82816         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
82817         defined as macros. Needed on QNX 6.4.1.
82818         Reported by Matt Kraai <mkraai@beckman.com>.
82820 2009-07-23  Jim Meyering  <meyering@redhat.com>
82822         maint.mk: invoke "make dist" with a working value of XZ_OPT
82823         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
82825 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
82827         Make fseeko.c compile on QNX.
82828         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
82830 2009-07-22  Peter Simons  <simons@cryp.to>
82832         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
82833         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
82834         * lib/md4.h: Likewise.
82835         * lib/md5.h: Likewise.
82836         * lib/sha1.h: Likewise.
82837         * lib/sha256.h: Likewise.
82838         * lib/sha512.h: Likewise.
82840         tests-sha1: don't assign literal string to 'char *' variable
82841         * tests/test-sha1.c (main): Declare locals with "const" to match
82842         attributes of the right hand side.
82844 2009-07-21  Eric Blake  <ebb9@byu.net>
82846         dup2: fix more mingw problems
82847         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
82848         fd to itself.
82849         * doc/posix-functions/dup2.texi (dup2): Document the bug.
82850         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
82851         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
82852         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
82853         care of mingw bugs.
82855 2009-07-21  Jim Meyering  <meyering@redhat.com>
82857         vc-list-files: avoid failure when /bin/sh is dash
82858         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
82859         On some Debian based systems, /bin/sh is a symlink to dash, and running
82860         this command would omit the "/" following each 'tests' prefix:
82861           dash -x build-aux/vc-list-files -C . tests
82862         That is because bash and dash work differently:
82863           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
82864           bash ok
82865           dash odd
82867 2009-07-21  Eric Blake  <ebb9@byu.net>
82869         dup2-tests: test previous patch
82870         * modules/dup2-tests: New file.
82871         * tests/test-dup2.c: Likewise.
82872         * tests/test-open.c (main): Avoid unspecified behavior.
82873         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
82874         test.
82876         dup2: work around mingw and cygwin 1.5 bug
82877         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
82878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
82879         * modules/unistd (Makefile.am): Substitute it.
82880         * lib/unistd.in.h (dup2): Declare the replacement.
82881         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
82882         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
82883         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
82884         * modules/execute (Depends-on): Add dup2.
82885         * modules/fseterr (Depends-on): Likewise.
82886         * modules/pipe (Depends-on): Likewise.
82887         * modules/posix_spawn-internal (Depends-on): Likewise.
82889 2009-07-21  Bruno Haible  <bruno@clisp.org>
82891         * modules/.gitattributes: New file.
82893 2009-07-20  Bruno Haible  <bruno@clisp.org>
82895         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
82896         (main): Use it.
82898 2009-07-20  Eric Blake  <ebb9@byu.net>
82900         test-pipe: make a bit more robust.
82901         * tests/test-pipe.c (myerr): Allow error messages regardless of
82902         what we do to stderr.
82903         (test_pipe): Rearrange to avoid deadlock.
82904         (child_main): Try a larger read, to ensure we avoided deadlock.
82905         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
82906         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
82907         if misused.
82909 2009-07-19  Jim Meyering  <meyering@redhat.com>
82911         fts: avoid false-positive cycle-detection
82912         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
82913         for each new command line argument.
82915 2009-07-19  Bruno Haible  <bruno@clisp.org>
82917         Fix build error on mingw with the modules sys_select and unistd.
82918         * modules/acl-tests (Depends-on): Add close.
82919         * modules/binary-io-tests (Depends-on): Likewise.
82920         * modules/closein-tests (Depends-on): Likewise.
82921         * modules/flock-tests (Depends-on): Likewise.
82922         * modules/fsync-tests (Depends-on): Likewise.
82923         * modules/lseek-tests (Depends-on): Likewise.
82924         * modules/pipe-tests (Depends-on): Likewise.
82925         * modules/posix_spawn-tests (Depends-on): Likewise.
82926         * modules/posix_spawnp-tests (Depends-on): Likewise.
82927         * modules/stat-time-tests (Depends-on): Likewise.
82928         * modules/yesno-tests (Depends-on): Likewise.
82930 2009-07-19  Bruno Haible  <bruno@clisp.org>
82932         Unify conditionals.
82933         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
82934         macros, not at the compiler macros.
82935         * lib/pipe.c: Likewise.
82936         * lib/execute.c: Likewise.
82937         * lib/spawni.c: Likewise.
82939 2009-07-19  Bruno Haible  <bruno@clisp.org>
82941         Fix handling of closed stdin/stdout/stderr on mingw.
82942         * lib/w32spawn.h: Include unistd.h.
82943         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
82944         file descriptor with O_NOINHERIT flag.
82945         (fd_safer_noinherit): New function, based on fd-safer.c.
82946         (dup_safer_noinherit): New function, based on dup-safer.c.
82947         (undup_safer_noinherit): New function.
82948         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
82949         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
82950         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
82951         instead of fd_safer.
82952         * tests/test-pipe.c: Include <windows.h>.
82953         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
82954         result.
82956         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
82957         from main.
82958         (test_pipe): Pass an extra argument for disambiguation.
82959         (main): Invoke parent_main or child_main.
82961         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
82962         consistently.
82964 2009-07-18  Eric Blake  <ebb9@byu.net>
82966         test-pipe: fix mingw build
82967         * tests/test-pipe.c (main): Avoid fcntl on mingw.
82969 2009-07-18  Bruno Haible  <bruno@clisp.org>
82971         * modules/pipe-tests (Makefile.am): Fix typo.
82973 2009-07-18  Eric Blake  <ebb9@byu.net>
82975         error: fix mingw build
82976         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
82977         Reported by Bruno Haible.
82979         error: avoid undefined use of stdout
82980         * lib/error.c (error, error_at_line): Check that fd 1 is open
82981         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
82982         is handling faults and the close_stdout module wants to report the
82983         detection of closed stdout as an error.
82985 2009-07-17  Eric Blake  <ebb9@byu.net>
82987         pipe: be robust in face of closed fds
82988         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
82989         should cause child to misbehave.
82990         * modules/pipe-tests: New module.
82991         * tests/test-pipe.c: New file.
82992         * tests/test-pipe.sh: New file.
82993         Reported by Akim Demaille.
82995 2009-07-14  Bruno Haible  <bruno@clisp.org>
82997         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
82998         Reported by anonymous kc.
83000 2009-07-07  Jim Meyering  <meyering@redhat.com>
83002         maint.mk: don't look for translatable strings in *.m4 or *.mk
83003         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
83004         when searching for translatable strings.
83006 2009-07-05  Jim Meyering  <meyering@redhat.com>
83008         remove superfluous parentheses in STREQ definition
83009         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
83010         * lib/getugroups.c (STREQ): Likewise.
83011         * lib/fnmatch.c (STREQ): Likewise.
83012         Spotted by Bruno Haible.
83014 2009-07-04  Jim Meyering  <meyering@redhat.com>
83016         argv-iter: new module
83017         * MODULES.html.sh: Add argv-iter.
83018         * lib/argv-iter.c, lib/argv-iter.h: New files.
83019         * modules/argv-iter: New file.
83020         * modules/argv-iter-tests: New file.
83021         * tests/test-argv-iter.c: Test it.
83023 2009-07-04  Bruno Haible  <bruno@clisp.org>
83025         Fix assertion.
83026         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
83027         contains more exact copies of a given entry than file2, leave the extra
83028         copies unpaired rather than aborting.
83029         Reported by Eric Blake.
83031 2009-07-02  Bruno Haible  <bruno@clisp.org>
83033         Speedup git-merge-changelog for git cherry-pick.
83034         * lib/git-merge-changelog.c (struct entries_mapping): New type.
83035         (entries_mapping_get): New function, extracted from compute_mapping.
83036         (entries_mapping_reverse_get): New function.
83037         (compute_mapping): Add a 'full' argument. Return the result in a
83038         'struct entries_mapping'.
83039         (main): Update. Access the mappings through entries_mapping_get.
83040         Reported by Eric Blake.
83042 2009-07-02  Bruno Haible  <bruno@clisp.org>
83044         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
83045         best_i.
83047 2009-07-02  Bruno Haible  <bruno@clisp.org>
83049         Speed up approximate search for matching ChangeLog entries.
83050         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
83051         argument. Call fstrcmp_bounded instead of fstrcmp.
83052         (compute_mapping, try_split_merged_entry, main): Update callers.
83054 2009-07-02  Bruno Haible  <bruno@clisp.org>
83056         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
83058 2009-06-30  Bruno Haible  <bruno@clisp.org>
83060         Reduce the number of uc_is_cased calls.
83061         * lib/unicase.h (casing_suffix_context_t): Add
83062         'first_char_except_ignorable' field.
83063         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
83064         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
83065         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
83066         Update initializer.
83067         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
83068         case-ignorable characters.
83069         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
83070         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
83071         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
83072         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
83073         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
83075 2009-06-30  Bruno Haible  <bruno@clisp.org>
83077         Tests for module 'unicase/ignorable'.
83078         * modules/unicase/ignorable-tests: New file.
83079         * tests/unicase/test-ignorable.c: New file, generated by
83080         gen-uni-tables.
83082         Tests for module 'unicase/cased'.
83083         * modules/unicase/cased-tests: New file.
83084         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
83085         * tests/unicase/test-predicate-part1.h: New file, derived from
83086         tests/unictype/test-predicate-part1.h.
83087         * tests/unicase/test-predicate-part2.h: New file, same as
83088         tests/unictype/test-predicate-part2.h.
83090         Fix evaluation of "Before C" condition of FINAL_SIGMA.
83091         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
83092         (output_casing_properties): New function.
83093         (main): Call it.
83094         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
83095         * lib/unicase/cased.c: Include unictype/bitmap.h.
83096         (uc_is_cased): Define through a bitmap lookup.
83097         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
83098         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
83099         (uc_is_case_ignorable): Define through a bitmap lookup.
83100         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
83101         lib/unictype/bitmap.h.
83102         (Depends-on): Add inline. Clean up.
83103         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
83104         lib/unictype/bitmap.h.
83105         (Depends-on): Add inline. Clean up.
83106         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
83107         recognition.
83108         * tests/unicase/test-u16-tolower.c (main): Likewise.
83109         * tests/unicase/test-u32-tolower.c (main): Likewise.
83111 2009-06-30  Bruno Haible  <bruno@clisp.org>
83113         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
83114         * lib/unicase/u16-casemap.c: Likewise.
83115         * lib/unicase/u32-casemap.c: Likewise.
83117 2009-06-29  Bruno Haible  <bruno@clisp.org>
83119         Define u32_casefold as a wrapper around u32_ct_casefold.
83120         * lib/unicase/u32-casefold.c: Update.
83121         * modules/unicase/u32-casefold (Depends-on): Add
83122         unicase/u32-ct-casefold, unicase/empty-prefix-context,
83123         unicase/empty-suffix-context. Clean up.
83125         Define u16_casefold as a wrapper around u16_ct_casefold.
83126         * lib/unicase/u16-casefold.c: Update.
83127         * modules/unicase/u16-casefold (Depends-on): Add
83128         unicase/u16-ct-casefold, unicase/empty-prefix-context,
83129         unicase/empty-suffix-context. Clean up.
83131         Define u8_casefold as a wrapper around u8_ct_casefold.
83132         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
83133         * lib/unicase/u8-casefold.c: Update.
83134         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
83135         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83137         Define u32_totitle as a wrapper around u32_ct_totitle.
83138         * lib/unicase/u32-totitle.c: Update.
83139         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
83140         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83142         Define u16_totitle as a wrapper around u16_ct_totitle.
83143         * lib/unicase/u16-totitle.c: Update.
83144         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
83145         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83147         Define u8_totitle as a wrapper around u8_ct_totitle.
83148         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
83149         functions.
83150         (FUNC): Delegate to U_CT_TOTITLE.
83151         * lib/unicase/u8-totitle.c: Update.
83152         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
83153         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
83155         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
83156         invocation.
83157         * modules/unicase/u32-tolower (Depends-on): Add
83158         unicase/empty-prefix-context, unicase/empty-suffix-context.
83160         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
83161         invocation.
83162         * modules/unicase/u16-tolower (Depends-on): Add
83163         unicase/empty-prefix-context, unicase/empty-suffix-context.
83165         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
83166         * modules/unicase/u8-tolower (Depends-on): Add
83167         unicase/empty-prefix-context, unicase/empty-suffix-context.
83169         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
83170         invocation.
83171         * modules/unicase/u32-toupper (Depends-on): Add
83172         unicase/empty-prefix-context, unicase/empty-suffix-context.
83174         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
83175         invocation.
83176         * modules/unicase/u16-toupper (Depends-on): Add
83177         unicase/empty-prefix-context, unicase/empty-suffix-context.
83179         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
83180         * modules/unicase/u8-toupper (Depends-on): Add
83181         unicase/empty-prefix-context, unicase/empty-suffix-context.
83183         New module 'unicase/u32-ct-casefold'.
83184         * lib/unicase/u32-ct-casefold.c: New file.
83185         * modules/unicase/u32-ct-casefold: New file.
83187         New module 'unicase/u16-ct-casefold'.
83188         * lib/unicase/u16-ct-casefold.c: New file.
83189         * modules/unicase/u16-ct-casefold: New file.
83191         New module 'unicase/u8-ct-casefold'.
83192         * lib/unicase/u8-ct-casefold.c: New file.
83193         * lib/unicase/u-ct-casefold.h: New file, derived from
83194         lib/unicase/u-casefold.h.
83195         * modules/unicase/u8-ct-casefold: New file.
83197         New module 'unicase/u32-ct-totitle'.
83198         * lib/unicase/u32-ct-totitle.c: New file.
83199         * modules/unicase/u32-ct-totitle: New file.
83201         New module 'unicase/u16-ct-totitle'.
83202         * lib/unicase/u16-ct-totitle.c: New file.
83203         * modules/unicase/u16-ct-totitle: New file.
83205         New module 'unicase/u8-ct-totitle'.
83206         * lib/unicase/u8-ct-totitle.c: New file.
83207         * lib/unicase/u-ct-totitle.h: New file, derived from
83208         lib/unicase/u-totitle.h.
83209         * modules/unicase/u8-ct-totitle: New file.
83211         New module 'unicase/u32-ct-tolower'.
83212         * lib/unicase/u32-ct-tolower.c: New file.
83213         * modules/unicase/u32-ct-tolower: New file.
83215         New module 'unicase/u16-ct-tolower'.
83216         * lib/unicase/u16-ct-tolower.c: New file.
83217         * modules/unicase/u16-ct-tolower: New file.
83219         New module 'unicase/u8-ct-tolower'.
83220         * lib/unicase/u8-ct-tolower.c: New file.
83221         * modules/unicase/u8-ct-tolower: New file.
83223         New module 'unicase/u32-ct-toupper'.
83224         * lib/unicase/u32-ct-toupper.c: New file.
83225         * modules/unicase/u32-ct-toupper: New file.
83227         New module 'unicase/u16-ct-toupper'.
83228         * lib/unicase/u16-ct-toupper.c: New file.
83229         * modules/unicase/u16-ct-toupper: New file.
83231         New module 'unicase/u8-ct-toupper'.
83232         * lib/unicase/u8-ct-toupper.c: New file.
83233         * modules/unicase/u8-ct-toupper: New file.
83235         Add context arguments to u*_casemap functions.
83236         * lib/unicase/unicasemap.h: Include unicase.h.
83237         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
83238         suffix_context arguments.
83239         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
83240         functions.
83241         (FUNC): Add prefix_context and suffix_context arguments. Use
83242         uc_is_cased and uc_is_case_ignorable.
83243         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
83244         * lib/unicase/u16-casemap.c: Likewise.
83245         * lib/unicase/u32-casemap.c: Likewise.
83246         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
83247         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83248         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
83249         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83250         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
83251         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
83253         New module 'unicase/u32-suffix-context'.
83254         * lib/unicase/u32-suffix-context.c: New file.
83255         * modules/unicase/u32-suffix-context: New file.
83257         New module 'unicase/u16-suffix-context'.
83258         * lib/unicase/u16-suffix-context.c: New file.
83259         * modules/unicase/u16-suffix-context: New file.
83261         New module 'unicase/u8-suffix-context'.
83262         * lib/unicase/u8-suffix-context.c: New file.
83263         * lib/unicase/u-suffix-context.h: New file.
83264         * modules/unicase/u8-suffix-context: New file.
83266         New module 'unicase/empty-suffix-context'.
83267         * lib/unicase/empty-suffix-context.c: New file.
83268         * modules/unicase/empty-suffix-context: New file.
83270         New module 'unicase/u32-prefix-context'.
83271         * lib/unicase/u32-prefix-context.c: New file.
83272         * modules/unicase/u32-prefix-context: New file.
83274         New module 'unicase/u16-prefix-context'.
83275         * lib/unicase/u16-prefix-context.c: New file.
83276         * modules/unicase/u16-prefix-context: New file.
83278         New module 'unicase/u8-prefix-context'.
83279         * lib/unicase/u8-prefix-context.c: New file.
83280         * lib/unicase/u-prefix-context.h: New file.
83281         * lib/unicase/context.h: New file.
83282         * modules/unicase/u8-prefix-context: New file.
83284         New module 'unicase/empty-prefix-context'.
83285         * lib/unicase/empty-prefix-context.c: New file.
83286         * modules/unicase/empty-prefix-context: New file.
83288         New module 'unicase/ignorable'.
83289         * lib/unicase/ignorable.c: New file.
83290         * modules/unicase/ignorable: New file.
83292         New module 'unicase/cased'.
83293         * lib/unicase/caseprop.h: New file.
83294         * lib/unicase/cased.c: New file.
83295         * modules/unicase/cased: New file.
83297         New functions for case mapping of substrings.
83298         * lib/unicase.h (casing_prefix_context_t): New type.
83299         (unicase_empty_prefix_context): New variable.
83300         (u8_casing_prefix_context, u16_casing_prefix_context,
83301         u32_casing_prefix_context, u8_casing_prefixes_context,
83302         u16_casing_prefixes_context, u32_casing_prefixes_context): New
83303         declarations.
83304         (casing_suffix_context_t): New type.
83305         (unicase_empty_suffix_context): New variable.
83306         (u8_casing_suffix_context, u16_casing_suffix_context,
83307         u32_casing_suffix_context, u8_casing_suffixes_context,
83308         u16_casing_suffixes_context, u32_casing_suffixes_context,
83309         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
83310         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
83311         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
83312         declarations.
83314 2009-06-28  Jim Meyering  <meyering@redhat.com>
83316         boostrap: indent only with spaces
83317         * build-aux/bootstrap: Indent only with spaces, never TABs.
83319         bootstrap: split long lines
83320         * build-aux/bootstrap: Keep line length < 80.
83322         bootstrap: sync from coreutils
83323         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
83324         just as autoreconf does.  Verify a list of prerequisite
83325         package-name,version-number pairs if defined in bootstrap.conf.
83326         Refer to README-prereq, if prerequisites are not satisfied.
83328 2009-06-27  Eric Blake  <ebb9@byu.net>
83330         tests: add test for bogus NULL definition
83331         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
83332         * tests/test-stdlib.c: Likewise.
83333         * tests/test-string.c: Likewise.
83334         * tests/test-locale.c: Likewise.
83335         * tests/test-unistd.c: Likewise.
83336         * modules/stdio-tests (Depends-on): Add verify.
83337         * modules/stdlib-tests (Depends-on): Likewise.
83338         * modules/string-tests (Depends-on): Likewise.
83339         * modules/locale-tests (Depends-on): Likewise.
83340         * modules/unistd-tests (Depends-on): Likewise.
83342 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
83344         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
83345         self-explaining comment.
83346         * m4/selinux-selinux-h: Update serial.
83347         (gl_LIBSELINUX): New macro, adding a warning for missing development
83348         packages to code extracted from...
83349         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
83350         Add warning for missing development packages here, too.
83352 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
83354         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
83356 2009-06-25  Eric Blake  <ebb9@byu.net>
83358         version-etc: fix regression
83359         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
83360         gcc.
83361         (version_etc): Use it, to catch bugs with trailing NULL.
83362         * lib/version-etc.c (version_etc_arn): Delete unused argument.
83363         (version_etc_va): Fix logic bug.
83364         * modules/version-etc-tests: Add test.
83365         * tests/test-version-etc.c: New file.
83366         * tests/test-version-etc.sh: Likewise.
83368 2009-06-25  Sam Steingold  <sds@gnu.org>
83370         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
83371         mbtowc declaration.
83373 2009-06-25  Eric Blake  <ebb9@byu.net>
83375         fpurge: migrate into <stdio.h>
83376         * lib/fpurge.h: Delete...
83377         * lib/stdio.in.h (fpurge): ...and declare here, instead.
83378         * lib/fpurge.c (fpurge): Change declaring header.
83379         * modules/fpurge (Files): Drop deleted file.
83380         (Depends-on): Add stdio.
83381         (configure.ac): Set witness.
83382         * modules/stdio (Makefile.am): Support fpurge macros.
83383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83384         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
83385         * lib/fflush.c: Update client.
83386         * tests/test-fpurge.c: Likewise.
83387         * NEWS: Mention the change.
83389 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83391         * lib/argp-version-etc.c (program_authors): Add const
83392         qualifier.
83393         * lib/version-etc.c: Fix typos in the comments.
83394         * modules/argp-version-etc: Depends on version-etc.
83396 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83398         argp-version-etc: new module.
83400         * lib/argp-version-etc.c: New file.
83401         * lib/argp-version-etc.h: New file.
83402         * modules/argp-version-etc: New file.
83403         * modules/argp-version-etc-tests: New file.
83404         * tests/test-argp-version-etc.c: New test.
83405         * tests/test-argp-version-etc-1.sh: New test.
83407 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83409         Provide additional interfaces and documentation for version-etc
83410         module.
83412         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
83413         interfaces.
83414         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
83415         prototypes.
83417 2009-06-24  Bruno Haible  <bruno@clisp.org>
83419         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
83420         HAVE_LIB${NAME} macro.
83421         Reported by Sam Steingold <sds@gnu.org>.
83423 2009-06-23  Simon Josefsson  <simon@josefsson.org>
83425         * modules/hash-tests (test_hash_LDADD): Link to libintl when
83426         needed.
83428 2009-06-21  Bruno Haible  <bruno@clisp.org>
83430         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
83431         work.
83432         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
83433         together with LIB${NAME}, LTLIB${NAME}.
83434         Reported by Sam Steingold <sds@gnu.org>.
83436 2009-06-20  Jim Meyering  <meyering@redhat.com>
83438         tests: make sc_require_test_exit_idiom more generic
83439         * top/maint.mk (Exit_witness_file): New overridable variable.
83440         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
83441         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
83443 2009-06-19  Jim Meyering  <meyering@redhat.com>
83445         hash: reverse order of src/dst parameters in an internal interface
83446         * lib/hash.c (transfer_entries): Reverse order of parameters to
83447         put DST before SRC.  Adjust callers.
83449         tests: test-hash: avoid wholesale duplication
83450         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
83451         Instead, use a loop and add a single conditional.
83453         tests: test-hash: allow seed selection via a command line argument
83454         * tests/test-hash.c (get_seed): New function.
83455         (main): Use it.
83457 2009-06-19  Eric Blake  <ebb9@byu.net>
83459         hash: avoid memory leak on allocation failure
83460         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
83461         failure.  Factor repeated algorithm...
83462         (transfer_entries): ...into new helper routine.
83463         (hash_delete): React to hash_rehash return value.
83465         hash: reduce memory pressure in hash_rehash no-op case
83466         * lib/hash.c (next_prime): Avoid overflow.
83467         (hash_initialize): Factor bucket size computation...
83468         (compute_bucket_size): ...into new helper function.
83469         (hash_rehash): Use new function and open coding to reduce memory
83470         pressure, and avoid a memory leak in USE_OBSTACK code.
83471         Reported by Jim Meyering.
83473 2009-06-18  Eric Blake  <ebb9@byu.net>
83475         hash: make rotation more obvious
83476         * modules/hash (Depends-on): Add bitrotate and stdint.
83477         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
83478         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
83479         (SIZE_MAX): Rely on headers for definition.
83480         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
83481         (raw_hasher): Use rotr_sz.
83482         Suggested by Jim Meyering.
83484         hash: fix memory leak in last patch
83485         * lib/hash.c (hash_rehash): Avoid memory leak.
83487         hash: avoid no-op rehashing
83488         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
83490         hash: provide default callback functions
83491         * lib/hash.c (raw_hasher, raw_comparator): New functions.
83492         (hash_initialize): Use them as defaults.
83493         * tests/test-hash.c (main): Test this.
83495         hash: minor optimization
83496         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
83497         when possible.
83498         (hash_initialize): Document this promise.
83499         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
83500         * tests/test-hash.c (hash_compare_strings): Test this.
83502 2009-06-18  Bruno Haible  <bruno@clisp.org>
83504         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
83505         going to be replaced anyway.
83507 2009-06-18  Bruno Haible  <bruno@clisp.org>
83509         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
83510         in one place.
83511         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
83512         be replaced anyway.
83514 2009-06-18  Eric Blake  <ebb9@byu.net>
83516         hash: check for resize before insertion
83517         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
83518         threshold before insertion, so that a pathological hash_rehash
83519         that fills every bucket can still trigger another rehash.
83521 2009-06-18  Jim Meyering  <meyering@redhat.com>
83523         hash-tests: add a loop around the small tests
83524         * tests/test-hash.c (main): Repeat small tests with selected
83525         small initial table sizes.
83527 2009-06-17  Eric Blake  <ebb9@byu.net>
83529         hash: minor cleanups
83530         * lib/hash.h (hash_entry): Make opaque, by moving...
83531         * lib/hash.c (hash_entry): ...here.
83532         (hash_insert): Clarify restrictions on what can be inserted.
83533         (hash_get_next): Clarify when it is safe to remove an element
83534         during traversal.
83535         (check_tuning): Skip verification when tuning is known safe.
83536         (hash_initialize): Clarify restrictions on tuning.
83538 2009-06-17  Jim Meyering  <jim@meyering.net>
83539         and Eric Blake  <ebb9@byu.net>
83541         hash-tests: new module
83542         * modules/hash-tests: New file.
83543         * tests/test-hash.c: New file.
83545 2009-06-17  Eric Blake  <ebb9@byu.net>
83547         strstr-simple: document new module
83548         * MODULES.html.sh: Document new module.
83550         strstr, strcasestr: replace on platforms with broken memchr
83551         * modules/strstr: Split into...
83552         * modules/strstr-simple: ...new module that does not care about
83553         performance, but does care about glibc bug.
83554         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
83555         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
83556         if platform memchr is broken, per Debian bug 521737.
83557         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
83558         memchr.
83559         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
83560         * doc/posix-functions/strstr.texi (strstr): Document the fix.
83561         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
83562         * modules/mountlist (Depends-on): Add strstr-simple.
83563         * modules/gen-uni-tables (Depends-on): Likewise.
83564         * modules/argz (Depends-on): Add strstr.
83566 2009-06-17  Bruno Haible  <bruno@clisp.org>
83568         * modules/posix_spawn-internal (Depends-on): Add errno.
83570 2009-06-17  Bruno Haible  <bruno@clisp.org>
83572         Define missing ESTALE on Interix 3.5.
83573         * lib/errno.in.h (ESTALE): Assign a value if missing.
83574         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
83575         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
83576         missing.
83577         * doc/posix-headers/errno.texi: Mention the Interix bug.
83578         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
83580 2009-06-15  Eric Blake  <ebb9@byu.net>
83582         memchr, memchr2: add valgrind exception
83583         * lib/memchr.valgrind: New file.
83584         * lib/memchr2.valgrind: New file.
83585         * modules/memchr (Files): Distribute valgrind file.
83586         * modules/memchr2 (Files): Likewise.
83588         docs: memchr is no longer obsolete
83589         * MODULES.html.sh: Move memchr from obsolete to string.h section.
83590         * lib/string.in.h (memchr): Simplify logic.
83592 2009-06-14  Jim Meyering  <meyering@redhat.com>
83594         link-follow: fix the "checking..." message to not mention trailing slash
83595         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
83596         never considered trailing slashes.
83598 2009-06-14  Bruno Haible  <bruno@clisp.org>
83600         * m4/memchr.m4: Mention also the bug on IA-64.
83601         * doc/posix-functions/memchr.texi: Likewise.
83603 2009-06-12  Eric Blake  <ebb9@byu.net>
83605         memchr: detect broken x86_64 and alpha implementations
83606         * modules/memchr-tests (Depends-on): Move mmap detection...
83607         * modules/memchr (Depends-on): ...here.
83608         (configure.ac): Set indicator.
83609         * lib/string.in.h (memchr): Declare replacement.
83610         * modules/string (Makefile.am): Trigger replacement.
83611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
83612         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
83613         bugs.
83614         * doc/posix-functions/memchr.texi (memchr): Document the bug.
83615         * modules/getpagesize (License): Relax license.
83617 2009-06-11  Bruno Haible  <bruno@clisp.org>
83619         * lib/idpriv.h: Add more references.
83621 2009-06-08  Bruno Haible  <bruno@clisp.org>
83623         Tests for module 'idpriv-droptemp'.
83624         * modules/idpriv-droptemp-tests: New file.
83625         * tests/test-idpriv-droptemp.sh: New file.
83626         * tests/test-idpriv-droptemp.su.sh: New file.
83627         * tests/test-idpriv-droptemp.c: New file.
83629         New module 'idpriv-droptemp'.
83630         * lib/idpriv-droptemp.c: New file.
83631         * modules/idpriv-droptemp: New file.
83633 2009-06-08  Bruno Haible  <bruno@clisp.org>
83635         Tests for module 'idpriv-drop'.
83636         * modules/idpriv-drop-tests: New file.
83637         * tests/test-idpriv-drop.sh: New file.
83638         * tests/test-idpriv-drop.su.sh: New file.
83639         * tests/test-idpriv-drop.c: New file.
83641         New module 'idpriv-drop'.
83642         * lib/idpriv.h: New file.
83643         * lib-idpriv-drop.c: New file.
83644         * m4/idpriv.m4: New file.
83645         * modules/idpriv-drop: New file.
83647 2009-06-08  Bruno Haible  <bruno@clisp.org>
83649         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
83650         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
83651         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
83652         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
83653         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
83654         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
83655         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
83657 2009-06-08  Eric Blake  <ebb9@byu.net>
83659         test-strstr: use memory fence, when possible
83660         * tests/test-strstr.c (main): Use memory fence, in order to be
83661         more likely to trigger Debian bug 521737.
83662         * modules/strstr-tests (Files): Pull in additional files.
83664         memchr: no longer obsolete, for wider field testing
83665         * modules/memchr (Status, Notice): Delete, this module is no
83666         longer obsolete.
83667         * modules/vasnprintf (Depends-on): Add memchr.
83669 2009-06-07  Jim Meyering  <meyering@redhat.com>
83671         hash: declare some functions with the warn_unused_result attribute
83672         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
83674 2009-06-07  Bruno Haible  <bruno@clisp.org>
83676         * tests/test-alignof.c: Don't test int64_t if it does not exist.
83677         Reported by Eric Blake.
83679 2009-06-06  Eric Blake  <ebb9@byu.net>
83681         test-alignof: fix typo with long double
83682         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
83683         compiler error.
83685 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
83687         Escape non-texinfo { and }s.
83688         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
83689         markup error.
83691 2009-06-04  Jim Meyering  <meyering@redhat.com>
83693         gitlog-to-changelog: don't infloop on an empty commit log
83694         * build-aux/gitlog-to-changelog: Warn about an empty log message.
83695         Reported by Boris Petersen <transacid@centerim.org>.
83697 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
83699         version-etc: extend for packagers
83700         Add three new configure options, intended for packagers:
83701           --with-packager="packager name"
83702           --with-packager-version="packager-specific version"
83703           --with-packager-bug-reports="packager bug reporting"
83704         An example with coreutils:
83705           $ ./configure \
83706             --with-packager=Gentoo \
83707             --with-packager-bug-report=http://bugs.gentoo.org/ \
83708             --with-packager-version="patchset 1.6"
83709           $ ./src/ls --version | head -n2
83710           ls (GNU coreutils) 7.1-dirty
83711           Packaged by Gentoo (patchset 1.6)
83712         Note that the bug reporting info via --help doesn't show up because
83713         coreutils uses its own custom emit_bug_reporting_address() implementation
83714         in src/system.h.  If it didn't, it'd look like:
83715           $ ./src/ls --help | tail -n4
83716           Report bugs to <bug-coreutils@gnu.org>.
83717           Report Gentoo bugs to <http://bugs.gentoo.org/>.
83718           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
83719           General help using GNU software: <http://www.gnu.org/gethelp/>.
83720         * lib/version-etc.c: Print new information, if provided.
83721         * m4/version-etc.m4: New file.
83722         * modules/version-etc (Files): Add m4/version-etc.m4.
83723         (configure.ac): Add gl_VERSION_ETC.
83725 2009-05-31  Bruno Haible  <bruno@clisp.org>
83727         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
83728         and 'int64_t'.
83729         * modules/alignof-tests (Dependencies): Add stdint.
83730         Reported by Eric Blake.
83732 2009-05-31  Bruno Haible  <bruno@clisp.org>
83734         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
83735         restriction due to compiler bugs.
83736         Reported by Eric Blake.
83738 2009-05-31  Simon Josefsson  <simon@josefsson.org>
83739             Bruno Haible  <bruno@clisp.org>
83741         Fix test-alignof failure.
83742         * lib/alignof.h (alignof_slot): New macro.
83743         (alignof_type): New macro, with the same semantics as the previous
83744         'alignof'.
83745         (alignof): Alias to alignof_slot.
83746         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
83747         check that the results are usable as constant expressions.
83749 2009-05-31  Bruno Haible  <bruno@clisp.org>
83751         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
83752         * tests/test-memchr.c (main): Check that memchr does not read past the
83753         first occurrence of the byte.
83754         * tests/test-strstr.c (main): Update comment.
83755         Suggested by Eric Blake.
83757 2009-05-30  Bruno Haible  <bruno@clisp.org>
83759         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
83760         detail how to use dumpbin.
83761         Reported by David Byron <dbyron@dbyron.com>.
83763 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83765         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
83767 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83769         * m4/manywarnings.m4: Add GCC 4.4 warnings.
83771 2009-05-28  Bruno Haible  <bruno@clisp.org>
83773         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
83774         build-aux/ files.
83776 2009-05-28  Simon Josefsson  <simon@josefsson.org>
83778         * gnulib-tool (func_import): Transform license on build-aux/ files too.
83780 2009-05-27  Simon Josefsson  <simon@josefsson.org>
83782         * gnulib-tool (sed_transform_main_lib_file)
83783         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
83784         regexps.
83786 2009-05-26  Simon Josefsson  <simon@josefsson.org>
83788         * tests/test-strstr.c: Add another self-test.
83789         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
83790         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
83792 2009-05-23  Bruno Haible  <bruno@clisp.org>
83794         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
83795         change.
83797 2009-05-21  Bruno Haible  <bruno@clisp.org>
83799         Simplify use of mode_t varargs.
83800         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
83801         uses 'mode_t' or 'int'.
83802         * lib/openat.c (openat): Likewise.
83803         * lib/open-safer.c (open_safer): Likewise.
83804         * m4/mode_t.m4: New file.
83805         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
83806         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
83807         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
83808         * modules/open (Files): Add m4/mode_t.m4.
83809         * modules/openat (Files): Likewise.
83810         * modules/fcntl-safer (Files): Likewise.
83811         Suggested by Eric Blake.
83813 2009-05-21  Pádraig Brady  <P@draigbrady.com>
83815         * doc/glibc-functions/fallocate.texi: New file.
83816         * doc/gnulib.texi: Include it.
83818 2009-05-21  Eric Blake  <ebb9@byu.net>
83819             Bruno Haible  <bruno@clisp.org>
83821         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
83822         invocations.
83823         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
83825 2009-05-21  Eric Blake  <ebb9@byu.net>
83826             Bruno Haible  <bruno@clisp.org>
83828         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
83829         include_next. Fix of 2008-11-20 commit.
83830         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
83831         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
83832         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
83833         NEXT_MATH_H.
83834         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
83835         instead of NEXT_MATH_H.
83837 2009-05-21  Bruno Haible  <bruno@clisp.org>
83839         Avoid redefinition warnings for SIZE_MAX.
83840         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
83841         Reported by Simon Josefsson.
83843 2009-05-21  Bruno Haible  <bruno@clisp.org>
83845         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
83846         AC_CACHE_VAL.
83848 2009-05-20  Bruno Haible  <bruno@clisp.org>
83850         Make zeroptr.h work on mingw.
83851         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
83852         mprotect.
83853         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
83854         * modules/memchr2-tests (configure.ac): Likewise.
83855         * modules/memcmp-tests (configure.ac): Likewise.
83856         * modules/memmem-tests (configure.ac): Likewise.
83857         * modules/memrchr-tests (configure.ac): Likewise.
83858         Reported by Simon Josefsson.
83860 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83862         * tests/test-glob.c: Include string.h for strcmp prototype.
83864 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83866         * modules/getdelim (Depends-on): Add explicit stdint, although it
83867         was implicitly already pulled in via realloc-posix.
83868         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
83870 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83872         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
83873         G. Christensen" <tgc@jupiterrise.com>.
83874         * m4/sys_socket_h.m4: Check for sa_family_t.
83875         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
83876         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
83877         * tests/test-sys_socket.c: Check that sa_family_t works.
83879 2009-05-18  Eric Blake  <ebb9@byu.net>
83881         maint.mk: allow gnulib_dir in VPATH build
83882         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
83884 2009-05-15  Jim Meyering  <meyering@redhat.com>
83886         maint.mk: Give gnulib_dir a default definition.
83887         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
83888         Thus, most packages no longer need to specify this variable in cfg.mk
83890 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
83892         rename.m4: fix typos that would make non-mingw cross-configure fail
83893         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
83895 2009-05-13  Eric Blake  <ebb9@byu.net>
83897         mmap-anon: avoid out-of-order autoconf expansion
83898         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
83899         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
83900         * modules/memchr-tests (Depends-on): Add extensions.
83901         * modules/memchr2-tests (Depends-on): Add extensions.
83902         * modules/memcmp-tests (Depends-on): Add extensions.
83903         * modules/memmem-tests (Depends-on): Add extensions.
83904         * modules/memrchr-tests (Depends-on): Add extensions.
83906 2009-05-13  Bruno Haible  <bruno@clisp.org>
83908         Make some tests ISO C 99 compliant.
83909         * tests/zerosize-ptr.h: New file.
83910         * tests/test-memchr.c: Include zerosize-ptr.h.
83911         (main): Use a zero-size object pointer instead of NULL.
83912         * tests/test-memchr2.c: Include zerosize-ptr.h.
83913         (main): Use a zero-size object pointer instead of NULL.
83914         * tests/test-memcmp.c: Include zerosize-ptr.h.
83915         (main): Use a zero-size object pointer instead of NULL.
83916         * tests/test-memmem.c: Include zerosize-ptr.h.
83917         (main): Use a zero-size object pointer instead of NULL.
83918         * tests/test-memrchr.c: Include zerosize-ptr.h.
83919         (main): Use a zero-size object pointer instead of NULL.
83920         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
83921         m4/mmap-anon.m4.
83922         (Depends-on): Add getpagesize.
83923         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83924         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
83925         m4/mmap-anon.m4.
83926         (Depends-on): Add getpagesize.
83927         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83928         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
83929         m4/mmap-anon.m4.
83930         (Depends-on): Add getpagesize.
83931         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83932         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
83933         m4/mmap-anon.m4.
83934         (Depends-on): Add getpagesize.
83935         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83936         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
83937         m4/mmap-anon.m4.
83938         (Depends-on): Add getpagesize.
83939         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83941 2009-05-12  Bruno Haible  <bruno@clisp.org>
83943         Tests for module 'alignof'.
83944         * modules/alignof-tests: New file.
83945         * tests/test-alignof.c: New file.
83947 2009-05-12  Bruno Haible  <bruno@clisp.org>
83949         Fix alignof macro.
83950         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
83951         vendor compilers that are always correct.
83953 2009-05-12  Bruno Haible  <bruno@clisp.org>
83955         Make the MAP_ANONYMOUS detection work on HP-UX 11.
83956         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
83957         not whether its fully works.
83959 2009-05-12  Bruno Haible  <bruno@clisp.org>
83961         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
83963 2009-05-12  Jim Meyering  <meyering@redhat.com>
83965         * top/maint.mk: Adjust backslash alignment.
83967 2009-05-11  Simon Josefsson  <simon@josefsson.org>
83969         * top/maint.mk: Make $(srcdir)/build-aux configurable.
83971 2009-05-11  Eric Blake  <ebb9@byu.net>
83973         argp: avoid undefined behavior
83974         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
83975         macros.
83977 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83979         * tests/test-vc-list-files-git.sh: Do git config of user.email and
83980         user.name to prevent git commit from complaining.
83982 2009-05-10  Bruno Haible  <bruno@clisp.org>
83984         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
83985         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
83986         it rewrites every file name only once.
83987         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
83989 2009-05-08  Bruno Haible  <bruno@clisp.org>
83991         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
83992         instead of 'max'.
83994 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83996         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
83997         sockaddr_storage test.
83999 2009-05-07  Simon Josefsson  <simon@josefsson.org>
84001         * modules/sys_socket (Makefile.am): Substitute
84002         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
84003         * m4/sys_socket_h.m4: Check for sockaddr_storage.
84004         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
84005         * tests/test-sys_socket.c: Check sockaddr_storage.
84007 2009-05-08  Bruno Haible  <bruno@clisp.org>
84009         New module 'alignof'.
84010         * lib/alignof.h: New file.
84011         * modules/alignof: New file.
84013 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84014             Bruno Haible  <bruno@clisp.org>
84016         Fix test-file-has-acl on FreeBSD.
84017         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
84018         mask is implicitly added.
84019         * tests/test-file-has-acl.c: Include <signal.h>.
84020         (main): Terminate the test after 5 seconds.
84021         * modules/acl-tests (configure.ac): Check for alarm function.
84023 2009-05-04  Bruno Haible  <bruno@clisp.org>
84025         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
84026         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
84027         * modules/errno (configure.ac): Drop AC_REQUIRE.
84028         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
84029         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
84031 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84033         * modules/glob-tests: New module.
84034         * tests/test-glob.c: Add.
84036 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84038         * modules/fnmatch-tests: New module.
84039         * tests/test-fnmatch.c: Add.
84041 2009-05-04  Eric Blake  <ebb9@byu.net>
84043         maint: make the new no-submodule-changes rule VPATH-safe
84044         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
84046 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84047             Bruno Haible  <bruno@clisp.org>
84049         acl: Fix infinite loop on FreeBSD.
84050         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
84051         of return value from acl_get_entry.
84052         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
84053         Likewise.
84055 2009-05-03  Bruno Haible  <bruno@clisp.org>
84057         * lib/acl-internal.h (acl_entries): Clarify return value.
84058         * lib/acl_entries.c (acl_entries): Likewise.
84060 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84062         Bug fix in acl module.
84063         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
84065 2009-05-03  Bruno Haible  <bruno@clisp.org>
84067         Create gperf-generated file in the source dir, not in the build dir.
84068         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
84069         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
84070         * modules/unicase/locale-language (unicase/locale-languages.h):
84071         Likewise.
84072         * modules/unicase/special-casing (unicase/special-casing-table.h):
84073         Likewise.
84074         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
84075         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
84076         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
84077         Reported by Ralf Wildenhues.
84079 2009-05-03  Bruno Haible  <bruno@clisp.org>
84081         * modules/fnmatch (Description, configure.ac): Taken from
84082         fnmatch-posix.
84083         * modules/fnmatch-posix: Turn into a symbolic reference to the
84084         'fnmatch' module, and deprecate.
84085         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
84087 2009-05-03  Bruno Haible  <bruno@clisp.org>
84089         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
84090         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
84091         Reported by Ralf Wildenhues.
84093 2009-05-04  Simon Josefsson  <simon@josefsson.org>
84095         * m4/fnmatch.m4: Fix fnmatch re-define.
84097 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
84099         priv-set: new module and tests; adapt write-any-file
84100         * lib/priv-set.c: New file.
84101         * lib/priv-set.h: New file.
84102         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
84103         * lib/write-any-file.c: Simplify by using priv-set module.
84104         * m4/priv-set.m4: New file.
84105         * modules/priv-set: New file.
84106         * modules/unlinkdir: Add dependency on priv-set module.
84107         * modules/write-any-file: Likewise.
84109         Tests for module 'priv-set'.
84110         * modules/priv-set-tests: New file.
84111         * tests/test-priv-set.c: New file.
84113 2009-05-03  Jim Meyering  <meyering@redhat.com>
84114             Bruno Haible  <bruno@clisp.org>
84116         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
84117         use the converted UTF-8 variant of the name instead.
84119 2009-05-03  Jim Meyering  <meyering@redhat.com>
84121         tests: tighten some getdate tests
84122         * tests/test-getdate.c (main): Tighten tests: require equality,
84123         not just greater than.  Set TZ envvar to UTC0.
84125 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
84127         getdate: correctly interpret "next monday" when run on a Monday
84128         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
84129         that e.g., "next tues" (when run on a tuesday) results in a date
84130         that is one week in the future, and not today's date.
84131         I.e., add a week when the wday is the same as the current one.
84132         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
84133         and earlier by Martin Bernreuther and Jan Minář.
84134         * tests/test-getdate.c (main): Check that "next DAY" is always in
84135         the future and that "last DAY" is always in the past.
84137 2009-05-02  Jim Meyering  <meyering@redhat.com>
84139         build: ensure that a release build fails when a submodule is unclean
84140         * top/maint.mk (no-submodule-changes): New rule.
84141         (alpha beta major): Depend on it.
84143 2009-05-02  Bruno Haible  <bruno@clisp.org>
84145         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
84146         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
84147         shell variable gl_fnmatch_required to detect which variant is
84148         requested.
84149         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
84150         gl_FUNC_FNMATCH_POSIX.
84151         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
84152         exclude fnmatch-posix.
84154 2009-05-02  Bruno Haible  <bruno@clisp.org>
84156         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
84157         * modules/mbsrtowcs (License): Change to LGPLv2+.
84158         * modules/strnlen1 (License): Likewise.
84159         Reported by Simon Josefsson.
84161 2009-05-02  Bruno Haible  <bruno@clisp.org>
84163         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
84164         "cross".
84165         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
84166         gnulib-tool was called with option --source-base=lib.
84168 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84170         Use automake *-local hooks without commands, for extensibility.
84171         * modules/localcharset (Makefile.am): Rename install-exec-local
84172         rule to install-exec-localcharset, and make it a prerequisite of
84173         install-exec-local.  Likewise, rename the uninstall-local rule to
84174         uninstall-localcharset, and make it a prerequisite of the former.
84176 2009-05-01  Bruno Haible  <bruno@clisp.org>
84178         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
84179         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84180         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
84181         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
84182         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
84183         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84184         m4/locale-zh.m4, m4/codeset.m4.
84186         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
84187         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
84188         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
84189         m4/locale-zh.m4.
84191         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
84192         REPLACE_WCRTOMB if mbstate_t must be replaced.
84193         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
84194         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
84196 2009-05-01  Bruno Haible  <bruno@clisp.org>
84198         Avoid compiler warnings when redefining macros defined by <libintl.h>.
84199         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
84200         dngettext, dcngettext, textdomain, bindtextdomain,
84201         bind_textdomain_codeset): Undefine before redefining.
84203 2009-04-30  Bruno Haible  <bruno@clisp.org>
84205         Fix bug introduced on 2009-04-25.
84206         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
84207         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
84208         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
84209         is defined.
84210         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
84211         is defined.
84212         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
84213         is defined.
84214         Reported by Elbert_Pol <elbert.pol@gmail.com>.
84216 2009-04-28  Bruno Haible  <bruno@clisp.org>
84218         Comment tweaks.
84219         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
84220         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
84221         * lib/unicase.h (u*_casexfrm): Likewise.
84222         Reported by Paolo Bonzini.
84224 2009-04-28  Bruno Haible  <bruno@clisp.org>
84226         Fix a compilation error.
84227         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
84228         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
84229         Reported by Jim Meyering.
84231 2009-04-27  Bruno Haible  <bruno@clisp.org>
84233         New module 'libunistring'.
84234         * modules/libunistring: New file.
84235         * m4/libunistring.m4: New file.
84236         * MODULES.html.sh (Unicode string functions): Add it.
84238 2009-04-27  Eric Blake  <ebb9@byu.net>
84240         maint.mk: allow package-specific header to provide <config.h>
84241         * top/maint.mk (sc_require_config_h): New variable.
84242         (sc_require_config_h, sc_require_config_h_first): Use it.
84244 2009-04-27  Simon Josefsson  <simon@josefsson.org>
84246         * top/maint.mk (sc_avoid_if_before_free): Except
84247         useless-if-before-free script.
84249 2009-04-27  Eric Blake  <ebb9@byu.net>
84251         maintainer-makefile: depend on all required helper scripts
84252         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
84253         useless-if-before-free.
84254         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
84255         version, rather than assuming gnulib checkout is available.
84256         Reported by Simen Josefsson.
84258 2009-04-26  Bruno Haible  <bruno@clisp.org>
84260         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
84261         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
84262         "../" or "..".
84264 2009-04-26  Bruno Haible  <bruno@clisp.org>
84266         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
84267         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
84268         AC_LIB_HAVE_LINKFLAGS.
84270 2009-04-26  Bruno Haible  <bruno@clisp.org>
84272         Simplify calling convention of u*_conv_from_encoding.
84273         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
84274         u32_conv_from_encoding): Expect a resultbuf argument and return the
84275         result directly as a pointer.
84276         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
84277         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
84278         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
84279         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
84280         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
84281         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84282         Update.
84283         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
84284         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
84285         * lib/vasnprintf.c (VASNPRINTF): Update.
84286         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
84287         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
84288         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
84289         * NEWS: Mention the change.
84291 2009-04-26  Bruno Haible  <bruno@clisp.org>
84293         Simplify calling convention of u*_conv_to_encoding.
84294         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
84295         u32_conv_to_encoding): Expect a resultbuf argument and return the
84296         result directly as a pointer.
84297         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84298         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
84299         freeing scaled_offsets if mem_iconveha failed.
84300         * lib/unicase/u-casexfrm.h (FUNC): Update.
84301         * lib/uninorm/u-normxfrm.h (FUNC): Update.
84302         * lib/vasnprintf.c (VASNPRINTF): Update.
84303         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
84304         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
84305         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
84306         * NEWS: Mention the change.
84308 2009-04-26  Bruno Haible  <bruno@clisp.org>
84310         Avoid test failures on AIX and OSF/1.
84311         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
84312         malloc(0).
84313         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
84314         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
84315         Likewise.
84316         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
84317         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
84318         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
84319         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
84320         * doc/posix-functions/malloc.texi: Document the portability problem
84321         related to malloc(0).
84323 2009-04-26  Bruno Haible  <bruno@clisp.org>
84325         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
84326         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
84327         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
84329 2009-04-25  Bruno Haible  <bruno@clisp.org>
84331         Avoid link error when creating a namespace clean library.
84332         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
84333         as macro with arguments if already defined as an alias.
84334         * lib/signbitf.c (gl_signbitf): Don't undefine.
84335         * lib/signbitd.c (gl_signbitd): Don't undefine.
84336         * lib/signbitl.c (gl_signbitl): Don't undefine.
84338 2009-04-25  Jim Meyering  <meyering@redhat.com>
84340         vc-list-files: fix another quoting bug
84341         * build-aux/vc-list-files: Avoid sed backslash expansion
84342         of pathological directory names.
84344 2009-04-25  Eric Blake  <ebb9@byu.net>
84346         vc-list-files: fix shell quoting error
84347         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
84348         timestamp.
84350 2009-04-25  Jim Meyering  <meyering@redhat.com>
84352         vc-list-files: restore lost functionality with subdir argument
84353         * build-aux/vc-list-files: When given a non-"." sub-directory
84354         argument, substitute the $dir/ prefix back onto each resulting name.
84355         Otherwise, coreutils' root_tests check would fail.
84357 2009-04-24  Eric Blake  <ebb9@byu.net>
84359         vc-list-files: ignore git symlinks
84360         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
84361         than ls-files, to ignore git symlinks.
84363         maint.mk: import improvements from m4
84364         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
84365         (move_if_change): Delete unused macro.
84366         (news-date-check, vc-diff-check): Support VPATH builds.
84367         (announcement): Likewise.  Split --bootstrap-tools list...
84368         (boostrap-tools): ...into separate list, which can be overridden
84369         in cfg.mk.
84370         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
84371         requiring dependency on useless-if-before-free module.
84372         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
84373         Support VPATH builds.
84375 2009-04-24  Jim Meyering  <meyering@redhat.com>
84377         maint.mk: remove coreutils-specific rules and variables
84378         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
84379         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
84380         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
84382         maint.mk: remove obsolete rule
84383         * top/maint.mk (rel-check): Remove rule.
84384         (WGET, WGETFLAGS): Remove now-unused variables.
84386 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84388         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
84389         consistency.
84391         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
84392         '$(PATH_SEPARATOR)' instead of ':'.
84394 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84396         * lib/getopt1.c (main): Use 'const' for static array.
84398 2009-04-24  Simon Josefsson  <simon@josefsson.org>
84400         * top/maint.mk: Sync with coreutils.
84401         * NEWS: Explain incompatibilities.
84403 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84404             Bruno Haible  <bruno@clisp.org>
84406         Fix cross-compilation results.
84407         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
84408         statement, as third argument of AC_TRY_RUN.
84409         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
84410         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
84411         Likewise.
84412         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
84413         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
84414         Likewise.
84415         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
84416         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
84417         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
84419 2009-04-20  Bruno Haible  <bruno@clisp.org>
84421         Avoid test failure on mingw.
84422         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
84424 2009-04-20  Bruno Haible  <bruno@clisp.org>
84426         Avoid compilation error on mingw.
84427         * modules/localename-tests (Depends-on): Add locale.
84429 2009-04-19  Bruno Haible  <bruno@clisp.org>
84431         Support for building a shared library on Windows platforms.
84432         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
84433         (main): Test the presence of UNINORM_NFC here.
84434         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
84435         (main): Test the presence of UNINORM_NFD here.
84436         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
84437         (main): Test the presence of UNINORM_NFKC here.
84438         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
84439         (main): Test the presence of UNINORM_NFKD here.
84441 2009-04-19  Bruno Haible  <bruno@clisp.org>
84443         Avoid a compiler warning.
84444         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
84445         Change type of variable 'sequence'.
84447 2009-04-19  Bruno Haible  <bruno@clisp.org>
84449         * modules/configmake (Makefile.am): When the contents of configmake.h
84450         does not change, arrange to preserve its modification time.
84452 2009-04-17  Simon Josefsson  <simon@josefsson.org>
84454         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
84455         gettext domain.
84457 2009-04-16  Jim Meyering  <meyering@redhat.com>
84459         useless-if-before-free: improve conversion code
84460         * build-aux/useless-if-before-free: Adjust code-in-comment to match
84461         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
84463 2009-04-14  Bruno Haible  <bruno@clisp.org>
84465         * modules/fcntl (Depends-on): Add extensions.
84466         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
84468 2009-04-12  Ben Pfaff  <blp@gnu.org>
84470         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
84471         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
84473 2009-03-20  Ben Pfaff  <blp@gnu.org>
84475         Make rename replace existing destinations on Windows.
84476         * m4/rename.m4: Add test for Mingw.
84477         * lib/rename.c: Add rename replacement that uses MoveFileEx with
84478         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
84479         * doc/posix-functions/rename.texi: Document.
84481 2009-04-10  Bruno Haible  <bruno@clisp.org>
84483         New include file "iconveh.h".
84484         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
84485         * lib/striconveh.h: Include it.
84486         (enum iconv_ilseq_handler): Remove definition.
84487         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
84488         striconveh.h.
84489         * lib/striconveha.c: Include striconveh.h.
84490         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
84491         * modules/striconveh (Files): Add lib/iconveh.h.
84492         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
84493         lib/striconveh.h.
84495 2009-04-10  Bruno Haible  <bruno@clisp.org>
84497         * lib/uniconv.h: Update comment.
84499 2009-04-10  Bruno Haible  <bruno@clisp.org>
84501         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
84502         always.
84503         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84504         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84505         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84506         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
84507         "unistring-notinline.h", so that the function gets defined always.
84508         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84509         * lib/unistr/u8-uctomb.c: Likewise.
84510         * lib/unistr/u16-mbtouc.c: Likewise.
84511         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84512         * lib/unistr/u16-uctomb.c: Likewise.
84513         * lib/unistr/u32-mbtouc.c: Likewise.
84514         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84515         * lib/unistr/u32-uctomb.c: Likewise.
84517 2009-04-10  Bruno Haible  <bruno@clisp.org>
84519         Mark 'utime' obsolete.
84520         * modules/utime (Status, Notice): New sections.
84521         Suggested by Jim Meyering.
84523         Fix cross-compile guess for utime test.
84524         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
84525         autoconf.
84526         * doc/posix-functions/utime.texi: Give more precisions.
84527         Reported by Jan <ipif@ymail.com>.
84529 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
84531         filevercmp: correct today's change
84532         * lib/filevercmp.c: Also handle coreutils' test inputs.
84533         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
84535         Fix regression in 'filevercmp' module. Thanks Sven Joachim
84536         for reporting it.
84537         * lib/filevercmp.c: Special handle for "", "." and "..".
84538         * tests/test-filevercmp.c: Enlarge the set suite.
84540 2009-04-07  Jim Meyering  <meyering@redhat.com>
84542         useless-if-before-free: show how to remove braced useless free, too
84543         * build-aux/useless-if-before-free: still only in a comment, though.
84545 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
84547         maint.mk: import changes to syntax-check macros from coreutils
84548         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
84549         Use them in the relevant macros.
84551 2009-04-06  Bruno Haible  <bruno@clisp.org>
84553         Fix unportable use of bit-fields.
84554         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
84555         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
84556         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
84558 2009-04-06  Bruno Haible  <bruno@clisp.org>
84560         Avoid test failures on AIX and OSF/1.
84561         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
84562         that malloc(0) = NULL.
84563         * tests/unicase/test-u8-tolower.c (check): Likewise.
84564         * tests/unicase/test-u8-totitle.c (check): Likewise.
84565         * tests/unicase/test-u8-toupper.c (check): Likewise.
84566         * tests/unicase/test-u16-casefold.c (check): Likewise.
84567         * tests/unicase/test-u16-tolower.c (check): Likewise.
84568         * tests/unicase/test-u16-totitle.c (check): Likewise.
84569         * tests/unicase/test-u16-toupper.c (check): Likewise.
84570         * tests/unicase/test-u32-casefold.c (check): Likewise.
84571         * tests/unicase/test-u32-tolower.c (check): Likewise.
84572         * tests/unicase/test-u32-totitle.c (check): Likewise.
84573         * tests/unicase/test-u32-toupper.c (check): Likewise.
84574         * tests/uninorm/test-u8-nfc.c (check): Likewise.
84575         * tests/uninorm/test-u8-nfd.c (check): Likewise.
84576         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
84577         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
84578         * tests/uninorm/test-u16-nfc.c (check): Likewise.
84579         * tests/uninorm/test-u16-nfd.c (check): Likewise.
84580         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
84581         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
84582         * tests/uninorm/test-u32-nfc.c (check): Likewise.
84583         * tests/uninorm/test-u32-nfd.c (check): Likewise.
84584         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
84585         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
84587 2009-04-05  Bruno Haible  <bruno@clisp.org>
84589         Work around an autoconf limitation.
84590         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
84591         comment line if it would be longer than 3 KB.
84593 2009-04-05  Bruno Haible  <bruno@clisp.org>
84595         Avoid test failure with libiconv-1.13.
84596         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
84597         of the expected test results.
84599 2009-04-05  Bruno Haible  <bruno@clisp.org>
84601         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
84602         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
84603         that it should be installed.
84605 2009-04-05  Bruno Haible  <bruno@clisp.org>
84607         * gnulib-tool: New option --copy-file.
84608         (func_usage): Document it.
84609         (func_dest_tmpfilename): Moved out of func_import.
84610         (func_add_file, func_update_file): New functions, extracted from
84611         func_import.
84612         (func_import): Update.
84614 2009-04-05  Karl Berry  <karl@gnu.org>
84616         * README: prominently mention gnulib-tool.
84617         Rearrange sections so getting the code is near the top.
84619 2009-04-05  Bruno Haible  <bruno@clisp.org>
84621         * lib/unicase.h: Mention u*_cmp2.
84622         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84623         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
84624         * lib/unicase/ulc-casecmp.c: Likewise.
84625         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
84626         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
84627         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
84628         unistr/u8-cmp.
84629         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
84630         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
84631         unistr/u16-cmp.
84632         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
84633         unistr/u32-cmp.
84635         * lib/uninorm.h: Mention u*_cmp2.
84636         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84637         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
84638         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
84639         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
84640         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
84641         unistr/u8-cmp.
84642         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
84643         unistr/u16-cmp.
84644         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
84645         unistr/u32-cmp.
84647         New module 'unistr/u32-cmp2'.
84648         * lib/unistr/u32-cmp2.c: New file.
84649         * modules/unistr/u32-cmp2: New file.
84651         New module 'unistr/u16-cmp2'.
84652         * lib/unistr/u16-cmp2.c: New file.
84653         * modules/unistr/u16-cmp2: New file.
84655         New module 'unistr/u8-cmp2'.
84656         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
84657         * lib/unistr/u8-cmp2.c: New file.
84658         * lib/unistr/u-cmp2.h: New file.
84659         * modules/unistr/u8-cmp2: New file.
84661 2009-04-05  Bruno Haible  <bruno@clisp.org>
84663         * lib/unictype.h (uc_property_is_valid): New macro.
84664         * tests/unictype/test-pr_byname.c (main): Use it.
84666         * lib/unistr.h: Doc fixes.
84667         * lib/uniconv.h: Doc fixes.
84668         * lib/unictype.h: Doc fixes.
84670 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
84672         Port coreutils 7.2 to Solaris 8.
84674         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
84675         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
84676         for Solaris 8.  This is a bit of a hack, as it means it's the
84677         caller's responsibility to add -lnsl if needed, but most likely it
84678         won't be needed since only getaddrinfo uses this and getaddrinfo
84679         isn't needed on Solaris 8.
84681         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
84682         problem to Solaris 8 encountered with coreutils 7.2, which
84683         resulted in a message "fnmatch.c:292: warning: passing argument 4
84684         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
84685         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
84687 2009-04-03  Simon Josefsson  <simon@josefsson.org>
84689         * m4/ld-version-script.m4: Add FIXME comment.
84691 2009-04-02  Simon Josefsson  <simon@josefsson.org>
84693         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
84694         SOVERSION variable.
84696 2009-04-02  Bruno Haible  <bruno@clisp.org>
84698         * Makefile (info, html, dvi, pdf): Combine the rules.
84699         Suggested by Jim Meyering.
84701 2009-04-01  Bruno Haible  <bruno@clisp.org>
84703         * Makefile (info, html, dvi, pdf): New targets.
84704         Reported by Reuben Thomas <rrt@sc3d.org>.
84706 2009-04-01  Bruno Haible  <bruno@clisp.org>
84708         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
84709         can be put into PATH.
84710         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
84712 2009-04-01  Bruno Haible  <bruno@clisp.org>
84714         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
84716 2009-04-01  Bruno Haible  <bruno@clisp.org>
84718         Rename module 'visibility'.
84719         * modules/lib-symbol-visibility: Renamed from modules/visibility.
84720         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
84721         * doc/gnulib.texi: Update.
84722         * MODULES.html.sh (Misc): Update.
84723         * NEWS: Mention the change.
84725 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84727         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
84728         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
84729         Eric Blake <ebb9@byu.net> for review.
84730         * MODULES.html.sh: Add lib-msvc-compat.
84731         * doc/gnulib.texi: Link to new section.
84732         * m4/ld-output-def.m4: New file.
84733         * doc/ld-output-def.texi: New file.
84735 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84737         Rename ld-version-script to lib-symbol-versions.  Suggested by
84738         Bruno Haible <bruno@clisp.org>.
84739         * modules/ld-version-script: Renamed to lib-symbol-versions.
84740         * doc/ld-version-script.texi: Fix module name.
84741         * MODULES.html.sh: Add lib-symbol-versions.
84743 2009-03-31  Simon Josefsson  <simon@josefsson.org>
84745         * modules/u64-tests: New file.
84746         * tests/test-u64.c: New file.
84748 2009-03-04  Simon Josefsson  <simon@josefsson.org>
84750         * MODULES.html.sh: Mention u64.
84751         * modules/u64: New module.
84752         * modules/crypto/sha512: Depend on u64 module instead of providing
84753         u64.h.
84755 2009-03-27  Eric Blake  <ebb9@byu.net>
84757         test-strerror: make debugging EAI_SYSTEM easier
84758         * modules/getaddrinfo-tests (Depends-on): Add strerror.
84759         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
84760         failure was EAI_SYSTEM.
84762 2009-03-25  Bruno Haible  <bruno@clisp.org>
84764         Fix a problem with --enable-relocatable on Solaris 7.
84765         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
84766         since 2008-02-24.
84768 2009-03-25  Eric Blake  <ebb9@byu.net>
84770         test-sockets: avoid gcc warning
84771         * tests/test-sockets.c (main): Silence compiler warning.
84773 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
84775         New modules nproc, pthread, contributed by Glen Lenker.
84777         * MODULES.html.sh: Add pthread, nproc.
84778         * lib/nproc.c: New file.
84779         * lib/nproc.h: New file.
84780         * lib/pthread.in.h: New file.
84781         * m4/pthread.m4: New file.
84782         * modules/nproc: New file.
84783         * modules/pthread: New file.
84785 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84787         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
84788         New variable.
84790 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
84792         filevercmp: handle simple~ and numbered.~3~ backup suffixes
84793         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
84794         * tests/test-filevercmp.c: Add tests for backup suffixes.
84796 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84798         * modules/stdlib (Depends-on): Add stdint, needed when defining
84799         struct random_data on, for example, HP-UX 10.20.  Reported by
84800         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
84802 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84804         * lib/readline.c (readline): Call fflush on stdout after printing
84805         prompt.
84807 2009-03-20  Bruno Haible  <bruno@clisp.org>
84809         Remove dependency from 'close' module to -lws2_32 on native Windows.
84810         * lib/close-hook.h: New file.
84811         * lib/close-hook.c: New file.
84812         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
84813         w32sock.h.
84814         (_gl_close_fd_maybe_socket): Remove function.
84815         (rpl_close): Invoke execute_all_close_hooks instead of
84816         _gl_close_fd_maybe_socket.
84817         * lib/sockets.c: Include close-hook.h, w32sock.h.
84818         (close_fd_maybe_socket): New function, essentially from lib/close.c.
84819         (close_sockets_hook): New variable.
84820         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
84821         (gl_sockets_cleanup): Unregister it.
84822         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
84823         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
84824         * modules/close-hook: New file.
84825         * modules/close (Files): Remove lib/w32sock.h.
84826         (Depends-on): Add close-hook.
84827         (Link): Remove section.
84828         * modules/sockets (Files): Add lib/w32sock.h.
84829         (Depends-on): Add close-hook.
84830         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
84831         invocation.
84832         * NEWS: Mention that LIB_CLOSE is gone.
84834 2009-03-23  Eric Blake  <ebb9@byu.net>
84836         signal-tests: test previous patch
84837         * tests/test-signal.c: New file.
84838         * modules/signal-tests: Likewise.
84840         signal.h: always support 'volatile sig_atomic_t'
84841         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
84842         (gl_SIGNAL_H_DEFAULTS): Add a default.
84843         * modules/signal (Makefile.am): Substitute if needed.
84844         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
84845         users can blindly add volatile.
84846         * doc/posix-headers/signal.texi (signal.h): Document it.
84847         Reported by Matthew Woehlke.
84849 2009-03-23  Jim Meyering  <meyering@redhat.com>
84851         pathmax: PATH_MAX: use pathconf only when available
84852         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
84853         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
84854         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
84855         This avoids a link failure in a PSP cross-compilation environment
84856         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
84858         * lib/vasnprintf.c (divide): Fix typo in comment.
84860 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84862         * gnulib-tool (func_filter_filelist): Fix comment.
84864 2009-03-20  Bruno Haible  <bruno@clisp.org>
84866         Make sockets.h self-contained.
84867         * lib/sockets.c: Include sockets.h first.
84868         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
84870 2009-03-19  Eric Blake  <ebb9@byu.net>
84872         doc: mention more functions added in cygwin 1.7.0
84873         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
84874         addition.
84875         * doc/posix-functions/log2f.texi: Likewise.
84877 2009-03-19  Jim Meyering  <meyering@redhat.com>
84879         fsusage: avoid syntax error due to statement-before-declaration
84880         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
84881         after all declarations.  Reported by Matthew Woehlke in
84882         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
84884 2009-03-18  Eric Blake  <ebb9@byu.net>
84886         build-aux/compile: sync from automake
84887         * build-aux/compile: New file, from automake.
84888         * config/srclist.txt: Mention build-aux/compile.
84890 2009-03-17  Bruno Haible  <bruno@clisp.org>
84892         * lib/git-merge-changelog.c: Fix typo in comment.
84893         Reported by Reuben Thomas <rrt@sc3d.org>.
84895 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
84897         * m4/regex.m4: update and improve help for
84898         --without-included-regex.
84900 2009-03-17  Simon Josefsson  <simon@josefsson.org>
84902         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
84903         failure on missing include files.
84905 2009-03-17  Eric Blake  <ebb9@byu.net>
84907         doc: mention more functions added in cygwin 1.7.0
84908         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
84909         addition.
84910         * doc/posix-functions/fwscanf.texi: Likewise.
84911         * doc/posix-functions/swprintf.texi: Likewise.
84912         * doc/posix-functions/swscanf.texi: Likewise.
84913         * doc/posix-functions/vfwprintf.texi: Likewise.
84914         * doc/posix-functions/vfwscanf.texi: Likewise.
84915         * doc/posix-functions/vswprintf.texi: Likewise.
84916         * doc/posix-functions/vswscanf.texi: Likewise.
84917         * doc/posix-functions/vwprintf.texi: Likewise.
84918         * doc/posix-functions/vwscanf.texi: Likewise.
84919         * doc/posix-functions/wcscasecmp.texi: Likewise.
84920         * doc/posix-functions/wcsdup.texi: Likewise.
84921         * doc/posix-functions/wcsftime.texi: Likewise.
84922         * doc/posix-functions/wcsncasecmp.texi: Likewise.
84923         * doc/posix-functions/wprintf.texi: Likewise.
84924         * doc/posix-functions/wscanf.texi: Likewise.
84925         * doc/glibc-functions/gethostbyname2.texi: Likewise.
84927 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84929         maint.mk: really add $(AM_MAKEFLAGS)
84930         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
84931         was inadvertently omitted in the last commit.
84932         Spotted by Bruno Haible.
84934         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
84935         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
84936         $(AM_MAKEFLAGS)' rather than plain `make'.
84938         gnulib-tool: execute $MAKE not make
84939         * gnulib-tool: Default $MAKE to 'make'.
84940         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
84941         than make.  Initialize $MAKE in the do-autobuild script.
84943         gnulib-tool: use $MAKE not make in generated files
84944         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
84945         make, in generated files.  Initialize $MAKE in the do-autobuild
84946         script.
84948         * top/GNUmakefile (_have-git-version-gen): Fix typo.
84950         GNUmakefile: disable parallelism only for multiple, recursive targets
84951         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
84952         additions in the Makefile.
84953         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
84954         by Automake.
84955         (.NOTPARALLEL): Only disable parallel builds if multiple targets
84956         are listed on the command line and at least one of them is
84957         listed in $(ALL_RECURSIVE_TARGETS).
84959 2009-03-14  Bruno Haible  <bruno@clisp.org>
84961         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
84962         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
84963         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
84964         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
84965         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
84966         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
84967         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
84968         unistr/u8-uctomb.
84969         * modules/unistr/u8-strchr (Depends-on): Likewise.
84970         * modules/unistr/u8-strrchr (Depends-on): Likewise.
84971         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
84972         unistr/u16-uctomb.
84973         * modules/unistr/u16-strchr (Depends-on): Likewise.
84974         * modules/unistr/u16-strrchr (Depends-on): Likewise.
84976 2009-03-12  Bruno Haible  <bruno@clisp.org>
84978         Work around select() bug on Interix 3.5.
84979         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
84980         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
84981         * m4/select.m4: New file.
84982         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
84983         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
84984         * modules/select (Files): Add m4/select.m4.
84985         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
84986         * modules/nanosleep (Depends-on): Add select.
84987         * modules/poll (Depends-on): Likewise.
84988         * doc/posix-functions/select.texi: Mention the Interix bug.
84989         Reported by Markus Duft <mduft@gentoo.org>.
84991         * lib/select.c: Renamed from lib/winsock-select.c.
84992         * modules/select (Files): Add lib/select.c, remove
84993         lib/winsock-select.c.
84994         (configure.ac): Update.
84996 2009-03-12  Jim Meyering  <meyering@redhat.com>
84998         avoid gcc warnings about unused macro definitions
84999         * lib/readtokens.c (STREQ): Remove unused definition.
85000         * lib/xmalloc.c (SIZE_MAX): Likewise.
85001         * lib/openat-die.c (N_): Likewise.
85002         * lib/mountlist.c (SIZE_MAX): Remove definition.
85003         Instead, include <stdint.h>.
85004         * lib/readutmp.c: Likewise.
85005         * modules/readutmp (Depends-on): Add stdint.
85006         * modules/mountlist (Depends-on): Add stdint.
85007         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
85009 2009-03-10  Bruno Haible  <bruno@clisp.org>
85011         Tests for module 'mbmemcasecoll'.
85012         * modules/mbmemcasecoll-tests: New file.
85013         * tests/test-mbmemcasecoll1.sh: New file.
85014         * tests/test-mbmemcasecoll2.sh: New file.
85015         * tests/test-mbmemcasecoll3.sh: New file.
85016         * tests/test-mbmemcasecoll.c: New file.
85018         New module 'mbmemcasecoll'.
85019         * lib/mbmemcasecoll.h: New file.
85020         * lib/mbmemcasecoll.c: New file.
85021         * modules/mbmemcasecoll: New file.
85023         * tests/test-mbmemcasecmp.h: New file, extracted from
85024         tests/test-mbmemcasecmp.c.
85025         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
85026         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
85027         (main): Update.
85028         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
85030 2009-03-09  Bruno Haible  <bruno@clisp.org>
85032         Tests for module 'mbmemcasecmp'.
85033         * modules/mbmemcasecmp-tests: New file.
85034         * tests/test-mbmemcasecmp1.sh: New file.
85035         * tests/test-mbmemcasecmp2.sh: New file.
85036         * tests/test-mbmemcasecmp3.sh: New file.
85037         * tests/test-mbmemcasecmp.c: New file.
85039         New module 'mbmemcasecmp'.
85040         * lib/mbmemcasecmp.h: New file.
85041         * lib/mbmemcasecmp.c: New file.
85042         * modules/mbmemcasecmp: New file.
85044 2009-03-09  Bruno Haible  <bruno@clisp.org>
85046         Tests for module 'unicase/ulc-casecoll'.
85047         * modules/unicase/ulc-casecoll-tests: New file.
85048         * tests/unicase/test-ulc-casecoll1.sh: New file.
85049         * tests/unicase/test-ulc-casecoll2.sh: New file.
85050         * tests/unicase/test-ulc-casecoll.c: New file.
85052         New module 'unicase/ulc-casecoll'.
85053         * lib/unicase.h (ulc_casecoll): New declaration.
85054         * lib/unicase/ulc-casecoll.c: New file.
85055         * modules/unicase/ulc-casecoll: New file.
85057         New module 'unicase/ulc-casexfrm'.
85058         * lib/unicase.h (ulc_casexfrm): New declaration.
85059         * lib/unicase/ulc-casexfrm.c: New file.
85060         * modules/unicase/ulc-casexfrm: New file.
85062 2009-03-09  Bruno Haible  <bruno@clisp.org>
85064         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
85065         invocations.
85067         * m4/mbscasecmp.m4: Remove file.
85068         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
85069         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
85071         * m4/mbscasestr.m4: Remove file.
85072         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
85073         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
85075         * m4/mbschr.m4: Remove file.
85076         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
85077         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
85079         * m4/mbscspn.m4: Remove file.
85080         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
85081         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
85083         * m4/mbslen.m4: Remove file.
85084         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
85085         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
85087         * m4/mbsncasecmp.m4: Remove file.
85088         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
85089         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
85091         * m4/mbsnlen.m4: Remove file.
85092         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
85093         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
85095         * m4/mbspbrk.m4: Remove file.
85096         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
85097         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
85099         * m4/mbspcasecmp.m4: Remove file.
85100         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
85101         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
85103         * m4/mbsrchr.m4: Remove file.
85104         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
85105         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
85107         * m4/mbssep.m4: Remove file.
85108         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
85109         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
85111         * m4/mbsspn.m4: Remove file.
85112         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
85113         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
85115         * m4/mbsstr.m4: Remove file.
85116         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
85117         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
85119         * m4/mbstok_r.m4: Remove file.
85120         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
85121         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
85123         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
85125         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
85126         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
85128         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
85130 2009-03-08  Bruno Haible  <bruno@clisp.org>
85132         Tests for module 'unicase/ulc-casecmp'.
85133         * modules/unicase/ulc-casecmp-tests: New file.
85134         * tests/unicase/test-ulc-casecmp1.sh: New file.
85135         * tests/unicase/test-ulc-casecmp2.sh: New file.
85136         * tests/unicase/test-ulc-casecmp.c: New file.
85138         New module 'unicase/ulc-casecmp'.
85139         * lib/unicase.h (ulc_casecmp): New declaration.
85140         * lib/unicase/ulc-casecmp.c: New file.
85141         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
85142         'const SRC_UNIT *'.
85143         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
85144         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
85145         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
85146         * modules/unicase/ulc-casecmp: New file.
85148         Tests for module 'unicase/u32-is-cased'.
85149         * modules/unicase/u32-is-cased-tests: New file.
85150         * tests/unicase/test-u32-is-cased.c: New file.
85152         Tests for module 'unicase/u16-is-cased'.
85153         * modules/unicase/u16-is-cased-tests: New file.
85154         * tests/unicase/test-u16-is-cased.c: New file.
85156         Tests for module 'unicase/u8-is-cased'.
85157         * modules/unicase/u8-is-cased-tests: New file.
85158         * tests/unicase/test-u8-is-cased.c: New file.
85159         * tests/unicase/test-is-cased.h: New file.
85161         New module 'unicase/u32-is-cased'.
85162         * lib/unicase/u32-is-cased.c: New file.
85163         * modules/unicase/u32-is-cased: New file.
85165         New module 'unicase/u16-is-cased'.
85166         * lib/unicase/u16-is-cased.c: New file.
85167         * modules/unicase/u16-is-cased: New file.
85169         New module 'unicase/u8-is-cased'.
85170         * lib/unicase/u8-is-cased.c: New file.
85171         * lib/unicase/u-is-cased.h: New file.
85172         * modules/unicase/u8-is-cased: New file.
85174         Tests for module 'unicase/u32-is-casefolded'.
85175         * modules/unicase/u32-is-casefolded-tests: New file.
85176         * tests/unicase/test-u32-is-casefolded.c: New file.
85178         Tests for module 'unicase/u16-is-casefolded'.
85179         * modules/unicase/u16-is-casefolded-tests: New file.
85180         * tests/unicase/test-u16-is-casefolded.c: New file.
85182         Tests for module 'unicase/u8-is-casefolded'.
85183         * modules/unicase/u8-is-casefolded-tests: New file.
85184         * tests/unicase/test-u8-is-casefolded.c: New file.
85185         * tests/unicase/test-is-casefolded.h: New file.
85187         New module 'unicase/u32-is-casefolded'.
85188         * lib/unicase/u32-is-casefolded.c: New file.
85189         * modules/unicase/u32-is-casefolded: New file.
85191         New module 'unicase/u16-is-casefolded'.
85192         * lib/unicase/u16-is-casefolded.c: New file.
85193         * modules/unicase/u16-is-casefolded: New file.
85195         New module 'unicase/u8-is-casefolded'.
85196         * lib/unicase/u8-is-casefolded.c: New file.
85197         * modules/unicase/u8-is-casefolded: New file.
85199         Tests for module 'unicase/u32-is-titlecase'.
85200         * modules/unicase/u32-is-titlecase-tests: New file.
85201         * tests/unicase/test-u32-is-titlecase.c: New file.
85203         Tests for module 'unicase/u16-is-titlecase'.
85204         * modules/unicase/u16-is-titlecase-tests: New file.
85205         * tests/unicase/test-u16-is-titlecase.c: New file.
85207         Tests for module 'unicase/u8-is-titlecase'.
85208         * modules/unicase/u8-is-titlecase-tests: New file.
85209         * tests/unicase/test-u8-is-titlecase.c: New file.
85210         * tests/unicase/test-is-titlecase.h: New file.
85212         New module 'unicase/u32-is-titlecase'.
85213         * lib/unicase/u32-is-titlecase.c: New file.
85214         * modules/unicase/u32-is-titlecase: New file.
85216         New module 'unicase/u16-is-titlecase'.
85217         * lib/unicase/u16-is-titlecase.c: New file.
85218         * modules/unicase/u16-is-titlecase: New file.
85220         New module 'unicase/u8-is-titlecase'.
85221         * lib/unicase/u8-is-titlecase.c: New file.
85222         * modules/unicase/u8-is-titlecase: New file.
85224         Tests for module 'unicase/u32-is-lowercase'.
85225         * modules/unicase/u32-is-lowercase-tests: New file.
85226         * tests/unicase/test-u32-is-lowercase.c: New file.
85228         Tests for module 'unicase/u16-is-lowercase'.
85229         * modules/unicase/u16-is-lowercase-tests: New file.
85230         * tests/unicase/test-u16-is-lowercase.c: New file.
85232         Tests for module 'unicase/u8-is-lowercase'.
85233         * modules/unicase/u8-is-lowercase-tests: New file.
85234         * tests/unicase/test-u8-is-lowercase.c: New file.
85235         * tests/unicase/test-is-lowercase.h: New file.
85237         New module 'unicase/u32-is-lowercase'.
85238         * lib/unicase/u32-is-lowercase.c: New file.
85239         * modules/unicase/u32-is-lowercase: New file.
85241         New module 'unicase/u16-is-lowercase'.
85242         * lib/unicase/u16-is-lowercase.c: New file.
85243         * modules/unicase/u16-is-lowercase: New file.
85245         New module 'unicase/u8-is-lowercase'.
85246         * lib/unicase/u8-is-lowercase.c: New file.
85247         * modules/unicase/u8-is-lowercase: New file.
85249         Tests for module 'unicase/u32-is-uppercase'.
85250         * modules/unicase/u32-is-uppercase-tests: New file.
85251         * tests/unicase/test-u32-is-uppercase.c: New file.
85253         Tests for module 'unicase/u16-is-uppercase'.
85254         * modules/unicase/u16-is-uppercase-tests: New file.
85255         * tests/unicase/test-u16-is-uppercase.c: New file.
85257         Tests for module 'unicase/u8-is-uppercase'.
85258         * modules/unicase/u8-is-uppercase-tests: New file.
85259         * tests/unicase/test-u8-is-uppercase.c: New file.
85260         * tests/unicase/test-is-uppercase.h: New file.
85262         New module 'unicase/u32-is-uppercase'.
85263         * lib/unicase/u32-is-uppercase.c: New file.
85264         * modules/unicase/u32-is-uppercase: New file.
85266         New module 'unicase/u16-is-uppercase'.
85267         * lib/unicase/u16-is-uppercase.c: New file.
85268         * modules/unicase/u16-is-uppercase: New file.
85270         New module 'unicase/u8-is-uppercase'.
85271         * lib/unicase/u8-is-uppercase.c: New file.
85272         * modules/unicase/u8-is-uppercase: New file.
85274         New module 'unicase/u32-is-invariant'.
85275         * lib/unicase/u32-is-invariant.c: New file.
85276         * modules/unicase/u32-is-invariant: New file.
85278         New module 'unicase/u16-is-invariant'.
85279         * lib/unicase/u16-is-invariant.c: New file.
85280         * modules/unicase/u16-is-invariant: New file.
85282         New module 'unicase/u8-is-invariant'.
85283         * lib/unicase/u8-is-invariant.c: New file.
85284         * lib/unicase/invariant.h: New file.
85285         * lib/unicase/u-is-invariant.h: New file.
85286         * modules/unicase/u8-is-invariant: New file.
85288         Tests for module 'unicase/u32-casecoll'.
85289         * modules/unicase/u32-casecoll-tests: New file.
85290         * tests/unicase/test-u32-casecoll.c: New file.
85292         Tests for module 'unicase/u16-casecoll'.
85293         * modules/unicase/u16-casecoll-tests: New file.
85294         * tests/unicase/test-u16-casecoll.c: New file.
85296         Tests for module 'unicase/u8-casecoll'.
85297         * modules/unicase/u8-casecoll-tests: New file.
85298         * tests/unicase/test-u8-casecoll.c: New file.
85300         New module 'unicase/u32-casecoll'.
85301         * lib/unicase/u32-casecoll.c: New file.
85302         * modules/unicase/u32-casecoll: New file.
85304         New module 'unicase/u16-casecoll'.
85305         * lib/unicase/u16-casecoll.c: New file.
85306         * modules/unicase/u16-casecoll: New file.
85308         New module 'unicase/u8-casecoll'.
85309         * lib/unicase/u8-casecoll.c: New file.
85310         * lib/unicase/u-casecoll.h: New file.
85311         * modules/unicase/u8-casecoll: New file.
85313         New module 'unicase/u32-casexfrm'.
85314         * lib/unicase/u32-casexfrm.c: New file.
85315         * modules/unicase/u32-casexfrm: New file.
85317         New module 'unicase/u16-casexfrm'.
85318         * lib/unicase/u16-casexfrm.c: New file.
85319         * modules/unicase/u16-casexfrm: New file.
85321         New module 'unicase/u8-casexfrm'.
85322         * lib/unicase/u8-casexfrm.c: New file.
85323         * lib/unicase/u-casexfrm.h: New file.
85324         * modules/unicase/u8-casexfrm: New file.
85326         Tests for module 'unicase/u32-casecmp'.
85327         * modules/unicase/u32-casecmp-tests: New file.
85328         * tests/unicase/test-u32-casecmp.c: New file.
85330         Tests for module 'unicase/u16-casecmp'.
85331         * modules/unicase/u16-casecmp-tests: New file.
85332         * tests/unicase/test-u16-casecmp.c: New file.
85334         Tests for module 'unicase/u8-casecmp'.
85335         * modules/unicase/u8-casecmp-tests: New file.
85336         * tests/unicase/test-u8-casecmp.c: New file.
85337         * tests/unicase/test-casecmp.h: New file.
85339         New module 'unicase/u32-casecmp'.
85340         * lib/unicase/u32-casecmp.c: New file.
85341         * modules/unicase/u32-casecmp: New file.
85343         New module 'unicase/u16-casecmp'.
85344         * lib/unicase/u16-casecmp.c: New file.
85345         * modules/unicase/u16-casecmp: New file.
85347         New module 'unicase/u8-casecmp'.
85348         * lib/unicase/u8-casecmp.c: New file.
85349         * lib/unicase/u-casecmp.h: New file.
85350         * modules/unicase/u8-casecmp: New file.
85352         Tests for module 'unicase/u32-casefold'.
85353         * modules/unicase/u32-casefold-tests: New file.
85354         * tests/unicase/test-u32-casefold.c: New file.
85356         Tests for module 'unicase/u16-casefold'.
85357         * modules/unicase/u16-casefold-tests: New file.
85358         * tests/unicase/test-u16-casefold.c: New file.
85360         Tests for module 'unicase/u8-casefold'.
85361         * modules/unicase/u8-casefold-tests: New file.
85362         * tests/unicase/test-u8-casefold.c: New file.
85364         New module 'unicase/u32-casefold'.
85365         * lib/unicase/u32-casefold.c: New file.
85366         * modules/unicase/u32-casefold: New file.
85368         New module 'unicase/u16-casefold'.
85369         * lib/unicase/u16-casefold.c: New file.
85370         * modules/unicase/u16-casefold: New file.
85372         New module 'unicase/u8-casefold'.
85373         * lib/unicase/u8-casefold.c: New file.
85374         * lib/unicase/u-casefold.h: New file.
85375         * modules/unicase/u8-casefold: New file.
85377         New module 'unicase/tocasefold'.
85378         * lib/unicase/casefold.h: New file.
85379         * lib/unicase/tocasefold.c: New file.
85380         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
85381         * modules/unicase/tocasefold: New file.
85383         Tests for module 'unicase/u32-totitle'.
85384         * modules/unicase/u32-totitle-tests: New file.
85385         * tests/unicase/test-u32-totitle.c: New file.
85387         Tests for module 'unicase/u16-totitle'.
85388         * modules/unicase/u16-totitle-tests: New file.
85389         * tests/unicase/test-u16-totitle.c: New file.
85391         Tests for module 'unicase/u8-totitle'.
85392         * modules/unicase/u8-totitle-tests: New file.
85393         * tests/unicase/test-u8-totitle.c: New file.
85395         New module 'unicase/u32-totitle'.
85396         * lib/unicase/u32-totitle.c: New file.
85397         * modules/unicase/u32-totitle: New file.
85399         New module 'unicase/u16-totitle'.
85400         * lib/unicase/u16-totitle.c: New file.
85401         * modules/unicase/u16-totitle: New file.
85403         New module 'unicase/u8-totitle'.
85404         * lib/unicase/u8-totitle.c: New file.
85405         * lib/unicase/u-totitle.h: New file.
85406         * modules/unicase/u8-totitle: New file.
85408         Tests for module 'unicase/u32-tolower'.
85409         * modules/unicase/u32-tolower-tests: New file.
85410         * tests/unicase/test-u32-tolower.c: New file.
85412         Tests for module 'unicase/u16-tolower'.
85413         * modules/unicase/u16-tolower-tests: New file.
85414         * tests/unicase/test-u16-tolower.c: New file.
85416         Tests for module 'unicase/u8-tolower'.
85417         * modules/unicase/u8-tolower-tests: New file.
85418         * tests/unicase/test-u8-tolower.c: New file.
85420         New module 'unicase/u32-tolower'.
85421         * lib/unicase/u32-tolower.c: New file.
85422         * modules/unicase/u32-tolower: New file.
85424         New module 'unicase/u16-tolower'.
85425         * lib/unicase/u16-tolower.c: New file.
85426         * modules/unicase/u16-tolower: New file.
85428         New module 'unicase/u8-tolower'.
85429         * lib/unicase/u8-tolower.c: New file.
85430         * modules/unicase/u8-tolower: New file.
85432         Tests for module 'unicase/u32-toupper'.
85433         * modules/unicase/u32-toupper-tests: New file.
85434         * tests/unicase/test-u32-toupper.c: New file.
85436         Tests for module 'unicase/u16-toupper'.
85437         * modules/unicase/u16-toupper-tests: New file.
85438         * tests/unicase/test-u16-toupper.c: New file.
85440         Tests for module 'unicase/u8-toupper'.
85441         * modules/unicase/u8-toupper-tests: New file.
85442         * tests/unicase/test-u8-toupper.c: New file.
85444         New module 'unicase/u32-toupper'.
85445         * lib/unicase/u32-toupper.c: New file.
85446         * modules/unicase/u32-toupper: New file.
85448         New module 'unicase/u16-toupper'.
85449         * lib/unicase/u16-toupper.c: New file.
85450         * modules/unicase/u16-toupper: New file.
85452         New module 'unicase/u8-toupper'.
85453         * lib/unicase/u8-toupper.c: New file.
85454         * modules/unicase/u8-toupper: New file.
85456         New module 'unicase/u32-casemap'.
85457         * lib/unicase/u32-casemap.c: New file.
85458         * modules/unicase/u32-casemap: New file.
85460         New module 'unicase/u16-casemap'.
85461         * lib/unicase/u16-casemap.c: New file.
85462         * modules/unicase/u16-casemap: New file.
85464         New module 'unicase/u8-casemap'.
85465         * lib/unicase/unicasemap.h: New file.
85466         * lib/unicase/u8-casemap.c: New file.
85467         * lib/unicase/u-casemap.h: New file.
85468         * modules/unicase/u8-casemap: New file.
85470         New module 'unicase/special-casing'.
85471         * lib/unicase/special-casing.h: New file.
85472         * lib/unicase/special-casing.c: New file.
85473         * lib/unicase/special-casing-table.gperf: New file, generated by
85474         gen-uni-tables.c.
85475         * modules/unicase/special-casing: New file.
85477         Tests for module 'unicase/locale-language'.
85478         * modules/unicase/locale-language-tests: New file.
85479         * tests/unicase/test-locale-language.sh: New file.
85480         * tests/unicase/test-locale-language.c: New file.
85482         New module 'unicase/locale-language'.
85483         * lib/unicase/locale-language.c: New file.
85484         * lib/unicase/locale-languages.gperf: New file.
85485         * modules/unicase/locale-language: New file.
85487         Generate more tables for case conversion and case folding.
85488         * lib/gen-uni-tables.c (SCC_*): New enum items.
85489         (struct special_casing_rule): New type.
85490         (casing_rules, num_casing_rules, allocated_casing_rules): New
85491         variables.
85492         (add_casing_rule, fill_casing_rules): New functions.
85493         (struct casefold_rule): New type.
85494         (casefolding_rules, num_casefolding_rules,
85495         allocated_casefolding_rules): New variables.
85496         (fill_casefolding_rules): New function.
85497         (unicode_casefold): New variable.
85498         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
85499         sort_casing_rules, output_casing_rules): New functions.
85500         (main): Accept to more arguments: SpecialCasing.txt and
85501         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
85502         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
85503         Output mapping for casefolding.
85505         * lib/unicase.h: Include stdbool.h, uninorm.h.
85506         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
85507         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
85508         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
85509         arguments.
85510         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
85511         resultp arguments.
85512         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
85513         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
85514         resultp arguments.
85515         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
85516         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
85517         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
85518         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
85519         declarations.
85520         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
85522 2009-03-08  Bruno Haible  <bruno@clisp.org>
85524         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
85525         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
85526         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
85527         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
85529 2009-03-07  Bruno Haible  <bruno@clisp.org>
85531         Adjust u*_normcmp, u*_normcoll API.
85532         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
85533         u16_normcoll, u32_normcoll): Change failure conventions.
85534         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
85535         errno and return -1.
85536         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
85538 2009-03-07  Bruno Haible  <bruno@clisp.org>
85540         Tests for module 'uninorm/u32-normcoll'.
85541         * modules/uninorm/u32-normcoll-tests: New file.
85542         * tests/uninorm/test-u32-normcoll.c: New file.
85544         Tests for module 'uninorm/u16-normcoll'.
85545         * modules/uninorm/u16-normcoll-tests: New file.
85546         * tests/uninorm/test-u16-normcoll.c: New file.
85548         Tests for module 'uninorm/u8-normcoll'.
85549         * modules/uninorm/u8-normcoll-tests: New file.
85550         * tests/uninorm/test-u8-normcoll.c: New file.
85552 2009-03-07  Bruno Haible  <bruno@clisp.org>
85554         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
85555         tests/uninorm/test-u32-normcmp.c.
85556         * tests/uninorm/test-u32-normcmp.c: Include it.
85557         (test_nonascii): New function, extracted from main. Add some more
85558         tests.
85559         (main): Invoke test_ascii and test_nonascii.
85560         * modules/uninorm/u32-normcmp-tests (Files): Add
85561         tests/uninorm/test-u32-normcmp.h.
85562         (Depends-on): Remove uninorm/u32-normcmp.
85564         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
85565         tests/uninorm/test-u16-normcmp.c.
85566         * tests/uninorm/test-u16-normcmp.c: Include it.
85567         (test_nonascii): New function, extracted from main. Add some more
85568         tests.
85569         (main): Invoke test_ascii and test_nonascii.
85570         * modules/uninorm/u16-normcmp-tests (Files): Add
85571         tests/uninorm/test-u16-normcmp.h.
85572         (Depends-on): Remove uninorm/u16-normcmp.
85574         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
85575         tests/uninorm/test-u8-normcmp.c.
85576         * tests/uninorm/test-u8-normcmp.c: Include it.
85577         (test_nonascii): New function, extracted from main. Add some more
85578         tests.
85579         (main): Invoke test_ascii and test_nonascii.
85580         * modules/uninorm/u8-normcmp-tests (Files): Add
85581         tests/uninorm/test-u8-normcmp.h.
85582         (Depends-on): Remove uninorm/u8-normcmp.
85584 2009-03-07  Bruno Haible  <bruno@clisp.org>
85586         New module 'uninorm/u32-normcoll'.
85587         * lib/uninorm/u32-normcoll.c: New file.
85588         * modules/uninorm/u32-normcoll: New file.
85590         New module 'uninorm/u16-normcoll'.
85591         * lib/uninorm/u16-normcoll.c: New file.
85592         * modules/uninorm/u16-normcoll: New file.
85594         New module 'uninorm/u8-normcoll'.
85595         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
85596         declarations.
85597         * lib/uninorm/u8-normcoll.c: New file.
85598         * lib/uninorm/u-normcoll.h: New file.
85599         * modules/uninorm/u8-normcoll: New file.
85601         New module 'uninorm/u32-normxfrm'.
85602         * lib/uninorm/u32-normxfrm.c: New file.
85603         * modules/uninorm/u32-normxfrm: New file.
85605         New module 'uninorm/u16-normxfrm'.
85606         * lib/uninorm/u16-normxfrm.c: New file.
85607         * modules/uninorm/u16-normxfrm: New file.
85609         New module 'uninorm/u8-normxfrm'.
85610         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
85611         declarations.
85612         * lib/uninorm/u8-normxfrm.c: New file.
85613         * lib/uninorm/u-normxfrm.h: New file.
85614         * modules/uninorm/u8-normxfrm: New file.
85616 2009-03-07  Bruno Haible  <bruno@clisp.org>
85618         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
85619         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
85620         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
85622 2009-03-07  Bruno Haible  <bruno@clisp.org>
85624         New module 'memxfrm'.
85625         * lib/memxfrm.h: New file.
85626         * lib/memxfrm.c: New file.
85627         * modules/memxfrm: New file.
85629 2009-03-07  Bruno Haible  <bruno@clisp.org>
85631         New module 'memcmp2'.
85632         * lib/memcmp2.h: New file.
85633         * lib/memcmp2.c: New file.
85634         * modules/memcmp2: New file.
85636 2009-03-07  Bruno Haible  <bruno@clisp.org>
85638         Tests for module 'uninorm/decomposing-form'.
85639         * modules/uninorm/decomposing-form-tests: New file.
85640         * tests/uninorm/test-decomposing-form.c: New file.
85642         New module 'uninorm/decomposing-form'.
85643         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
85644         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
85645         Add 'decomposing_variant' field.
85646         * lib/uninorm/decomposing-form.c: New file.
85647         * lib/uninorm/nfc.c (uninorm_nfc): Update.
85648         * lib/uninorm/nfd.c (uninorm_nfd): Update.
85649         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
85650         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
85651         * modules/uninorm/decomposing-form: New file.
85652         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
85653         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
85655 2009-03-07  Bruno Haible  <bruno@clisp.org>
85657         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
85658         strings.
85660 2009-03-06  Bruno Haible  <bruno@clisp.org>
85662         Tests for module 'uninorm/u32-normcmp'.
85663         * tests/uninorm/test-u32-normcmp.c: New file.
85664         * modules/uninorm/u32-normcmp-tests: New file.
85666         Tests for module 'uninorm/u16-normcmp'.
85667         * tests/uninorm/test-u16-normcmp.c: New file.
85668         * modules/uninorm/u16-normcmp-tests: New file.
85670         Tests for module 'uninorm/u8-normcmp'.
85671         * tests/uninorm/test-u8-normcmp.c: New file.
85672         * modules/uninorm/u8-normcmp-tests: New file.
85674         New module 'uninorm/u32-normcmp'.
85675         * lib/uninorm/u32-normcmp.c: New file.
85676         * modules/uninorm/u32-normcmp: New file.
85678         New module 'uninorm/u16-normcmp'.
85679         * lib/uninorm/u16-normcmp.c: New file.
85680         * modules/uninorm/u16-normcmp: New file.
85682         New module 'uninorm/u8-normcmp'.
85683         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
85684         declarations.
85685         * lib/uninorm/u8-normcmp.c: New file.
85686         * lib/uninorm/u-normcmp.h: New file.
85687         * modules/uninorm/u8-normcmp: New file.
85689 2009-03-06  Bruno Haible  <bruno@clisp.org>
85691         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
85692         Reported by Eric Blake.
85694 2009-03-06  Eric Blake  <ebb9@byu.net>
85695             Bruno Haible  <bruno@clisp.org>
85697         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
85698         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
85699         condition.
85700         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85701         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
85702         condition.
85703         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85705 2009-03-06  Eric Blake  <ebb9@byu.net>
85707         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
85708         to avoid compiler warnings.
85709         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
85711 2009-03-05  Bruno Haible  <bruno@clisp.org>
85713         * tests/test-ftell.c (main): Disable test beyond end of file on
85714         FreeMiNT.
85715         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85717 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
85719         * lib/filevercmp.c: Move hidden files up in ordering.
85720         * tests/test-filevercmp.c: Add tests for hidden files.
85722 2009-03-04  Bruno Haible  <bruno@clisp.org>
85724         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
85725         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
85726         AM_CFLAGS.
85727         Reported by Simon Josefsson.
85729 2009-03-03  Bruno Haible  <bruno@clisp.org>
85731         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
85732         Reported by Simon Josefsson.
85734         * doc/ld-version-script.texi: Update node reference.
85736 2009-03-03  Bruno Haible  <bruno@clisp.org>
85738         * modules/visibility (License): Change to 'unlimited'.
85739         Suggested by Simon Josefsson.
85741 2009-03-03  Jim Meyering  <meyering@redhat.com>
85743         unlinkdir: cannot_unlink_dir may modify process state
85744         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
85745         it's neither thread-safe nor appropriate for use in a library.
85747 2009-03-03  Eric Blake  <ebb9@byu.net>
85749         test-closein: silence test under Darwin
85750         * tests/test-closein.sh: Ignore stderr from cat, since we don't
85751         care if it dies from EPIPE or EBADF.
85753 2009-03-03  Bruno Haible  <bruno@clisp.org>
85755         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
85756         earlier.
85757         * doc/visibility.texi: Fix @node and @section.
85759 2009-03-03  Simon Josefsson  <simon@josefsson.org>
85761         * doc/gnulib.texi: Link to sections for ld version script and
85762         visibility.
85763         * doc/visibility.texi: Add @node and @section.
85764         * modules/ld-version-script: New module.
85765         * m4/ld-version-script.m4: New file.
85766         * doc/ld-version-script.texi: New file.
85768 2009-03-02  David Lutterkort  <lutter@redhat.com>
85770         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
85771         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85773 2009-03-02  Bruno Haible  <bruno@clisp.org>
85775         * doc/visibility.texi: Mention libtool's -export-symbols option.
85777 2009-03-02  Jim Meyering  <meyering@redhat.com>
85779         announce-gen: new option: --no-print-checksums
85780         * build-aux/announce-gen (usage): Describe it.
85781         (print_checksums): Print a newline here, not in the [*] footnote.
85782         (main): Honor it.
85784 2009-03-01  Bruno Haible  <bruno@clisp.org>
85786         Use socklen_t in the native Windows replacements prototypes.
85787         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
85788         instead of 'int'.
85789         * lib/getsockopt.c (rpl_getsockopt): Likewise.
85790         * lib/setsockopt.c (rpl_setsockopt): Likewise.
85791         * modules/getsockopt (Depends-on): Add socklen.
85792         * modules/setsockopt (Depends-on): Add socklen.
85794 2009-03-01  Bruno Haible  <bruno@clisp.org>
85796         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
85797         least 4.2.
85799 2009-03-01  Eric Blake  <ebb9@byu.net>
85800             Bruno Haible  <bruno@clisp.org>
85802         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
85803         error messages.
85804         * lib/wait-process.c (wait_subprocess): Omit error message about
85805         deadly signal sent to the child of termsigp != NULL.
85807 2009-03-01  Eric Blake  <ebb9@byu.net>
85809         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
85811 2009-03-01  Bruno Haible  <bruno@clisp.org>
85813         Avoid a gcc warning.
85814         * tests/test-sched.c (b): Make global.
85815         Reported by Eric Blake.
85817 2009-01-19  Martin Lambers  <marlam@marlam.de>
85819         Provide POSIX semantics for socket timeout options on W32.
85820         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
85821         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
85822         * modules/setsockopt: Depend on sys_time module for struct timeval.
85823         * modules/getsockopt: Depend on sys_time module for struct timeval.
85825 2009-03-01  Simon Josefsson  <simon@josefsson.org>
85827         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
85828         __USE_GNU, for consistency with netdb.in.h.
85829         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85831 2009-03-01  Bruno Haible  <bruno@clisp.org>
85833         More support for FreeMiNT.
85834         * lib/fseeko.c (rpl_fseeko): Complete last commit.
85835         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85837 2009-03-01  Bruno Haible  <bruno@clisp.org>
85839         More support for FreeMiNT.
85840         * lib/fpurge.c (fpurge): Correct last commit.
85841         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85843 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85845         Fix unportable awk script in vc-list-files.
85846         * build-aux/vc-list-files: In the replacement awk script, use
85847         substr with a second argument of 1, not zero.
85848         Report by Simon Josefsson.
85850 2009-02-28  Bruno Haible  <bruno@clisp.org>
85852         More support for FreeMiNT.
85853         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
85854         to FreeMiNT today.
85855         * lib/fwriting.c (fwriting): Likewise.
85856         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
85858 2009-02-28  Bruno Haible  <bruno@clisp.org>
85860         * tests/test-freadseek.c (main): Disable test beyond end of file on
85861         FreeMiNT.
85862         * tests/test-ftello.c (main): Likewise.
85863         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85865 2009-02-28  Bruno Haible  <bruno@clisp.org>
85867         Add tentative support for FreeMiNT.
85868         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
85869         * lib/fpurge.c (fpurge): Likewise.
85870         * lib/freadable.c (freadable): Likewise.
85871         * lib/freading.c (freading): Likewise.
85872         * lib/freadptr.c (freadptr): Likewise.
85873         * lib/freadseek.c (freadptrinc): Likewise.
85874         * lib/fseeko.c (rpl_fseeko): Likewise.
85875         * lib/fseterr.c (fseterr): Likewise.
85876         * lib/fwritable.c (fwritable): Likewise.
85877         * lib/fwriting.c (fwriting): Likewise.
85878         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
85879         Hourihane.
85880         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85882 2009-02-28  Bruno Haible  <bruno@clisp.org>
85884         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
85885         SIGCHLD.
85886         Reported by Jim Meyering.
85888 2009-02-28  Bruno Haible  <bruno@clisp.org>
85890         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
85891         Mention the results of these tests on various platforms.
85892         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
85893         order.
85894         * doc/posix-functions/printf.texi: Likewise.
85895         * doc/posix-functions/snprintf.texi: Likewise.
85896         * doc/posix-functions/sprintf.texi: Likewise.
85897         * doc/posix-functions/vfprintf.texi: Likewise.
85898         * doc/posix-functions/vprintf.texi: Likewise.
85899         * doc/posix-functions/vsnprintf.texi: Likewise.
85900         * doc/posix-functions/vsprintf.texi: Likewise.
85901         * doc/glibc-functions/obstack_printf.texi: Likewise.
85902         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
85904 2009-02-28  Bruno Haible  <bruno@clisp.org>
85906         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
85907         Reported by Loïc Minier <lool@dooz.org>.
85909 2009-02-27  Bruno Haible  <bruno@clisp.org>
85911         * gnulib-tool (func_import): Make the sed expression used to create the
85912         sed script for updating the .gitignore file POSIX compliant.
85913         Reported by Eric Blake.
85915 2009-02-27  Bruno Haible  <bruno@clisp.org>
85917         * gnulib-tool (sed): Don't alias as "sed --posix".
85918         Reported by Eric Blake.
85920 2009-02-27  Bruno Haible  <bruno@clisp.org>
85922         Avoid test link errors.
85923         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
85924         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
85925         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
85926         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
85927         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85929 2009-02-27  Bruno Haible  <bruno@clisp.org>
85931         Avoid spurious "(cached)" in configure output.
85932         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
85933         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
85934         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
85935         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
85936         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
85937         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
85938         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
85939         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
85940         Reported by Eric Blake.
85942 2009-02-27  Eric Blake  <ebb9@byu.net>
85944         printf: fix regression in previous patch
85945         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
85947 2009-02-27  Bruno Haible  <bruno@clisp.org>
85949         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
85950         value.
85951         * lib/stdint.in.h: Likewise.
85952         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
85954 2009-02-27  Eric Blake  <ebb9@byu.net>
85956         doc: mention more functions added in cygwin 1.7.0
85957         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
85958         addition.
85959         * doc/posix-functions/open_wmemstream.texi: Likewise.
85960         * doc/posix-functions/wcsnlen.texi: Likewise.
85961         * doc/posix-functions/wcsnrtombs.texi: Likewise.
85962         * doc/posix-functions/wcstod.texi: Likewise.
85963         * doc/posix-functions/wcstof.texi: Likewise.
85964         * doc/posix-functions/wcstoimax.texi: Likewise.
85965         * doc/posix-functions/wcstok.texi: Likewise.
85966         * doc/posix-functions/wcstoumax.texi: Likewise.
85968         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
85969         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
85970         * doc/posix-functions/fprintf.texi: Update.
85971         * doc/posix-functions/printf.texi: Update.
85972         * doc/posix-functions/snprintf.texi: Update.
85973         * doc/posix-functions/sprintf.texi: Update.
85974         * doc/posix-functions/vfprintf.texi: Update.
85975         * doc/posix-functions/vprintf.texi: Update.
85976         * doc/posix-functions/vsnprintf.texi: Update.
85977         * doc/posix-functions/vsprintf.texi: Update.
85978         * doc/glibc-functions/obstack_printf.texi: Update.
85979         * doc/glibc-functions/obstack_vprintf.texi: Update.
85981 2009-02-26  Eric Blake  <ebb9@byu.net>
85983         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
85984         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
85985         compilation bug by using runtime conversion.
85986         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
85987         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
85988         * modules/ceill-tests (Files): Use nan.h.
85989         * modules/floorl-tests (Files): Likewise.
85990         * modules/frexpl-tests (Files): Likewise.
85991         * modules/isnanl-tests (Files): Likewise.
85992         * modules/ldexpl-tests (Files): Likewise.
85993         * modules/roundl-tests (Files): Likewise.
85994         * modules/truncl-tests (Files): Likewise.
85995         * tests/test-ceill.c (main): Use a working NaN.
85996         * tests/test-floorl.c (main): Likewise.
85997         * tests/test-frexpl.c (main): Likewise.
85998         * tests/test-isnan.c (test_long_double): Likewise.
85999         * tests/test-isnanl.h (main): Likewise.
86000         * tests/test-ldexpl.h (main): Likewise.
86001         * tests/test-roundl.h (main): Likewise.
86002         * tests/test-truncl.h (main): Likewise.
86003         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
86005 2009-02-26  Eric Blake  <ebb9@byu.net>
86006             Bruno Haible  <bruno@clisp.org>
86008         Work around a *printf bug with %ls on Solaris.
86009         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
86010         precision is specified, sprintf stops converting the wide string
86011         argument when the number of bytes that have been produced by this
86012         conversion equals or exceeds the precision.
86013         * doc/posix-functions/fprintf.texi: Update.
86014         * doc/posix-functions/printf.texi: Update.
86015         * doc/posix-functions/snprintf.texi: Update.
86016         * doc/posix-functions/sprintf.texi: Update.
86017         * doc/posix-functions/vfprintf.texi: Update.
86018         * doc/posix-functions/vprintf.texi: Update.
86019         * doc/posix-functions/vsnprintf.texi: Update.
86020         * doc/posix-functions/vsprintf.texi: Update.
86021         * doc/glibc-functions/obstack_printf.texi: Update.
86022         * doc/glibc-functions/obstack_vprintf.texi: Update.
86024 2009-02-26  Eric Blake  <ebb9@byu.net>
86026         stdlib: favor compiler check of random.h
86027         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
86028         to avoid an ObjC random.h installed by Swarm.
86030 2009-02-26  Bruno Haible  <bruno@clisp.org>
86032         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
86033         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
86034         Reported by Gary V. Vaughan <gary@gnu.org>.
86036 2009-02-26  Bruno Haible  <bruno@clisp.org>
86038         Fix *printf behaviour regarding the %ls directive.
86039         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
86040         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
86041         NEED_PRINTF_DIRECTIVE_LS.
86042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
86043         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
86044         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86045         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
86046         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
86047         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
86048         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
86049         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86050         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86051         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86052         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86053         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
86054         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86055         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86056         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86057         * doc/posix-functions/fprintf.texi: Update.
86058         * doc/posix-functions/printf.texi: Update.
86059         * doc/posix-functions/snprintf.texi: Update.
86060         * doc/posix-functions/sprintf.texi: Update.
86061         * doc/posix-functions/vfprintf.texi: Update.
86062         * doc/posix-functions/vprintf.texi: Update.
86063         * doc/posix-functions/vsnprintf.texi: Update.
86064         * doc/posix-functions/vsprintf.texi: Update.
86065         * doc/glibc-functions/obstack_printf.texi: Update.
86066         * doc/glibc-functions/obstack_vprintf.texi: Update.
86067         Reported by Eric Blake.
86069 2009-02-25  Bruno Haible  <bruno@clisp.org>
86071         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
86072         with known value.
86073         Reported by Gary V. Vaughan <gary@gnu.org>.
86075 2009-02-25  Bruno Haible  <bruno@clisp.org>
86077         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
86078         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
86079         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
86080         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
86081         Reported by Gary V. Vaughan <gary@gnu.org>.
86083 2009-02-25  Bruno Haible  <bruno@clisp.org>
86085         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
86086         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
86087         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
86088         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
86089         Reported by Gary V. Vaughan <gary@gnu.org>.
86091 2009-02-25  Eric Blake  <ebb9@byu.net>
86093         tests: skip fseek/ftell tests if ungetc is broken
86094         * m4/ungetc.m4: New file.
86095         * modules/fseek-tests: Split test, so ungetc dependency is
86096         separate from rest of test.
86097         * modules/fseeko-tests: Likewise.
86098         * modules/ftell-tests: Likewise.
86099         * modules/ftello-tests: Likewise.
86100         * tests/test-fseek.c (main): Isolate ungetc dependency.
86101         * tests/test-fseeko.c (main): Likewise.
86102         * tests/test-ftell.c (main): Likewise.
86103         * tests/test-ftello.c (main): Likewise.
86104         * tests/test-fseek2.sh: New file.
86105         * tests/test-fseeko2.sh: Likewise.
86106         * tests/test-ftell2.sh: Likewise.
86107         * tests/test-ftello2.sh: Likewise.
86109 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
86111         test-getaddrinfo: fix usage of skip return code 77
86112         * tests/test-gettaddrinfo.c: Return skip code 77 only
86113         for first occurrence of skip (4x77 is not 77)
86115 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
86117         strtod: avoid C99 decl-after-statement
86118         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
86120 2009-02-24  Eric Blake  <ebb9@byu.net>
86122         strtod: detect HP-UX 11.31 bug
86123         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
86124         Reported by Gary V. Vaughan.
86126 2009-02-23  Bruno Haible  <bruno@clisp.org>
86128         Fix invalid read past end of memory block.
86129         * lib/vasnprintf.c (DCHAR_SET): Define.
86130         (local_wcslen): Define only when needed.
86131         (local_strnlen, local_wcsnlen): New functions.
86132         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
86133         directives that involve a conversion ourselves.
86134         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
86135         wcsnlen, mbrtowc, wcrtomb.
86136         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
86137         * tests/test-vasprintf-posix.c (test_function): Likewise.
86138         * tests/test-snprintf-posix.h (test_function): Likewise.
86139         * tests/test-sprintf-posix.h (test_function): Likewise.
86140         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86142 2009-02-22  Bruno Haible  <bruno@clisp.org>
86144         Implement new clarified decomposition of Hangul syllables.
86145         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
86146         of type LTV, return only a pairwise decomposition.
86147         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
86148         Likewise.
86149         * tests/uninorm/test-decomposition.c (main): Updated expected result.
86150         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
86151         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
86153 2009-02-22  Bruno Haible  <bruno@clisp.org>
86155         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
86156         zero-length results and shrink excess allocated memory.
86157         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
86158         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
86159         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
86160         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
86161         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
86162         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
86163         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
86164         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
86165         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
86166         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
86167         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
86168         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
86170 2009-02-21  Bruno Haible  <bruno@clisp.org>
86172         * doc/gnulib.texi: Include safe-alloc.texi earlier.
86173         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
86174         spaces after a period. Put a space between a macro name and its
86175         argument list. Trivial rewordings.
86176         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
86177         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
86178         (main): Return 0 explicitly.
86180 2009-02-21  Bruno Haible  <bruno@clisp.org>
86182         Tests for module 'uninorm/filter'.
86183         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
86184         * modules/uninorm/filter-tests: New file.
86186         New module 'uninorm/filter'.
86187         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
86188         uninorm_filter_flush, uninorm_filter_free): New declarations.
86189         * lib/uninorm/uninorm-filter.c: New file.
86190         * modules/uninorm/filter: New file.
86192 2009-02-21  Bruno Haible  <bruno@clisp.org>
86194         Tests for module 'uninorm/nfkc'.
86195         * tests/uninorm/test-nfkc.c: New file.
86196         * tests/uninorm/test-u8-nfkc.c: New file.
86197         * tests/uninorm/test-u16-nfkc.c: New file.
86198         * tests/uninorm/test-u32-nfkc.c: New file.
86199         * tests/uninorm/test-u32-nfkc-big.sh: New file.
86200         * tests/uninorm/test-u32-nfkc-big.c: New file.
86201         * modules/uninorm/nfkc-tests: New file.
86203         New module 'uninorm/nfkc'.
86204         * lib/uninorm/nfkc.c: New file.
86205         * modules/uninorm/nfkc: New file.
86207         Tests for module 'uninorm/nfkd'.
86208         * tests/uninorm/test-nfkd.c: New file.
86209         * tests/uninorm/test-u8-nfkd.c: New file.
86210         * tests/uninorm/test-u16-nfkd.c: New file.
86211         * tests/uninorm/test-u32-nfkd.c: New file.
86212         * tests/uninorm/test-u32-nfkd-big.sh: New file.
86213         * tests/uninorm/test-u32-nfkd-big.c: New file.
86214         * modules/uninorm/nfkd-tests: New file.
86216         New module 'uninorm/nfkd'.
86217         * lib/uninorm/nfkd.c: New file.
86218         * modules/uninorm/nfkd: New file.
86220         Tests for module 'uninorm/nfc'.
86221         * tests/uninorm/test-nfc.c: New file.
86222         * tests/uninorm/test-u8-nfc.c: New file.
86223         * tests/uninorm/test-u16-nfc.c: New file.
86224         * tests/uninorm/test-u32-nfc.c: New file.
86225         * tests/uninorm/test-u32-nfc-big.sh: New file.
86226         * tests/uninorm/test-u32-nfc-big.c: New file.
86227         * modules/uninorm/nfc-tests: New file.
86229         New module 'uninorm/nfc'.
86230         * lib/uninorm/nfc.c: New file.
86231         * modules/uninorm/nfc: New file.
86233         Tests for module 'uninorm/nfd'.
86234         * tests/uninorm/test-nfd.c: New file.
86235         * tests/uninorm/test-u8-nfd.c: New file.
86236         * tests/uninorm/test-u16-nfd.c: New file.
86237         * tests/uninorm/test-u32-nfd.c: New file.
86238         * tests/uninorm/test-u32-nfd-big.sh: New file.
86239         * tests/uninorm/test-u32-nfd-big.c: New file.
86240         * tests/uninorm/test-u32-normalize-big.h: New file.
86241         * tests/uninorm/test-u32-normalize-big.c: New file.
86242         * tests/uninorm/NormalizationTest.txt: New file, created from
86243         Unicode 5.1.0 NormalizationTest.txt.
86244         * modules/uninorm/nfd-tests: New file.
86246         New module 'uninorm/nfd'.
86247         * lib/uninorm/nfd.c: New file.
86248         * modules/uninorm/nfd: New file.
86250         New module 'uninorm/u32-normalize'.
86251         * lib/uninorm/u32-normalize.c: New file.
86252         * modules/uninorm/u32-normalize: New file.
86254         New module 'uninorm/u16-normalize'.
86255         * lib/uninorm/u16-normalize.c: New file.
86256         * modules/uninorm/u16-normalize: New file.
86258         New module 'uninorm/u8-normalize'.
86259         * lib/uninorm/u8-normalize.c: New file.
86260         * lib/uninorm/normalize-internal.h: New file.
86261         * lib/uninorm/u-normalize-internal.h: New file.
86262         * modules/uninorm/u8-normalize: New file.
86264         New module 'uninorm/decompose-internal'.
86265         * lib/uninorm/decompose-internal.c: New file.
86266         * modules/uninorm/decompose-internal: New file.
86268         Tests for module 'uninorm/composition'.
86269         * tests/uninorm/test-composition.c: New file.
86270         * modules/uninorm/composition-tests: New file.
86272         New module 'uninorm/composition'.
86273         * lib/uninorm/composition.c: New file.
86274         * lib/uninorm/composition-table.gperf: New file, generated by
86275         gen-uni-tables.
86276         * modules/uninorm/composition: New file.
86278         Tests for module 'uninorm/compat-decomposition'.
86279         * tests/uninorm/test-compat-decomposition.c: New file.
86280         * modules/uninorm/compat-decomposition-tests: New file.
86282         New module 'uninorm/compat-decomposition'.
86283         * lib/uninorm/decompose-internal.h: New file.
86284         * lib/uninorm/compat-decomposition.c: New file.
86285         * modules/uninorm/compat-decomposition: New file.
86287         Tests for module 'uninorm/canonical-decomposition'.
86288         * tests/uninorm/test-canonical-decomposition.c: New file.
86289         * modules/uninorm/canonical-decomposition-tests: New file.
86291         New module 'uninorm/canonical-decomposition'.
86292         * lib/uninorm/canonical-decomposition.c: New file.
86293         * modules/uninorm/canonical-decomposition: New file.
86295         Tests for module 'uninorm/decomposition'.
86296         * tests/uninorm/test-decomposition.c: New file.
86297         * modules/uninorm/decomposition-tests: New file.
86299         New module 'uninorm/decomposition'.
86300         * lib/uninorm/decomposition.c: New file.
86301         * modules/uninorm/decomposition: New file.
86303         New module 'uninorm/decomposition-table'.
86304         * lib/uninorm/decomposition-table.h: New file.
86305         * lib/uninorm/decomposition-table.c: New file.
86306         * lib/uninorm/decomposition-table1.h: New file, generated by
86307         gen-uni-tables.
86308         * lib/uninorm/decomposition-table2.h: New file, generated by
86309         gen-uni-tables.
86310         * modules/uninorm/decomposition-table: New file.
86312         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
86313         (UC_DECOMP_*): New enumeration items.
86314         (get_decomposition): New function.
86315         (struct decomp_table): New type.
86316         (output_decomposition, output_decomposition_tables): New functions.
86317         (unicode_composition_exclusions): New variable.
86318         (fill_composition_exclusions, debug_output_composition_tables): New
86319         functions.
86320         (main): Accept one more argument. Invoke fill_composition_exclusions.
86321         Output decomposition and composition tables.
86323         New module 'uninorm/base'.
86324         * lib/uninorm.h: New file.
86325         * lib/unictype.h: Update comment.
86326         * modules/uninorm/base: New file.
86328 2009-02-21  David Lutterkort  <lutter@redhat.com>
86330         Tests for module 'safe-alloc'.
86331         * tests/test-safe-alloc.c: New file.
86332         * modules/safe-alloc-tests: New file.
86334         New module 'safe-alloc'.
86335         * lib/safe-alloc.h: New file.
86336         * lib/safe-alloc.c: New file.
86337         * m4/safe-alloc.m4: New file.
86338         * modules/safe-alloc: New file.
86339         * doc/safe-alloc.texi: New file.
86340         * doc/gnulib.texi: Include it.
86341         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
86342         safe-alloc.
86344 2009-02-18  Bruno Haible  <bruno@clisp.org>
86346         Fix link error on non-glibc systems.
86347         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
86348         variable.
86349         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
86351 2009-02-18  Jim Meyering  <meyering@redhat.com>
86353         fts: avoid used-uninitialized error due to recent change
86354         * lib/fts.c (fts_read): Guard uses of the new member,
86355         parent->fts_n_dirs_remaining, since it's not relevant for
86356         the parent of a directory specified on the command-line.
86358 2009-02-17  James Youngman  <jay@gnu.org>
86359             Bruno Haible  <bruno@clisp.org>
86361         * m4/include_next.m4: Reformulate comment.
86363 2009-02-16  Jim Meyering  <meyering@redhat.com>
86365         fts: add #if guards so that the fts_lgpl module still builds
86366         * lib/fts.c: Guard just-added hash-table-using parts with
86367         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
86368         Reported by Simon Josefsson.
86370 2009-02-15  Bruno Haible  <bruno@clisp.org>
86372         * modules/array-mergesort-tests: New file.
86373         * tests/test-array-mergesort.c: New file.
86375         New module 'array-mergesort'.
86376         * modules/array-mergesort: New file.
86377         * lib/array-mergesort.h: New file.
86379 2009-02-15  Bruno Haible  <bruno@clisp.org>
86381         Fix 2009-02-07 commit.
86382         * lib/gen-uni-tables.c (output_predicate, output_category,
86383         output_combclass, output_bidi_category, output_decimal_digit,
86384         output_digit, output_numeric, output_mirror, output_scripts,
86385         output_ident_category, output_simple_mapping): Fix format directives.
86386         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
86388 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
86390         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
86391         fixes are available from IBM.
86393 2009-02-13  Jim Meyering  <meyering@redhat.com>
86395         fts: arrange not to stat non-directories in more cases
86396         This makes GNU find (when it doesn't need to stat each file)
86397         *much* more efficient at traversing reiserfs file systems.
86398         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
86399         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
86400         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
86401         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
86402         (leaf_optimization_applies): New function.
86403         (LCO_hash, LCO_compare): New helper functions.
86404         (link_count_optimize_ok): New function.
86405         (fts_stat): Initialize new member (if dir).
86406         (fts_read): Decrement parent's fts_n_dirs_remaining count if
86407         we've just stat'ed a directory.  Skip the stat call when possible.
86408         ---
86409         Note this AFS-related exchange:
86410         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
86411         and note find's pioctl call in find/fstype.c.
86412         But that is necessary only if you want to enable the
86413         optimization for AFS, and for now, I don't.
86415         fts: move a function definition "up" (no semantic change)
86416         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
86417         "up" to precede upcoming use of a related function.
86419 2009-02-11  Jim Meyering  <meyering@redhat.com>
86421         fts: correct internal computation of nlinks (optimization-related)
86422         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
86423         whether the current entry is a directory, so don't test it.
86425 2009-02-10  Bruno Haible  <bruno@clisp.org>
86427         Tests for module 'uniwbrk/ulc-wordbreaks'.
86428         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
86429         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
86430         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
86432         Tests for module 'uniwbrk/u32-wordbreaks'.
86433         * modules/uniwbrk/u32-wordbreaks-tests: New file.
86434         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
86436         Tests for module 'uniwbrk/u16-wordbreaks'.
86437         * modules/uniwbrk/u16-wordbreaks-tests: New file.
86438         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
86440         Tests for module 'uniwbrk/u8-wordbreaks'.
86441         * modules/uniwbrk/u8-wordbreaks-tests: New file.
86442         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
86444 2009-02-10  Bruno Haible  <bruno@clisp.org>
86446         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
86447         property.
86448         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
86449         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
86450         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
86452 2009-02-10  Simon Josefsson  <simon@josefsson.org>
86454         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
86455         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
86457 2009-02-10  Bruno Haible  <bruno@clisp.org>
86459         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
86460         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
86461         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
86462         * lib/unilbrk/u8-possible-linebreaks.c: Update.
86463         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
86464         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
86466 2009-02-09  Simon Josefsson  <simon@josefsson.org>
86468         * lib/sockets.h (gl_fd_to_handle): New function.
86470         * tests/test-sockets.c: Call gl_fd_to_handle.
86472 2009-02-09  Bruno Haible  <bruno@clisp.org>
86474         * doc/havelib.texi: Document the conventions on bi-arch systems.
86476 2009-02-08  Bruno Haible  <bruno@clisp.org>
86478         Document the AC_LIB_LINKFLAGS macro.
86479         * doc/havelib.texi: New file, mostly written on 2005-05-24.
86480         * doc/gnulib.texi: Include it.
86482 2009-02-08  Bruno Haible  <bruno@clisp.org>
86484         Fix wrong order of sections, compared to TOC.
86485         * doc/gnulib.texi: Include relocatable-maint.texi after the
86486         "Regular expressions" node, not before.
86488 2009-02-08  Bruno Haible  <bruno@clisp.org>
86490         Tests for module 'unicase/totitle'.
86491         * modules/unicase/totitle-tests: New file.
86493         Tests for module 'unicase/tolower'.
86494         * modules/unicase/tolower-tests: New file.
86496         Tests for module 'unicase/toupper'.
86497         * modules/unicase/toupper-tests: New file.
86498         * tests/unicase/test-mapping-part1.h: New file.
86499         * tests/unicase/test-mapping-part2.h: New file.
86501         New module 'unicase/totitle'.
86502         * modules/unicase/totitle: New file.
86503         * lib/unicase/totitle.c: New file.
86505         New module 'unicase/tolower'.
86506         * modules/unicase/tolower: New file.
86507         * lib/unicase/tolower.c: New file.
86509         New module 'unicase/toupper'.
86510         * modules/unicase/toupper: New file.
86511         * lib/unicase/toupper.c: New file.
86512         * lib/unicase/simple-mapping.h: New file.
86514         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
86515         (mapping_table): New structure.
86516         (output_simple_mapping): New function.
86517         (main): Invoke output_simple_mapping_test and output_simple_mapping.
86518         * modules/gen-uni-tables (Description): Update.
86519         * lib/unicase/toupper.h: New file, automatically generated by
86520         gen-uni-tables.
86521         * lib/unicase/tolower.h: New file, automatically generated by
86522         gen-uni-tables.
86523         * lib/unicase/totitle.h: New file, automatically generated by
86524         gen-uni-tables.
86525         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
86526         gen-uni-tables.
86527         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
86528         gen-uni-tables.
86529         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
86530         gen-uni-tables.
86532         New module 'unicase/base'.
86533         * modules/unicase/base: New file.
86534         * lib/unicase.h: New file.
86536 2009-02-08  Bruno Haible  <bruno@clisp.org>
86538         New module 'uniwbrk/ulc-wordbreaks'.
86539         * modules/uniwbrk/ulc-wordbreaks: New file.
86540         * lib/uniwbrk/ulc-wordbreaks.c: New file.
86542         New module 'uniwbrk/u32-wordbreaks'.
86543         * modules/uniwbrk/u32-wordbreaks: New file.
86544         * lib/uniwbrk/u32-wordbreaks.c: New file.
86546         New module 'uniwbrk/u16-wordbreaks'.
86547         * modules/uniwbrk/u16-wordbreaks: New file.
86548         * lib/uniwbrk/u16-wordbreaks.c: New file.
86550         New module 'uniwbrk/u8-wordbreaks'.
86551         * modules/uniwbrk/u8-wordbreaks: New file.
86552         * lib/uniwbrk/u8-wordbreaks.c: New file.
86553         * lib/uniwbrk/u-wordbreaks.h: New file.
86555         New module 'uniwbrk/table'.
86556         * modules/uniwbrk/table: New file.
86557         * lib/uniwbrk/wbrktable.h: New file.
86558         * lib/uniwbrk/wbrktable.c: New file.
86560         New module 'uniwbrk/wordbreak-property'.
86561         * modules/uniwbrk/wordbreak-property: New file.
86562         * lib/uniwbrk/wordbreak-property.c: New file.
86564         * lib/gen-uni-tables.c (WBP_*): New enum items.
86565         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
86566         (unicode_org_wbp): New variable.
86567         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
86568         New functions.
86569         (wbp_table): New structure.
86570         (output_wbp, output_wbrk_tables): New functions.
86571         (main): Accept additional argument. Invoke fill_org_wbp,
86572         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
86573         output_wbrk_tables.
86574         * modules/gen-uni-tables (Description): Update.
86575         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
86576         gen-uni-tables.
86578         New module 'uniwbrk/base'.
86579         * modules/uniwbrk/base: New file.
86580         * lib/uniwbrk.h: New file.
86582 2009-02-08  Bruno Haible  <bruno@clisp.org>
86584         Update to Unicode 5.1.0.
86585         * lib/gen-uni-tables.c (is_property_alphabetic): Include
86586         U+2185..U+2188.
86587         (is_property_default_ignorable_code_point): Don't include characters
86588         of category Cc or Cs and not-a-characters.
86589         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
86590         U+0D79, U+109E, U+109F, U+A60C.
86591         * lib/unictype/bidi_of.h: Regenerated.
86592         * lib/unictype/blocks.h: Regenerated.
86593         * lib/unictype/categ_C.h: Regenerated.
86594         * lib/unictype/categ_Cf.h: Regenerated.
86595         * lib/unictype/categ_Cn.h: Regenerated.
86596         * lib/unictype/categ_L.h: Regenerated.
86597         * lib/unictype/categ_Ll.h: Regenerated.
86598         * lib/unictype/categ_Lm.h: Regenerated.
86599         * lib/unictype/categ_Lo.h: Regenerated.
86600         * lib/unictype/categ_Lu.h: Regenerated.
86601         * lib/unictype/categ_M.h: Regenerated.
86602         * lib/unictype/categ_Mc.h: Regenerated.
86603         * lib/unictype/categ_Me.h: Regenerated.
86604         * lib/unictype/categ_Mn.h: Regenerated.
86605         * lib/unictype/categ_N.h: Regenerated.
86606         * lib/unictype/categ_Nd.h: Regenerated.
86607         * lib/unictype/categ_Nl.h: Regenerated.
86608         * lib/unictype/categ_No.h: Regenerated.
86609         * lib/unictype/categ_P.h: Regenerated.
86610         * lib/unictype/categ_Pd.h: Regenerated.
86611         * lib/unictype/categ_Pe.h: Regenerated.
86612         * lib/unictype/categ_Pf.h: Regenerated.
86613         * lib/unictype/categ_Pi.h: Regenerated.
86614         * lib/unictype/categ_Po.h: Regenerated.
86615         * lib/unictype/categ_Ps.h: Regenerated.
86616         * lib/unictype/categ_S.h: Regenerated.
86617         * lib/unictype/categ_Sk.h: Regenerated.
86618         * lib/unictype/categ_Sm.h: Regenerated.
86619         * lib/unictype/categ_So.h: Regenerated.
86620         * lib/unictype/categ_of.h: Regenerated.
86621         * lib/unictype/combining.h: Regenerated.
86622         * lib/unictype/ctype_alnum.h: Regenerated.
86623         * lib/unictype/ctype_alpha.h: Regenerated.
86624         * lib/unictype/ctype_graph.h: Regenerated.
86625         * lib/unictype/ctype_lower.h: Regenerated.
86626         * lib/unictype/ctype_print.h: Regenerated.
86627         * lib/unictype/ctype_punct.h: Regenerated.
86628         * lib/unictype/ctype_upper.h: Regenerated.
86629         * lib/unictype/decdigit.h: Regenerated.
86630         * lib/unictype/digit.h: Regenerated.
86631         * lib/unictype/mirror.h: Regenerated.
86632         * lib/unictype/numeric.h: Regenerated.
86633         * lib/unictype/pr_alphabetic.h: Regenerated.
86634         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
86635         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
86636         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
86637         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
86638         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
86639         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
86640         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
86641         * lib/unictype/pr_combining.h: Regenerated.
86642         * lib/unictype/pr_dash.h: Regenerated.
86643         * lib/unictype/pr_decimal_digit.h: Regenerated.
86644         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
86645         * lib/unictype/pr_deprecated.h: Regenerated.
86646         * lib/unictype/pr_diacritic.h: Regenerated.
86647         * lib/unictype/pr_extender.h: Regenerated.
86648         * lib/unictype/pr_format_control.h: Regenerated.
86649         * lib/unictype/pr_grapheme_base.h: Regenerated.
86650         * lib/unictype/pr_grapheme_extend.h: Regenerated.
86651         * lib/unictype/pr_grapheme_link.h: Regenerated.
86652         * lib/unictype/pr_id_continue.h: Regenerated.
86653         * lib/unictype/pr_id_start.h: Regenerated.
86654         * lib/unictype/pr_ideographic.h: Regenerated.
86655         * lib/unictype/pr_ignorable_control.h: Regenerated.
86656         * lib/unictype/pr_lowercase.h: Regenerated.
86657         * lib/unictype/pr_math.h: Regenerated.
86658         * lib/unictype/pr_numeric.h: Regenerated.
86659         * lib/unictype/pr_other_alphabetic.h: Regenerated.
86660         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
86661         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
86662         * lib/unictype/pr_other_id_continue.h: Regenerated.
86663         * lib/unictype/pr_other_lowercase.h: Regenerated.
86664         * lib/unictype/pr_other_math.h: Regenerated.
86665         * lib/unictype/pr_punctuation.h: Regenerated.
86666         * lib/unictype/pr_sentence_terminal.h: Regenerated.
86667         * lib/unictype/pr_soft_dotted.h: Regenerated.
86668         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
86669         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
86670         * lib/unictype/pr_unified_ideograph.h: Regenerated.
86671         * lib/unictype/pr_uppercase.h: Regenerated.
86672         * lib/unictype/pr_xid_continue.h: Regenerated.
86673         * lib/unictype/pr_xid_start.h: Regenerated.
86674         * lib/unictype/pr_zero_width.h: Regenerated.
86675         * lib/unictype/scripts.h: Regenerated.
86676         * lib/unictype/scripts_byname.gperf: Regenerated.
86677         * lib/unictype/sy_java_ident.h: Regenerated.
86678         * lib/unilbrk/lbrkprop1.h: Regenerated.
86679         * lib/unilbrk/lbrkprop2.h: Regenerated.
86680         * tests/unictype/test-categ_C.c: Regenerated.
86681         * tests/unictype/test-categ_Cf.c: Regenerated.
86682         * tests/unictype/test-categ_Cn.c: Regenerated.
86683         * tests/unictype/test-categ_L.c: Regenerated.
86684         * tests/unictype/test-categ_Ll.c: Regenerated.
86685         * tests/unictype/test-categ_Lm.c: Regenerated.
86686         * tests/unictype/test-categ_Lo.c: Regenerated.
86687         * tests/unictype/test-categ_Lu.c: Regenerated.
86688         * tests/unictype/test-categ_M.c: Regenerated.
86689         * tests/unictype/test-categ_Mc.c: Regenerated.
86690         * tests/unictype/test-categ_Me.c: Regenerated.
86691         * tests/unictype/test-categ_Mn.c: Regenerated.
86692         * tests/unictype/test-categ_N.c: Regenerated.
86693         * tests/unictype/test-categ_Nd.c: Regenerated.
86694         * tests/unictype/test-categ_Nl.c: Regenerated.
86695         * tests/unictype/test-categ_No.c: Regenerated.
86696         * tests/unictype/test-categ_P.c: Regenerated.
86697         * tests/unictype/test-categ_Pd.c: Regenerated.
86698         * tests/unictype/test-categ_Pe.c: Regenerated.
86699         * tests/unictype/test-categ_Pf.c: Regenerated.
86700         * tests/unictype/test-categ_Pi.c: Regenerated.
86701         * tests/unictype/test-categ_Po.c: Regenerated.
86702         * tests/unictype/test-categ_Ps.c: Regenerated.
86703         * tests/unictype/test-categ_S.c: Regenerated.
86704         * tests/unictype/test-categ_Sk.c: Regenerated.
86705         * tests/unictype/test-categ_Sm.c: Regenerated.
86706         * tests/unictype/test-categ_So.c: Regenerated.
86707         * tests/unictype/test-ctype_alnum.c: Regenerated.
86708         * tests/unictype/test-ctype_alpha.c: Regenerated.
86709         * tests/unictype/test-ctype_graph.c: Regenerated.
86710         * tests/unictype/test-ctype_lower.c: Regenerated.
86711         * tests/unictype/test-ctype_print.c: Regenerated.
86712         * tests/unictype/test-ctype_punct.c: Regenerated.
86713         * tests/unictype/test-ctype_upper.c: Regenerated.
86714         * tests/unictype/test-decdigit.h: Regenerated.
86715         * tests/unictype/test-digit.h: Regenerated.
86716         * tests/unictype/test-numeric.h: Regenerated.
86717         * tests/unictype/test-pr_alphabetic.c: Regenerated.
86718         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
86719         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
86720         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
86721         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
86722         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
86723         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
86724         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
86725         * tests/unictype/test-pr_combining.c: Regenerated.
86726         * tests/unictype/test-pr_dash.c: Regenerated.
86727         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
86728         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
86729         * tests/unictype/test-pr_deprecated.c: Regenerated.
86730         * tests/unictype/test-pr_diacritic.c: Regenerated.
86731         * tests/unictype/test-pr_extender.c: Regenerated.
86732         * tests/unictype/test-pr_format_control.c: Regenerated.
86733         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
86734         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
86735         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
86736         * tests/unictype/test-pr_id_continue.c: Regenerated.
86737         * tests/unictype/test-pr_id_start.c: Regenerated.
86738         * tests/unictype/test-pr_ideographic.c: Regenerated.
86739         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
86740         * tests/unictype/test-pr_lowercase.c: Regenerated.
86741         * tests/unictype/test-pr_math.c: Regenerated.
86742         * tests/unictype/test-pr_numeric.c: Regenerated.
86743         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
86744         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
86745         Regenerated.
86746         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
86747         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
86748         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
86749         * tests/unictype/test-pr_other_math.c: Regenerated.
86750         * tests/unictype/test-pr_punctuation.c: Regenerated.
86751         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
86752         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
86753         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
86754         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
86755         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
86756         * tests/unictype/test-pr_uppercase.c: Regenerated.
86757         * tests/unictype/test-pr_xid_continue.c: Regenerated.
86758         * tests/unictype/test-pr_xid_start.c: Regenerated.
86759         * tests/unictype/test-pr_zero_width.c: Regenerated.
86761         Update to Unicode 5.1.0.
86762         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
86763         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
86764         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
86765         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
86766         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
86767         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
86768         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
86769         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
86770         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
86771         (nonspacing_table_ind): Update.
86772         * tests/uniwidth/test-uc_width2.sh: Update expected result.
86774         Update to Unicode 5.1.0.
86775         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
86776         code transform.
86777         * lib/uniname/uniname.c (unicode_character_name,
86778         unicode_name_character): Add the range 0x1Fxxx to the code transform.
86779         * lib/uniname/uninames.h: Regenerated.
86780         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
86782 2009-02-07  Bruno Haible  <bruno@clisp.org>
86784         Merge gen-ctype and gen-lbrk into a single program.
86785         * lib/gen-uni-tables.c: New file, incorporating
86786         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
86787         Add directory prefixes to the names of the generated files.
86788         * lib/unictype/gen-ctype.c: Remove file.
86789         * lib/unilbrk/gen-lbrk.c: Remove file.
86790         * modules/gen-uni-tables: New file.
86791         * modules/unictype/gen-ctype: Remove file.
86792         * modules/unilbrk/gen-lbrk: Remove file.
86794 2009-02-07  Bruno Haible  <bruno@clisp.org>
86796         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
86798         New module 'unistr/u32-strcoll'.
86799         * modules/unistr/u32-strcoll: New file.
86800         * lib/unistr/u32-strcoll.c: New file.
86802         New module 'unistr/u16-strcoll'.
86803         * modules/unistr/u16-strcoll: New file.
86804         * lib/unistr/u16-strcoll.c: New file.
86806         New module 'unistr/u8-strcoll'.
86807         * modules/unistr/u8-strcoll: New file.
86808         * lib/unistr/u8-strcoll.c: New file.
86809         * lib/unistr/u-strcoll.h: New file.
86811 2009-02-07  Bruno Haible  <bruno@clisp.org>
86813         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
86814         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86815         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86816         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
86817         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
86818         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
86820 2009-02-07  Bruno Haible  <bruno@clisp.org>
86822         Make 64-bit clean.
86823         * lib/unictype/gen-ctype.c (output_predicate, output_category,
86824         output_combclass, output_bidi_category, output_decimal_digit,
86825         output_digit, output_numeric, output_mirror, output_scripts,
86826         output_ident_category): Use proper width specifier in format strings.
86828 2009-02-07  Bruno Haible  <bruno@clisp.org>
86830         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
86831         failure behaviour.
86833 2009-02-07  Jim Meyering  <meyering@redhat.com>
86835         regex: avoid compilation failure with upcoming gcc-4.4
86836         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
86837         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
86838         "... error: integer overflow in preprocessor expression".
86840 2009-02-05  Ben Pfaff  <blp@gnu.org>
86842         Fix link errors on Windows when close module is used.
86843         * modules/close: Add $(LIB_CLOSE) to Link section.
86844         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
86845         $(LIB_CLOSE) on Windows.
86847 2009-02-05  Jim Meyering  <meyering@redhat.com>
86849         still avoid unused-parameter warnings, but do it cleanly
86850         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
86851         (get_fs_usage): Cast to void instead.
86852         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
86853         (dev_from_mount_options, read_file_system_list): Cast to void.
86854         Prompted by Bruno Haible.
86856 2009-02-04  Jim Meyering  <meyering@redhat.com>
86858         fsusage.c: correct copyright year
86859         * lib/fsusage.c: Reflect year in which the change is pushed into
86861         avoid misc. warnings
86862         * lib/fsusage.c (UNUSED_PARAM): Define.
86863         (get_fs_usage): Mark parameter "disk" as unused.
86864         * lib/getugroups.c (getgrent): Use "void" in prototype.
86865         * lib/mountlist.c: Mark unused parameters.
86866         (read_file_system_list): Declare a local with "const".
86867         * lib/nanosleep.c (getnow): Declare static.
86868         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
86870         dirfd: set errno upon failure
86871         * lib/dirfd.c: Include <errno.h>.
86872         Set errno to ENOTSUP when returning -1.
86873         * modules/dirfd (Depends-on): Add errno.
86874         Suggested by John Kodis <kodis@comcast.net>.
86876 2009-02-01  Bruno Haible  <bruno@clisp.org>
86878         Don't assume sizeof (long) >= sizeof (void *).
86879         * lib/memcmp.c: Include stdint.h.
86880         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
86881         srcp2 to 'const byte *'.
86882         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
86883         types to uintptr_t.
86884         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
86885         * modules/memcmp (Depends-on): Add stdint.
86886         Reported by Ozkan Sezer <sezeroz@gmail.com>.
86888 2009-01-30  Eric Blake  <ebb9@byu.net>
86890         fix more require-before-expand issues
86891         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
86892         expand, AC_PROG_AWK.
86893         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
86895 2009-01-28  Eric Blake  <ebb9@byu.net>
86897         version-etc: use consistent URL formatting
86898         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
86899         Improve formatting.  Use fputs for string without %.
86901 2009-01-28  Jim Meyering  <meyering@redhat.com>
86903         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
86904         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
86905         "underquoted definition of NAME" from autoconf-2.59.
86907 2009-01-28  Bruno Haible  <bruno@clisp.org>
86909         * doc/gnulib.texi: Add "Obsolete modules" to index.
86911 2009-01-28  Jim Meyering  <meyering@redhat.com>
86913         useless-if-before-free: recognize more variants
86914         * build-aux/useless-if-before-free: Also recognize e.g.,
86915         if (NULL != p) free (p);
86917 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
86919         test-getaddrinfo: skip (don't fail) this test when there's no network
86920         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
86921         on the presumption that it means you lack network access.
86923 2009-01-26  Jim Meyering  <meyering@redhat.com>
86925         fflush: avoid warnings on modern systems
86926         * lib/fflush.c (rpl_fflush): Move declarations of locals,
86927         pos and result, into scopes where they're used.
86929 2009-01-26  Eric Blake  <ebb9@byu.net>
86931         Silence warning reintroduced by recent extensions patch.
86932         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
86933         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
86934         autoconf.
86936         Backport improved autoconf semantics of AC_DEFUN_ONCE.
86937         * m4/00gnulib.m4: New file.
86938         * gnulib-tool (func_get_filelist): Always use it.
86939         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
86940         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
86942 2009-01-25  Bruno Haible  <bruno@clisp.org>
86944         Make test-quotearg work on MacOS X and AIX.
86945         * tests/test-quotearg.sh: New file.
86946         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
86947         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
86948         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
86949         include <libintl.h>.
86950         (fake_locale): Remove variable.
86951         (gettext, dgettext, dcgettext): Remove functions.
86952         (main): Instead of setting a fake locale, set a real locale. Call
86953         textdomain and bindtextdomain.
86954         * modules/quotearg-tests (Files): Add the new files.
86955         (Depends-on): Add gettext, setenv, unsetenv.
86956         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
86957         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
86958         Augment TESTS_ENVIRONMENT.
86960 2009-01-25  Bruno Haible  <bruno@clisp.org>
86962         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
86963         fr_FR.ISO8859-1 locale on MacOS X.
86964         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
86965         ja_JP.eucJP locale on MacOS X.
86966         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
86967         zh_CN.GB18030 locale on MacOS X.
86969 2009-01-25  Bruno Haible  <bruno@clisp.org>
86971         Avoid link errors on MacOS X 10.3.
86972         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
86973         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
86975 2009-01-25  Bruno Haible  <bruno@clisp.org>
86977         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86978         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
86979         * modules/pipe (Files): Remove m4/posix_spawn.m4.
86980         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86981         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
86982         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86983         posix_spawnattr_init, posix_spawnattr_setsigmask,
86984         posix_spawnattr_setflags, posix_spawnattr_destroy.
86986         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86987         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
86988         * modules/execute (Files): Remove m4/posix_spawn.m4.
86989         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86990         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86991         posix_spawnattr_init, posix_spawnattr_setsigmask,
86992         posix_spawnattr_setflags, posix_spawnattr_destroy.
86994 2009-01-25  Bruno Haible  <bruno@clisp.org>
86996         * lib/glthread/threadlib.c: Include <stdlib.h>.
86998 2009-01-25  Bruno Haible  <bruno@clisp.org>
87000         * lib/glthread/threadlib.c (dummy): New declaration.
87002 2009-01-25  Bruno Haible  <bruno@clisp.org>
87004         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
87005         multibyte characters also for the GB18030 encoding. Don't crash when
87006         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
87008 2009-01-25  Bruno Haible  <bruno@clisp.org>
87010         Avoid redefining 'struct random_data' on OSF/1 5.1.
87011         * lib/stdlib.in.h: Include <random.h> if it exists.
87012         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
87013         HAVE_RANDOM_H. Include <random.h> when testing whether
87014         'struct random_data' exists.
87015         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
87017 2009-01-25  Bruno Haible  <bruno@clisp.org>
87019         Don't install charset.alias on MacOS X >= 10.3.
87020         * lib/localcharset.c (DARWIN7): New macro.
87021         (get_charset_aliases): Hardcode the result for Darwin7.
87022         * modules/localcharset (install-exec-local): Don't install
87023         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
87025 2009-01-25  Bruno Haible  <bruno@clisp.org>
87027         Don't install charset.alias on mingw and Cygwin.
87028         * modules/localcharset (install-exec-local): Don't install
87029         charset.alias on mingw and Cygwin, if the file does not yet exist.
87030         The result for these platforms is hardcoded in localcharset.c.
87032 2009-01-25  Bruno Haible  <bruno@clisp.org>
87034         Make it possible again to use AC_GNU_SOURCE together with gnulib.
87035         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
87036         before requiring AC_USE_SYSTEM_EXTENSIONS.
87038 2009-01-25  Jim Meyering  <meyering@redhat.com>
87040         c-strtod: avoid warnings
87041         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
87042         "assignment discards qualifiers from pointer target type" warnings.
87044 2009-01-24  Bruno Haible  <bruno@clisp.org>
87046         Add support for non-UTF-8 locales on MacOS X.
87047         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
87048         canonical encodings. For Darwin 7 and newer, don't map traditional
87049         encodings to UTF-8.
87050         Reported by Vincent Lefevre <vincent@vinc17.org>
87051         at <http://savannah.gnu.org/bugs/?25235>.
87053 2009-01-24  Bruno Haible  <bruno@clisp.org>
87055         * doc/gnulib.texi (Obsolete modules): New section.
87056         Reported by Mike Frysinger <vapier@gentoo.org>.
87058 2009-01-24  Bruno Haible  <bruno@clisp.org>
87060         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
87061         (%.dvi): New rule.
87063 2009-01-24  Bruno Haible  <bruno@clisp.org>
87065         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
87066         Reported by Eric Blake.
87068 2009-01-24  Bruno Haible  <bruno@clisp.org>
87070         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
87071         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
87072         Reported by Gary V. Vaughan <gary@gnu.org>.
87074 2009-01-24  Bruno Haible  <bruno@clisp.org>
87076         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
87078 2009-01-23  Bruno Haible  <bruno@clisp.org>
87080         Make c-strtod, c-strtold usable in libraries.
87081         * lib/c-strtod.c: Include string.h instead of xalloc.h.
87082         (C_STRTOD): Call strdup instead of xstrdup.
87083         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
87084         * modules/c-strtold (Depends-on): Likewise.
87085         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
87086         * NEWS: Mention the change.
87087         Reported by Michael Gold <mgold@ncf.ca>.
87089 2009-01-23  Jim Meyering  <meyering@redhat.com>
87091         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
87092         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
87093         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
87095 2009-01-23  Simon Josefsson  <simon@josefsson.org>
87097         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
87098         GNU CoreUtils.
87099         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
87100         * modules/version-etc (Description): Update.
87102 2009-01-22  Bruno Haible  <bruno@clisp.org>
87104         Cache the C locale object.
87105         * lib/c-strtod.c (c_locale_cache): New variable.
87106         (c_locale): New function.
87107         (C_STRTOD): Use it, and don't call freelocale.
87108         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
87109         Suggested by Paolo Bonzini.
87111 2009-01-21  Bruno Haible  <bruno@clisp.org>
87113         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
87114         conditions other than overflow.
87116 2009-01-21  Bruno Haible  <bruno@clisp.org>
87118         * lib/c-strtod.c: Include errno.h.
87119         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
87120         value from STRTOD_L and STRTOD.
87122 2009-01-21  Bruno Haible  <bruno@clisp.org>
87123         and Jim Meyering  <meyering@redhat.com>
87125         nanosleep: skip configure test (fail it) for apple universal builds
87126         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
87127         universal builds, assume that nanosleep does not work.
87128         * modules/nanosleep (Depends-on): Add multiarch.
87130         mktime: skip configure test (fail it) for apple universal builds
87131         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
87132         universal builds, assume that mktime does not work.
87133         * modules/mktime (Depends-on): Add multiarch.
87135 2009-01-21  Eric Blake  <ebb9@byu.net>
87137         multiarch: avoid expand-before-require warning
87138         * modules/multiarch (configure.ac): Require, rather than expand,
87139         gl_MULTIARCH.
87140         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
87141         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
87142         enforce that all clients require it.  Partial reversion of
87143         2008-12-29 patch.
87145         error: avoid expand-before-require warning
87146         * modules/errno (configure.ac): Require, rather than expand,
87147         gl_HEADER_ERRNO_H.
87148         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
87149         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
87150         enforce that all clients require it.
87152         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
87153         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
87154         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
87155         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
87157 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
87159         Revert:
87160         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87162         regex: do not depend on obsolete modules.
87163         * modules/regex: Remove memcmp and memmove.
87165 2009-01-20  Bruno Haible  <bruno@clisp.org>
87167         Make the 'link' module link on Windows NT 4.
87168         * lib/link.c (_WIN32_WINNT): Don't define.
87169         (CreateHardLinkFuncType): New type.
87170         (CreateHardLinkFunc, initialized): New variables.
87171         (initialize): New function.
87172         (link): Invoke CreateHardLink indirectly through the function pointer.
87174 2009-01-20  Bruno Haible  <bruno@clisp.org>
87176         Fix compilation failure on mingw.
87177         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
87179 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
87181         * doc/c-strtod.texi: Mention a couple of restrictions.
87183 2009-01-20  Jim Meyering  <meyering@redhat.com>
87185         gettimeofday: move more declarations out of functions
87186         * lib/gettimeofday.c: Move extern declarations of tzset and
87187         gmtime out of containing functions.  Prompted by Bruno Haible.
87189 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
87191         regex: do not depend on obsolete modules.
87192         * modules/regex: Remove memcmp and memmove.
87194 2009-01-19  Bruno Haible  <bruno@clisp.org>
87196         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87197         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
87198         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87199         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
87200         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
87202 2009-01-19  Bruno Haible  <bruno@clisp.org>
87204         * tests/test-link.c: Include <errno.h>.
87205         (main): Exit with code 77 when a hard link cannot be created due to
87206         the file system.
87207         * tests/test-link.sh: Skip test when a hard link cannot be created due
87208         to the file system.
87209         Suggested by Eric Blake.
87211 2009-01-19  Martin Lambers  <marlam@marlam.de>
87213         * modules/link-tests: New file.
87214         * tests/test-link.sh: New file.
87215         * tests/test-link.c: New file.
87217 2009-01-19  Eric Blake  <ebb9@byu.net>
87219         doc: mention another function added in cygwin 1.7.0
87220         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
87221         Another new function in cygwin 1.7.
87223 2009-01-19  Bruno Haible  <bruno@clisp.org>
87225         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
87226         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
87227         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
87228         gl_BIGENDIAN, not AC_C_BIGENDIAN.
87229         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
87230         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
87231         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
87232         * m4/md4.m4 (gl_MD4): Likewise.
87233         * m4/md5.m4 (gl_MD5): Likewise.
87234         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
87235         * m4/sha1.m4 (gl_SHA1): Likewise.
87236         * m4/sha256.m4 (gl_SHA256): Likewise.
87237         * m4/sha512.m4 (gl_SHA512): Likewise.
87239 2009-01-19  Bruno Haible  <bruno@clisp.org>
87241         * modules/uniname/uniname-tests (Depends-on): Add progname.
87242         * tests/uniname/test-uninames.c: Include progname.h.
87243         (main): Call set_program_name.
87245         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
87246         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
87247         (main): Call set_program_name.
87249         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
87250         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
87251         (main): Call set_program_name.
87253         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
87254         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
87255         (main): Call set_program_name.
87257         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
87258         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
87259         (main): Call set_program_name.
87261         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
87262         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
87263         (main): Call set_program_name.
87265         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
87266         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
87267         (main): Call set_program_name.
87269         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
87270         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
87271         (main): Call set_program_name.
87273         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
87274         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
87275         (main): Call set_program_name.
87277 2009-01-19  Eric Blake  <ebb9@byu.net>
87279         test-unistd: test previous patch
87280         * tests/test-unistd.c: Test *_FILENO macros.
87282         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
87283         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87284         Guarantee a definition.
87285         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
87286         * modules/unistd-safer (Depends-on): Add dependency on unistd.
87287         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
87288         * lib/dup-safer.c (STDERR_FILENO): Likewise.
87289         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87290         Likewise.
87291         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
87292         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
87293         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
87294         Likewise.
87295         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
87296         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
87297         (STDERR_FILENO): Likewise.
87298         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
87299         (STDERR_FILENO): Likewise.
87300         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
87301         (STDERR_FILENO): Likewise.
87302         Reported by Elbert Pol.
87304 2009-01-19  Eric Blake  <ebb9@byu.net>
87306         doc: mention more functions added in cygwin 1.7.0
87307         * doc/posix-functions/abort.texi (abort): Update wording related
87308         to cygwin.
87309         * doc/posix-functions/daylight.texi (daylight): Likewise.
87310         * doc/posix-functions/optarg.texi (optarg): Likewise.
87311         * doc/posix-functions/optarg.texi (opterr): Likewise.
87312         * doc/posix-functions/optarg.texi (optind): Likewise.
87313         * doc/posix-functions/optarg.texi (optopt): Likewise.
87314         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
87315         worked in 1.5.x, and was withdrawn in 1.7.
87316         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
87317         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
87318         cygwin versions.
87319         * doc/posix-functions/perror.texi (perror): Likewise.
87320         * doc/posix-functions/printf.texi (printf): Likewise.
87321         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
87322         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
87323         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
87324         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
87325         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
87326         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
87327         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87328         Likewise.
87329         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87330         Likewise.
87331         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
87332         this function.
87333         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
87334         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
87335         Likewise.
87336         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
87337         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
87338         * doc/posix-functions/confstr.texi (confstr): Likewise.
87339         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
87340         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
87341         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
87342         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
87343         * doc/posix-functions/fputws.texi (fputws): Likewise.
87344         * doc/posix-functions/fwide.texi (fwide): Likewise.
87345         * doc/posix-functions/getwc.texi (getwc): Likewise.
87346         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
87347         * doc/posix-functions/putwc.texi (putwc): Likewise.
87348         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
87349         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
87350         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
87351         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
87352         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
87353         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
87354         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
87355         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
87356         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
87357         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
87358         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
87360 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87362         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
87363         * lib/ioctl.c: Include <sys/ioctl.h>.
87365 2009-01-19  Simon Josefsson  <simon@josefsson.org>
87367         * modules/getdate-tests (Depends-on): Add progname.
87368         * tests/test-getdate.c: Use progname module, to avoid link errors
87369         on non-glibc systems.
87371 2009-01-18  Simon Josefsson  <simon@josefsson.org>
87373         * modules/filenamecat-tests (Depends-on): Add progname.
87374         * modules/fstrcmp-tests (Depends-on): Likewise.
87376         * tests/test-filenamecat.c: Use progname module, to avoid link
87377         errors on non-glibc systems.
87378         * tests/test-fstrcmp.c: Likewise.
87380 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
87382         gettimeofday: avoid warning: nested extern declaration of 'localtime'
87383         * lib/gettimeofday.c: Move extern declaration out of function.
87385 2009-01-18  Bruno Haible  <bruno@clisp.org>
87387         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
87388         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
87389         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
87391 2009-01-18  Bruno Haible  <bruno@clisp.org>
87393         * lib/strftime.c (MEMPCPY): Remove unused macro.
87394         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
87396 2009-01-18  Martin Lambers  <marlam@marlam.de>
87398         New module 'link'.
87399         * lib/unistd.in.h (link): New declaration.
87400         * lib/link.c: New file.
87401         * m4/link.m4: New file.
87402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
87403         HAVE_LINK.
87404         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
87405         * modules/link: New file.
87406         * doc/posix-functions/link.texi: Mention the new module.
87408 2009-01-18  Bruno Haible  <bruno@clisp.org>
87410         * tests/test-avltree_list.c (main): Call set_program_name.
87411         * tests/test-avltree_oset.c (main): Likewise.
87412         * tests/test-obstack-printf.c: Include progname.h.
87413         (main): Call set_program_name.
87414         * tests/test-quotearg.c: Include progname.h.
87415         (main): Call set_program_name.
87416         * tests/test-xmemdup0.c: Include progname.h.
87417         (main): Call set_program_name.
87419 2009-01-18  Bruno Haible  <bruno@clisp.org>
87421         New module 'alphasort'.
87422         * lib/dirent.in.h (alphasort): New declaration.
87423         * lib/alphasort.c: New file, from glibc with modifications.
87424         * m4/alphasort.m4: New file.
87425         * modules/alphasort: New file.
87426         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
87427         HAVE_ALPHASORT.
87428         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
87429         HAVE_ALPHASORT.
87430         * doc/posix-functions/alphasort.texi: Mention the new module and the
87431         portability problems.
87433 2009-01-18  Bruno Haible  <bruno@clisp.org>
87435         New module 'scandir'.
87436         * lib/dirent.in.h (scandir): New declaration.
87437         * lib/scandir.c: New file, from glibc with modifications.
87438         * m4/scandir.m4: New file.
87439         * modules/scandir: New file.
87440         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
87441         HAVE_SCANDIR.
87442         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
87443         HAVE_SCANDIR.
87444         * doc/posix-functions/scandir.texi: Mention the new module and the
87445         portability problems.
87447 2009-01-17  Bruno Haible  <bruno@clisp.org>
87449         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
87450         Update documentation.
87451         (func_remove_suffix): Escape all dots in the suffix. Update
87452         documentation.
87453         (func_filter_filelist): Update documentation.
87454         Reported by Ralf Wildenhues.
87456 2009-01-17  Bruno Haible  <bruno@clisp.org>
87458         * modules/dprintf-posix-tests: New file.
87459         * tests/test-dprintf-posix.sh: New file.
87460         * tests/test-dprintf-posix.c: New file.
87462         New modules 'dprintf', 'dprintf-posix'.
87463         * lib/stdio.in.h (dprintf): New declaration.
87464         * lib/dprintf.c: New file.
87465         * m4/dprintf.m4: New file.
87466         * m4/dprintf-posix.m4: New file.
87467         * modules/dprintf: New file.
87468         * modules/dprintf-posix: New file.
87469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
87470         HAVE_DPRINTF, REPLACE_DPRINTF.
87471         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
87472         HAVE_DPRINTF, REPLACE_DPRINTF.
87473         * doc/posix-functions/dprintf.texi: Mention the new modules.
87475 2009-01-17  Bruno Haible  <bruno@clisp.org>
87477         * modules/vdprintf-posix-tests: New file.
87478         * tests/test-vdprintf-posix.sh: New file.
87479         * tests/test-vdprintf-posix.c: New file.
87481         New modules 'vdprintf', 'vdprintf-posix'.
87482         * lib/stdio.in.h (vdprintf): New declaration.
87483         * lib/vdprintf.c: New file.
87484         * m4/vdprintf.m4: New file.
87485         * m4/vdprintf-posix.m4: New file.
87486         * modules/vdprintf: New file.
87487         * modules/vdprintf-posix: New file.
87488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
87489         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87490         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
87491         HAVE_VDPRINTF, REPLACE_VDPRINTF.
87492         * doc/posix-functions/vdprintf.texi: Mention the new modules.
87494 2009-01-17  Bruno Haible  <bruno@clisp.org>
87496         Fix replacement of fopen on mingw.
87497         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
87498         mingw.
87500 2009-01-17  Bruno Haible  <bruno@clisp.org>
87502         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
87503         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
87505 2009-01-17  Bruno Haible  <bruno@clisp.org>
87507         Avoid test-fflush2.sh failure on mingw.
87508         * tests/test-fflush2.c: Include binary-io.h.
87509         (main): Put standard input into binary mode.
87510         * modules/fflush-tests (Depends-on): Add binary-io.
87512 2009-01-17  Bruno Haible  <bruno@clisp.org>
87514         * lib/wchar.in.h: In another particular situation, include only the
87515         system's <wchar.h> file.
87516         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
87517         Reported by Albert Chin-A-Young <china@thewrittenword.com>
87518         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
87520 2009-01-17  Bruno Haible  <bruno@clisp.org>
87522         Support for stripping executables in --enable-relocatable.
87523         * build-aux/install-reloc: Expect one more argument, or an environment
87524         variable RELOC_STRIP_PROG. If set, strip the destination program and
87525         its wrapper.
87526         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
87527         RELOC_STRIP_PROG.
87528         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
87529         to set RELOCATABLE_STRIP.
87530         * NEWS: Mention the new Makefile requirement.
87532 2009-01-17  Bruno Haible  <bruno@clisp.org>
87534         * build-aux/install-reloc: Remove debugging information left over by
87535         C compiler on MacOS X.
87537 2009-01-17  Bruno Haible  <bruno@clisp.org>
87539         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
87540         * lib/progreloc.c (find_executable): Fix type of pointer passed to
87541         _NSGetExecutablePath.
87543 2009-01-16  Jim Meyering  <meyering@redhat.com>
87545         strerror: avoid warnings about discarding "const"
87546         * lib/strerror.c (rpl_strerror): Instead of returning a const
87547         string from each and every "case", use a variable, and add a single
87548         cast after the switch.
87550 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
87552         * lib/arpa_inet.in.h: Add extern "C" block for C++.
87554 2009-01-16  Bruno Haible  <bruno@clisp.org>
87556         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
87557         array initializer syntax that also works in C++ mode.
87558         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87560 2009-01-16  Jim Meyering  <meyering@redhat.com>
87562         poll: suppress a warning
87563         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
87564         to ignore "...unsigned expression < 0 is always false" warnings.
87566 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
87568         poll: remove declarations of unused variables
87569         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
87570         sockbuf and optlen.
87572 2009-01-15  Bruno Haible  <bruno@clisp.org>
87574         Make fflush-after-ungetc POSIX compliant on BSD systems.
87575         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
87576         (clear_ungetc_buffer): Implement also for other systems.
87577         (rpl_fflush): On glibc systems, invoke
87578         clear_ungetc_buffer_preserving_position. Otherwise, invoke
87579         clear_ungetc_buffer after fetching the stream's position, not before.
87581 2009-01-15  Bruno Haible  <bruno@clisp.org>
87583         Make fflush-after-ungetc POSIX compliant on glibc systems.
87584         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
87585         after ungetc.
87586         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
87587         (rpl_fflush): On glibc systems, simply call the system's fflush
87588         function after clearing the ungetc buffer.
87589         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
87590         Instead, lseek only to the end of file, then use the system's fseeko
87591         for the rest. On glibc systems, reset the EOF indicator bit.
87593 2009-01-15  Jim Meyering  <meyering@redhat.com>
87595         openmp.m4: revert quote-adding change, for portability to older autoconf
87596         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
87597         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
87598         Simon Josefsson noticed the problem when using autoconf-2.61.
87600 2009-01-15  Bruno Haible  <bruno@clisp.org>
87602         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
87603         * tests/test-fflush2.c (ASSERT): Always fail.
87604         (main): Add two tests for fflush() after ungetc(), taking into account
87605         the Austin Group's clarification.
87606         Suggested by Eric Blake.
87608 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
87610         mktime.m4: remove K&R-style function prototypes
87611         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
87612         for the Sun C++ compiler.
87614 2009-01-14  Bruno Haible  <bruno@clisp.org>
87616         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
87617         while including <wchar.h>.
87618         * lib/wchar.in.h: In two particular situations on HP-UX, include only
87619         the system's <wchar.h> file.
87620         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87622 2009-01-14  Bruno Haible  <bruno@clisp.org>
87624         * m4/csharp.m4: Don't mention gettext on the serial number line.
87625         * m4/csharpexec.m4: Likewise.
87626         * m4/eaccess.m4: Likewise.
87627         * m4/javaexec.m4: Likewise.
87628         * m4/sig_atomic_t.m4: Likewise.
87629         * m4/tmpdir.m4: Likewise.
87630         * m4/intldir.m4: Bump gettext version.
87631         * m4/lib-ld.m4: Likewise.
87633 2009-01-14  Bruno Haible  <bruno@clisp.org>
87635         * lib/progname.c (set_program_name): Add more comments.
87636         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
87638 2009-01-14  Simon Josefsson  <simon@josefsson.org>
87640         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
87641         were sys/stat.h does not define it.
87643 2009-01-14  Jim Meyering  <meyering@redhat.com>
87645         many *.m4 files: improve m4 quoting
87646         99% of this change was performed by running the following commands:
87647         git ls-files | grep '\.m4$' | xargs perl -pi \
87648           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
87649           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87650           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87651           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
87652         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
87653         The remainder were to add Copyright dates, increment serial numbers,
87654         undo some changes in comments, exclude m4/intl.m4, and add quotes
87655         around the "1" in ",1" where the unusual spacing prohibited the
87656         above regexps from doing the job.  For more details, see
87657         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
87658         * m4/acl.m4: Modified.
87659         * m4/afs.m4: Likewise.
87660         * m4/alloca.m4: Likewise.
87661         * m4/argp.m4: Likewise.
87662         * m4/argz.m4: Likewise.
87663         * m4/atexit.m4: Likewise.
87664         * m4/bison-i18n.m4: Likewise.
87665         * m4/bison.m4: Likewise.
87666         * m4/byteswap.m4: Likewise.
87667         * m4/c-stack.m4: Likewise.
87668         * m4/c-strtod.m4: Likewise.
87669         * m4/calloc.m4: Likewise.
87670         * m4/canonicalize-lgpl.m4: Likewise.
87671         * m4/chown.m4: Likewise.
87672         * m4/clock_time.m4: Likewise.
87673         * m4/codeset.m4: Likewise.
87674         * m4/copy-file.m4: Likewise.
87675         * m4/csharp.m4: Likewise.
87676         * m4/csharpcomp.m4: Likewise.
87677         * m4/csharpexec.m4: Likewise.
87678         * m4/d-ino.m4: Likewise.
87679         * m4/d-type.m4: Likewise.
87680         * m4/dirfd.m4: Likewise.
87681         * m4/double-slash-root.m4: Likewise.
87682         * m4/eaccess.m4: Likewise.
87683         * m4/eealloc.m4: Likewise.
87684         * m4/environ.m4: Likewise.
87685         * m4/errno_h.m4: Likewise.
87686         * m4/euidaccess.m4: Likewise.
87687         * m4/execute.m4: Likewise.
87688         * m4/fatal-signal.m4: Likewise.
87689         * m4/fchdir.m4: Likewise.
87690         * m4/fcntl_h.m4: Likewise.
87691         * m4/fileblocks.m4: Likewise.
87692         * m4/filenamecat.m4: Likewise.
87693         * m4/findprog.m4: Likewise.
87694         * m4/flexmember.m4: Likewise.
87695         * m4/fnmatch.m4: Likewise.
87696         * m4/fopen.m4: Likewise.
87697         * m4/fpending.m4: Likewise.
87698         * m4/fprintf-posix.m4: Likewise.
87699         * m4/free.m4: Likewise.
87700         * m4/frexp.m4: Likewise.
87701         * m4/frexpl.m4: Likewise.
87702         * m4/fsusage.m4: Likewise.
87703         * m4/ftruncate.m4: Likewise.
87704         * m4/gc-camellia.m4: Likewise.
87705         * m4/gc-random.m4: Likewise.
87706         * m4/gc.m4: Likewise.
87707         * m4/getaddrinfo.m4: Likewise.
87708         * m4/getcwd-abort-bug.m4: Likewise.
87709         * m4/getcwd-path-max.m4: Likewise.
87710         * m4/getdate.m4: Likewise.
87711         * m4/getdomainname.m4: Likewise.
87712         * m4/getgroups.m4: Likewise.
87713         * m4/gethostname.m4: Likewise.
87714         * m4/gethrxtime.m4: Likewise.
87715         * m4/getline.m4: Likewise.
87716         * m4/getloadavg.m4: Likewise.
87717         * m4/getndelim2.m4: Likewise.
87718         * m4/getpass.m4: Likewise.
87719         * m4/gettext.m4: Likewise.
87720         * m4/gettime.m4: Likewise.
87721         * m4/gettimeofday.m4: Likewise.
87722         * m4/gnulib-common.m4: Likewise.
87723         * m4/group-member.m4: Likewise.
87724         * m4/host-os.m4: Likewise.
87725         * m4/iconv.m4: Likewise.
87726         * m4/iconv_open.m4: Likewise.
87727         * m4/inet_ntop.m4: Likewise.
87728         * m4/inet_pton.m4: Likewise.
87729         * m4/inline.m4: Likewise.
87730         * m4/intldir.m4: Likewise.
87731         * m4/intlmacosx.m4: Likewise.
87732         * m4/intmax.m4: Likewise.
87733         * m4/intmax_t.m4: Likewise.
87734         * m4/inttypes.m4: Likewise.
87735         * m4/inttypes_h.m4: Likewise.
87736         * m4/inttypes-pri.m4: Likewise.
87737         * m4/isapipe.m4: Likewise.
87738         * m4/isnand.m4: Likewise.
87739         * m4/isnanf.m4: Likewise.
87740         * m4/isnanl.m4: Likewise.
87741         * m4/javacomp.m4: Likewise.
87742         * m4/javaexec.m4: Likewise.
87743         * m4/jm-winsz1.m4: Likewise.
87744         * m4/jm-winsz2.m4: Likewise.
87745         * m4/lchown.m4: Likewise.
87746         * m4/lcmessage.m4: Likewise.
87747         * m4/ldexpl.m4: Likewise.
87748         * m4/lib-ld.m4: Likewise.
87749         * m4/lib-link.m4: Likewise.
87750         * m4/libsigsegv.m4: Likewise.
87751         * m4/link-follow.m4: Likewise.
87752         * m4/localcharset.m4: Likewise.
87753         * m4/locale-fr.m4: Likewise.
87754         * m4/locale-ja.m4: Likewise.
87755         * m4/locale-tr.m4: Likewise.
87756         * m4/locale-zh.m4: Likewise.
87757         * m4/lock.m4: Likewise.
87758         * m4/longlong.m4: Likewise.
87759         * m4/ls-mntd-fs.m4: Likewise.
87760         * m4/lstat.m4: Likewise.
87761         * m4/malloc.m4: Likewise.
87762         * m4/mathl.m4: Likewise.
87763         * m4/mbrtowc.m4: Likewise.
87764         * m4/mbstate_t.m4: Likewise.
87765         * m4/mbswidth.m4: Likewise.
87766         * m4/memchr.m4: Likewise.
87767         * m4/memcmp.m4: Likewise.
87768         * m4/memcpy.m4: Likewise.
87769         * m4/memmem.m4: Likewise.
87770         * m4/memmove.m4: Likewise.
87771         * m4/mempcpy.m4: Likewise.
87772         * m4/memrchr.m4: Likewise.
87773         * m4/memset.m4: Likewise.
87774         * m4/minmax.m4: Likewise.
87775         * m4/mkdir-slash.m4: Likewise.
87776         * m4/mkdtemp.m4: Likewise.
87777         * m4/mktime.m4: Likewise.
87778         * m4/mmap-anon.m4: Likewise.
87779         * m4/mountlist.m4: Likewise.
87780         * m4/nanosleep.m4: Likewise.
87781         * m4/nls.m4: Likewise.
87782         * m4/nocrash.m4: Likewise.
87783         * m4/open.m4: Likewise.
87784         * m4/openat.m4: Likewise.
87785         * m4/openmp.m4: Likewise.
87786         * m4/pathmax.m4: Likewise.
87787         * m4/perl.m4: Likewise.
87788         * m4/physmem.m4: Likewise.
87789         * m4/pipe.m4: Likewise.
87790         * m4/po.m4: Likewise.
87791         * m4/poll.m4: Likewise.
87792         * m4/posixtm.m4: Likewise.
87793         * m4/posixver.m4: Likewise.
87794         * m4/printf-frexp.m4: Likewise.
87795         * m4/printf-frexpl.m4: Likewise.
87796         * m4/printf-posix.m4: Likewise.
87797         * m4/printf-posix-rpl.m4: Likewise.
87798         * m4/printf.m4: Likewise.
87799         * m4/progtest.m4: Likewise.
87800         * m4/putenv.m4: Likewise.
87801         * m4/readline.m4: Likewise.
87802         * m4/readlink.m4: Likewise.
87803         * m4/readutmp.m4: Likewise.
87804         * m4/realloc.m4: Likewise.
87805         * m4/regex.m4: Likewise.
87806         * m4/relocatable.m4: Likewise.
87807         * m4/relocatable-lib.m4: Likewise.
87808         * m4/rename-dest-slash.m4: Likewise.
87809         * m4/rename.m4: Likewise.
87810         * m4/rmdir-errno.m4: Likewise.
87811         * m4/rmdir.m4: Likewise.
87812         * m4/roundf.m4: Likewise.
87813         * m4/roundl.m4: Likewise.
87814         * m4/rpmatch.m4: Likewise.
87815         * m4/save-cwd.m4: Likewise.
87816         * m4/selinux-selinux-h.m4: Likewise.
87817         * m4/setenv.m4: Likewise.
87818         * m4/settime.m4: Likewise.
87819         * m4/sig2str.m4: Likewise.
87820         * m4/sig_atomic_t.m4: Likewise.
87821         * m4/signalblocking.m4: Likewise.
87822         * m4/signbit.m4: Likewise.
87823         * m4/sigpipe.m4: Likewise.
87824         * m4/sockets.m4: Likewise.
87825         * m4/sockpfaf.m4: Likewise.
87826         * m4/st_dm_mode.m4: Likewise.
87827         * m4/stat-time.m4: Likewise.
87828         * m4/stdbool.m4: Likewise.
87829         * m4/stdint.m4: Likewise.
87830         * m4/stdint_h.m4: Likewise.
87831         * m4/stpcpy.m4: Likewise.
87832         * m4/stpncpy.m4: Likewise.
87833         * m4/strcase.m4: Likewise.
87834         * m4/strchrnul.m4: Likewise.
87835         * m4/strcspn.m4: Likewise.
87836         * m4/strdup.m4: Likewise.
87837         * m4/strftime.m4: Likewise.
87838         * m4/strndup.m4: Likewise.
87839         * m4/strnlen.m4: Likewise.
87840         * m4/strpbrk.m4: Likewise.
87841         * m4/strptime.m4: Likewise.
87842         * m4/strsep.m4: Likewise.
87843         * m4/strtod.m4: Likewise.
87844         * m4/strtoimax.m4: Likewise.
87845         * m4/strtok_r.m4: Likewise.
87846         * m4/strtol.m4: Likewise.
87847         * m4/strtoll.m4: Likewise.
87848         * m4/strtoul.m4: Likewise.
87849         * m4/strtoull.m4: Likewise.
87850         * m4/strtoumax.m4: Likewise.
87851         * m4/strverscmp.m4: Likewise.
87852         * m4/threadlib.m4: Likewise.
87853         * m4/timegm.m4: Likewise.
87854         * m4/tm_gmtoff.m4: Likewise.
87855         * m4/tmpdir.m4: Likewise.
87856         * m4/tmpfile.m4: Likewise.
87857         * m4/tzset.m4: Likewise.
87858         * m4/uintmax_t.m4: Likewise.
87859         * m4/unlinkdir.m4: Likewise.
87860         * m4/unlocked-io.m4: Likewise.
87861         * m4/uptime.m4: Likewise.
87862         * m4/userspec.m4: Likewise.
87863         * m4/utimbuf.m4: Likewise.
87864         * m4/utime.m4: Likewise.
87865         * m4/utimes-null.m4: Likewise.
87866         * m4/utimes.m4: Likewise.
87867         * m4/vararrays.m4: Likewise.
87868         * m4/vasnprintf.m4: Likewise.
87869         * m4/vfprintf-posix.m4: Likewise.
87870         * m4/vprintf-posix.m4: Likewise.
87871         * m4/wait-process.m4: Likewise.
87872         * m4/wchar_t.m4: Likewise.
87873         * m4/wint_t.m4: Likewise.
87874         * m4/write-any-file.m4: Likewise.
87875         * m4/yield.m4: Likewise.
87877 2009-01-13  Bruno Haible  <bruno@clisp.org>
87879         Avoid test-copy-file.sh failures when ACL support insufficient.
87880         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
87881         TESTS_ENVIRONMENT.
87882         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
87883         Reported by Jim Meyering.
87885 2009-01-13  Bruno Haible  <bruno@clisp.org>
87887         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
87888         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
87889         * modules/unistdio/u8-printf-parse (Files): Likewise.
87890         * modules/unistdio/u32-printf-parse (Files): Likewise.
87891         * modules/unistdio/ulc-printf-parse (Files): Likewise.
87893 2009-01-13  Simon Josefsson  <simon@josefsson.org>
87895         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
87896         and m4/inttypes_h.m4 too.
87898 2009-01-12  Eric Blake  <ebb9@byu.net>
87900         tests: IRIX 6.2 cc can't compile -0.0 into .data
87901         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
87902         rather than at compile-time.
87903         * tests/test-floorl.c (minus_zero): Likewise.
87904         * tests/test-frexpl.c (minus_zero): Likewise.
87905         * tests/test-isnan.c (minus_zerol): Likewise.
87906         * tests/test-isnanl.h (minus_zero): Likewise.
87907         * tests/test-ldexpl.c (minus_zero): Likewise.
87908         * tests/test-roundl.c (minus_zero): Likewise.
87909         * tests/test-signbit.c (minus_zerol): Likewise.
87910         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
87911         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
87912         * tests/test-truncl.c (minus_zero): Likewise.
87913         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
87914         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
87915         Reported by Tom G. Christensen and Nelson H. F. Beebe.
87917 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87919         regex: fix glibc bug 9697
87920         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
87921         handling.
87923 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87925         regex: fix glibc bug 697
87926         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
87927         being NULL also if there are no backreferences.
87929 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87931         regex: merge glibc changes
87932         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
87933         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
87934         re_string_skip_chars, re_string_reconstruct): Likewise.
87935         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
87937 2009-01-07  Jim Meyering  <meyering@redhat.com>
87939         poll: filter through cppi
87940         * lib/poll.c: Indent cpp directives to reflect nesting.
87942 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
87944         poll: don't return uninitialized
87945         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
87947 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
87949         avoid compile failure on AIX 6.1
87950         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
87951         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
87953 2009-01-04  Jim Meyering  <meyering@redhat.com>
87955         remove duplicate inclusion of <stdio.h>
87956         * tests/test-fprintf-posix.c: Likewise.
87957         * tests/test-printf-posix.c: Likewise.
87958         * tests/test-snprintf-posix.c: Likewise.
87959         * tests/test-sprintf-posix.c: Likewise.
87960         * tests/test-vasprintf-posix.c: Likewise.
87961         * tests/test-vfprintf-posix.c: Likewise.
87962         * tests/test-vprintf-posix.c: Likewise.
87963         * tests/test-vsnprintf-posix.c: Likewise.
87964         * tests/test-vsprintf-posix.c: Likewise.
87966 2009-01-03  Jim Meyering  <meyering@redhat.com>
87968         gnulib-tool: fix sed-based filtering
87969         * gnulib-tool (func_filter_filelist): Remove extra backslash
87970         in sed_fff_filter definition.
87972 2009-01-02  Jim Meyering  <meyering@redhat.com>
87974         strftime: avoid compilation failure on Solaris 2.6
87975         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
87976         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
87977         Don't #define mbrlen or mbsinit, since now they're guaranteed to
87978         be available.  Reported by Tom G. Christensen.  Details in
87979         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
87981 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87982             Bruno Haible  <bruno@clisp.org>
87984         Speed up gnulib-tool by doing more string processing through shell
87985         built-ins.
87986         * gnulib-tool (fast_func_append): New variable.
87987         (func_remove_prefix, func_remove_suffix): New functions.
87988         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
87989         (func_filter_filelist): New function.
87990         (func_get_dependencies): Use func_remove_suffix instead of sed.
87991         (func_get_automake_snippet): Use func_filter_filelist instead of a
87992         subshell and sed invocation.
87994 2009-01-01  Bruno Haible  <bruno@clisp.org>
87996         Fix a security bug.
87997         * gnulib-tool (func_import, import, update): Don't allow the characters
87998         '"', '$', '`', '\' in macro arguments that become part of commands that
87999         are evaluated.
88001 2009-01-01  Bruno Haible  <bruno@clisp.org>
88003         * gnulib-tool (func_reset_sigpipe): Add more comments.
88005 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88007         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
88008         func_emit_tests_Makefile_am, func_import): Abort loops early if we
88009         already know the answer.
88011 2009-01-01  Jim Meyering  <meyering@redhat.com>
88013         * lib/version-etc.c (version_etc_va): Update copyright year.
88015 2008-12-30  Bruno Haible  <bruno@clisp.org>
88017         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
88018         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
88019         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
88021 2008-12-29  Eric Blake  <ebb9@byu.net>
88023         multiarch: avoid autoconf AC_REQUIRE bug
88024         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
88025         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
88026         2.63 and older.
88027         Reported by Bruno Haible, and analyzed in
88028         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
88030 2008-12-29  Bruno Haible  <bruno@clisp.org>
88032         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
88033         files in subdirectories correctly.
88034         Reported by Ralf Wildenhues.
88036 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88038         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
88039         rather than 'join FILE -', for Solaris join.
88041 2008-12-29  Bruno Haible  <bruno@clisp.org>
88043         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
88044         quoting.
88045         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
88046         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
88047         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
88048         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
88049         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
88050         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
88051         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
88052         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
88053         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
88054         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
88055         * m4/nls.m4 (AM_NLS): Likewise.
88056         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
88057         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
88058         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88059         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
88060         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
88061         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
88062         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
88063         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
88064         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
88065         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88066         * m4/xsize.m4 (gl_XSIZE): Likewise.
88067         Suggested by Jim Meyering.
88069 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88071         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
88072         * lib/parse-duration.c: use a switch instead of cascading if's.
88074 2008-12-29  Eric Blake  <ebb9@byu.net>
88076         wchar.h: supply WEOF on Irix 5.3
88077         * lib/wchar.in.h (wint_t): Also supply WEOF.
88078         * lib/wctype.in.h (wint_t): Likewise.
88079         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
88080         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
88081         Reported by Tom G. Christensen.
88083 2008-12-26  Bruno Haible  <bruno@clisp.org>
88085         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
88086         i486, i586, i686.
88088 2008-12-26  Bruno Haible  <bruno@clisp.org>
88090         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
88092 2008-12-26  Bruno Haible  <bruno@clisp.org>
88094         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
88095         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
88096         not __STDC_CONSTANT_MACROS.
88097         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
88099 2008-12-25  Bruno Haible  <bruno@clisp.org>
88101         Add support for universal builds to vasnprintf.
88102         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
88103         universal builds, guess no.
88104         * modules/vasnprintf-posix (Depends-on): Add multiarch.
88105         * modules/vasprintf-posix (Depends-on): Likewise.
88106         * modules/fprintf-posix (Depends-on): Likewise.
88107         * modules/vfprintf-posix (Depends-on): Likewise.
88108         * modules/snprintf-posix (Depends-on): Likewise.
88109         * modules/vsnprintf-posix (Depends-on): Likewise.
88110         * modules/sprintf-posix (Depends-on): Likewise.
88111         * modules/vsprintf-posix (Depends-on): Likewise.
88112         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
88113         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
88114         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
88115         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
88116         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
88117         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
88118         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
88120         Add support for universal builds to <inttypes.h>.
88121         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
88122         _SCNu64_PREFIX): In Apple
88123         universal builds, define directly, using _LP64.
88124         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
88125         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
88126         * modules/inttypes (Depends-on): Add multiarch.
88127         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88129         Add support for universal builds to <stdint.h>.
88130         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
88131         universal builds, define directly, using _LP64.
88132         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
88133         Apple universal builds, don't test for the size and suffix of ptrdiff_t
88134         and size_t.
88135         * modules/stdint (Depends-on): Add multiarch.
88136         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
88138         New module 'multiarch'.
88139         * modules/multiarch: New file.
88140         * m4/multiarch.m4: New file.
88142 2008-12-25  Bruno Haible  <bruno@clisp.org>
88144         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
88146 2008-12-25  Bruno Haible  <bruno@clisp.org>
88148         * modules/btowc (License): Relicense under LGPLv2+.
88149         * modules/mbsinit (License): Likewise.
88150         * modules/mbrtowc (License): Likewise.
88151         * modules/wcrtomb (License): Likewise.
88152         * modules/streq (License): Likewise.
88153         Reported by David Lutterkort <lutter@redhat.com>.
88155 2008-12-23  Bruno Haible  <bruno@clisp.org>
88157         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
88159 2008-12-23  Bruno Haible  <bruno@clisp.org>
88161         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
88162         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
88163         GETADDRINFO_LIB, not in LIBS.
88164         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
88165         * modules/canon-host (Link): Likewise.
88166         * NEWS: Mention the change.
88167         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
88168         GETADDRINFO_LIB.
88170 2008-12-22  Bruno Haible  <bruno@clisp.org>
88172         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
88173         * doc/posix-functions/iswalpha_l.texi: Likewise.
88174         * doc/posix-functions/iswblank_l.texi: Likewise.
88175         * doc/posix-functions/iswcntrl_l.texi: Likewise.
88176         * doc/posix-functions/iswctype_l.texi: Likewise.
88177         * doc/posix-functions/iswdigit_l.texi: Likewise.
88178         * doc/posix-functions/iswgraph_l.texi: Likewise.
88179         * doc/posix-functions/iswlower_l.texi: Likewise.
88180         * doc/posix-functions/iswprint_l.texi: Likewise.
88181         * doc/posix-functions/iswpunct_l.texi: Likewise.
88182         * doc/posix-functions/iswspace_l.texi: Likewise.
88183         * doc/posix-functions/iswupper_l.texi: Likewise.
88184         * doc/posix-functions/iswxdigit_l.texi: Likewise.
88185         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
88186         * doc/posix-functions/open_wmemstream.texi: Likewise.
88187         * doc/posix-functions/swscanf.texi: Likewise.
88188         * doc/posix-functions/towctrans_l.texi: Likewise.
88189         * doc/posix-functions/towlower.texi: Likewise.
88190         * doc/posix-functions/towlower_l.texi: Likewise.
88191         * doc/posix-functions/towupper.texi: Likewise.
88192         * doc/posix-functions/towupper_l.texi: Likewise.
88193         * doc/posix-functions/vfwprintf.texi: Likewise.
88194         * doc/posix-functions/vfwscanf.texi: Likewise.
88195         * doc/posix-functions/vswscanf.texi: Likewise.
88196         * doc/posix-functions/vwprintf.texi: Likewise.
88197         * doc/posix-functions/vwscanf.texi: Likewise.
88198         * doc/posix-functions/wcpcpy.texi: Likewise.
88199         * doc/posix-functions/wcpncpy.texi: Likewise.
88200         * doc/posix-functions/wcscasecmp.texi: Likewise.
88201         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
88202         * doc/posix-functions/wcscoll_l.texi: Likewise.
88203         * doc/posix-functions/wcsdup.texi: Likewise.
88204         * doc/posix-functions/wcsncasecmp.texi: Likewise.
88205         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
88206         * doc/posix-functions/wcsnlen.texi: Likewise.
88207         * doc/posix-functions/wcsnrtombs.texi: Likewise.
88208         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
88209         * doc/posix-functions/wctrans_l.texi: Likewise.
88210         * doc/posix-functions/wctype_l.texi: Likewise.
88211         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
88212         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
88213         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
88214         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
88215         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
88216         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
88217         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
88218         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
88219         * doc/glibc-functions/wcschrnul.texi: Likewise.
88220         * doc/glibc-functions/wcsftime_l.texi: Likewise.
88221         * doc/glibc-functions/wcstod_l.texi: Likewise.
88222         * doc/glibc-functions/wcstof_l.texi: Likewise.
88223         * doc/glibc-functions/wcstol_l.texi: Likewise.
88224         * doc/glibc-functions/wcstold_l.texi: Likewise.
88225         * doc/glibc-functions/wcstoll_l.texi: Likewise.
88226         * doc/glibc-functions/wcstoq.texi: Likewise.
88227         * doc/glibc-functions/wcstoul_l.texi: Likewise.
88228         * doc/glibc-functions/wcstoull_l.texi: Likewise.
88229         * doc/glibc-functions/wcstouq.texi: Likewise.
88230         * doc/glibc-functions/wmempcpy.texi: Likewise.
88232 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
88233             Eric Blake  <ebb9@byu.net>
88234             Paolo Bonzini  <bonzini@gnu.org>
88235             Bruno Haible  <bruno@clisp.org>
88237         Make c-stack work on Haiku.
88238         * lib/c-stack.c (SA_ONSTACK): Define fallback.
88239         (c_stack_action): Use SA_ONSTACK flag.
88241 2008-12-22  Bruno Haible  <bruno@clisp.org>
88243         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
88245 2008-12-22  Bruno Haible  <bruno@clisp.org>
88247         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
88248         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
88249         being overridden.
88250         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
88251         New macros.
88252         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
88253         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
88254         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
88255         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
88257 2008-12-22  Bruno Haible  <bruno@clisp.org>
88259         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
88260         from test code.
88262 2008-12-22  Eric Blake  <ebb9@byu.net>
88264         Avoid gcc warnings on cygwin.
88265         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
88266         Avoid unused variable.
88267         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
88268         Likewise.
88270 2008-12-22  Bruno Haible  <bruno@clisp.org>
88272         Remove HAVE_MBRTOWC conditionals.
88273         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
88274         (mbscasecmp): Assume mbrtowc function.
88275         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
88276         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
88277         * lib/mbschr.c: Include mbuiter.h unconditionally.
88278         (mbschr): Assume mbrtowc function.
88279         * lib/mbscspn.c: Include mbuiter.h unconditionally.
88280         (mbscspn): Assume mbrtowc function.
88281         * lib/mbslen.c: Include mbuiter.h unconditionally.
88282         (mbslen): Assume mbrtowc function.
88283         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
88284         (mbsncasecmp): Assume mbrtowc function.
88285         * lib/mbsnlen.c: Include mbiter.h unconditionally.
88286         (mbsnlen): Assume mbrtowc function.
88287         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
88288         (mbspbrk): Assume mbrtowc function.
88289         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
88290         (mbspcasecmp): Assume mbrtowc function.
88291         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
88292         (mbsrchr): Assume mbrtowc function.
88293         * lib/mbssep.c: Include mbuiter.h unconditionally.
88294         (mbssep): Assume mbrtowc function.
88295         * lib/mbsspn.c: Include mbuiter.h unconditionally.
88296         (mbsspn): Assume mbrtowc function.
88297         * lib/mbsstr.c: Include mbuiter.h unconditionally.
88298         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
88299         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
88300         (mbstok_r): Assume mbrtowc function.
88301         * lib/propername.c: Include mbuiter.h unconditionally.
88302         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
88303         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
88304         (trim2): Assume mbrtowc function.
88305         * lib/mbswidth.c (mbsinit): Remove fallback definition.
88306         (mbsnwidth): Assume mbrtowc function.
88307         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
88308         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
88309         fallback definitions.
88310         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
88312 2008-12-22  Bruno Haible  <bruno@clisp.org>
88314         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
88316 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
88318         * modules/regex: Request emulations for the mb*/wc* functions we need.
88319         * m4/regex.m4: Don't look for those functions here.
88320         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
88322 2008-12-22  Bruno Haible  <bruno@clisp.org>
88324         * modules/fnmatch (Depends-on): Remove duplicated dependency.
88326 2008-12-21  Bruno Haible  <bruno@clisp.org>
88328         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
88329         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
88330         (Include): Remove conditionalization.
88331         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
88332         (Include): Remove conditionalization.
88333         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
88334         (Include): Remove conditionalization.
88335         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
88336         * m4/mbfile.m4 (gl_MBFILE): Likewise.
88337         * NEWS: Mention the change.
88338         Reported by Alan Hourihane <alanh@fairlite.co.uk>
88339         via Sergey Poznyakoff <gray@gnu.org.ua>.
88341 2008-12-21  Bruno Haible  <bruno@clisp.org>
88343         * MODULES.html.sh (Extended multibyte and wide character utilities
88344         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
88345         wcrtomb, wcsrtombs.
88346         (Support for systems lacking POSIX:2008): Add accept, bind, close,
88347         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
88348         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
88349         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
88351 2008-12-21  Bruno Haible  <bruno@clisp.org>
88353         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
88355 2008-12-21  Bruno Haible  <bruno@clisp.org>
88357         * modules/wcsnrtombs-tests: New file.
88358         * tests/test-wcsnrtombs1.sh: New file.
88359         * tests/test-wcsnrtombs2.sh: New file.
88360         * tests/test-wcsnrtombs3.sh: New file.
88361         * tests/test-wcsnrtombs4.sh: New file.
88362         * tests/test-wcsnrtombs.c: New file.
88364         New module 'wcsnrtombs'.
88365         * lib/wchar.in.h (wcsnrtombs): New declaration.
88366         * lib/wcsnrtombs.c: New file.
88367         * lib/wcsrtombs-state.c: New file.
88368         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
88369         (internal_state): Remove variable.
88370         * m4/wcsnrtombs.m4: New file.
88371         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
88372         compilation units.
88373         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
88374         HAVE_WCSNRTOMBS.
88375         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
88376         HAVE_WCSNRTOMBS.
88377         * modules/wcsnrtombs: New file.
88378         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
88379         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
88381 2008-12-21  Bruno Haible  <bruno@clisp.org>
88383         * modules/wcsrtombs-tests: New file.
88384         * tests/test-wcsrtombs1.sh: New file.
88385         * tests/test-wcsrtombs2.sh: New file.
88386         * tests/test-wcsrtombs3.sh: New file.
88387         * tests/test-wcsrtombs4.sh: New file.
88388         * tests/test-wcsrtombs.c: New file.
88390         New module 'wcsrtombs'.
88391         * lib/wchar.in.h (wcsrtombs): New declaration.
88392         * lib/wcsrtombs.c: New file.
88393         * m4/wcsrtombs.m4: New file.
88394         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
88395         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88396         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
88397         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
88398         * modules/wcsrtombs: New file.
88399         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
88400         bugs.
88402 2008-12-21  Bruno Haible  <bruno@clisp.org>
88404         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
88405         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
88406         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
88407         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
88408         if not correct.
88409         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
88410         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
88411         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88412         m4/locale-zh.m4, m4/codeset.m4.
88413         * doc/posix-functions/wcrtomb.texi: Document the bug.
88415 2008-12-21  Bruno Haible  <bruno@clisp.org>
88417         Work around a btowc() bug on IRIX 6.5.
88418         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
88419         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
88420         REPLACE_WTOBC if not.
88421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
88422         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
88423         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
88425 2008-12-21  Bruno Haible  <bruno@clisp.org>
88427         * modules/wcrtomb-tests: New file.
88428         * tests/test-wcrtomb.sh: New file.
88429         * tests/test-wcrtomb.c: New file.
88431         New module 'wcrtomb'.
88432         * lib/wchar.in.h (wcrtomb): New declaration.
88433         * lib/wcrtomb.c: New file.
88434         * m4/wcrtomb.m4: New file.
88435         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
88436         HAVE_WCRTOMB.
88437         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
88438         HAVE_WCRTOMB.
88439         * modules/wcrtomb: New file.
88440         * doc/posix-functions/wcrtomb.texi: Mention the new module.
88442 2008-12-21  Bruno Haible  <bruno@clisp.org>
88444         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
88445         * modules/mbsrtowcs (Files): Likewise.
88446         * modules/wctob (Files): Likewise.
88447         * modules/c-strcase-tests (Files): Likewise.
88448         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
88449         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
88450         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
88451         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
88452         * modules/vasnprintf-posix-tests (Files): Likewise.
88454 2008-12-21  William Pursell  <bill.pursell@gmail.com>
88456         gitlog-to-changelog: pass all command-line arguments to git-log
88457         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
88458         it is sometimes convenient to filter the commits in various ways.
88459         gitlog-to-changelog only allows --since to specify a start date,
88460         but git-log itself supports many other filtering mechanisms.
88461         At the moment, I want to filter by branch name.  Rather than
88462         adding a --branch option to gitlog-to-changelog, it seems more
88463         flexible to simply pass all options directly to git-log and let
88464         git do the work.  Notice that this effectively makes --since a
88465         redundant option for gitlog-to-changelog, but removing it would
88466         require current usage to change since calls would then require
88467         an additional '--'.
88469 2008-12-21  Bruno Haible  <bruno@clisp.org>
88471         * modules/mbsnrtowcs-tests: New file.
88472         * tests/test-mbsnrtowcs1.sh: New file.
88473         * tests/test-mbsnrtowcs2.sh: New file.
88474         * tests/test-mbsnrtowcs3.sh: New file.
88475         * tests/test-mbsnrtowcs4.sh: New file.
88476         * tests/test-mbsnrtowcs.c: New file.
88478         New module 'mbsnrtowcs'.
88479         * lib/wchar.in.h (mbsnrtowcs): New declaration.
88480         * lib/mbsnrtowcs.c: New file.
88481         * lib/mbsrtowcs-state.c: New file.
88482         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
88483         (internal_state): Remove variable.
88484         * m4/mbsnrtowcs.m4: New file.
88485         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
88486         compilation units.
88487         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
88488         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88489         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
88490         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
88491         * modules/mbsnrtowcs: New file.
88492         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
88493         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
88494         portability problem.
88496 2008-12-21  Bruno Haible  <bruno@clisp.org>
88498         Work around mbsrtowcs bug.
88499         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
88500         (gl_FUNC_MBSRTOWCS): Invoke it.
88501         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88502         m4/locale-zh.m4.
88503         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
88505 2008-12-21  Bruno Haible  <bruno@clisp.org>
88507         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
88509 2008-12-21  Bruno Haible  <bruno@clisp.org>
88511         Update doc for AIX.
88512         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
88513         16-bit wchar_t type.
88514         * doc/posix-functions/btowc.texi: Likewise.
88515         * doc/posix-functions/fgetwc.texi: Likewise.
88516         * doc/posix-functions/fgetws.texi: Likewise.
88517         * doc/posix-functions/fputwc.texi: Likewise.
88518         * doc/posix-functions/fputws.texi: Likewise.
88519         * doc/posix-functions/fwide.texi: Likewise.
88520         * doc/posix-functions/fwprintf.texi: Likewise.
88521         * doc/posix-functions/fwscanf.texi: Likewise.
88522         * doc/posix-functions/getwchar.texi: Likewise.
88523         * doc/posix-functions/getwc.texi: Likewise.
88524         * doc/posix-functions/iswalnum.texi: Likewise.
88525         * doc/posix-functions/iswalpha.texi: Likewise.
88526         * doc/posix-functions/iswblank.texi: Likewise.
88527         * doc/posix-functions/iswcntrl.texi: Likewise.
88528         * doc/posix-functions/iswctype.texi: Likewise.
88529         * doc/posix-functions/iswdigit.texi: Likewise.
88530         * doc/posix-functions/iswgraph.texi: Likewise.
88531         * doc/posix-functions/iswlower.texi: Likewise.
88532         * doc/posix-functions/iswprint.texi: Likewise.
88533         * doc/posix-functions/iswpunct.texi: Likewise.
88534         * doc/posix-functions/iswspace.texi: Likewise.
88535         * doc/posix-functions/iswupper.texi: Likewise.
88536         * doc/posix-functions/iswxdigit.texi: Likewise.
88537         * doc/posix-functions/mbrtowc.texi: Likewise.
88538         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88539         * doc/posix-functions/mbstowcs.texi: Likewise.
88540         * doc/posix-functions/mbtowc.texi: Likewise.
88541         * doc/posix-functions/putwchar.texi: Likewise.
88542         * doc/posix-functions/putwc.texi: Likewise.
88543         * doc/posix-functions/swprintf.texi: Likewise.
88544         * doc/posix-functions/tolower.texi: Likewise.
88545         * doc/posix-functions/toupper.texi: Likewise.
88546         * doc/posix-functions/towctrans.texi: Likewise.
88547         * doc/posix-functions/ungetwc.texi: Likewise.
88548         * doc/posix-functions/vswprintf.texi: Likewise.
88549         * doc/posix-functions/wcrtomb.texi: Likewise.
88550         * doc/posix-functions/wcscat.texi: Likewise.
88551         * doc/posix-functions/wcschr.texi: Likewise.
88552         * doc/posix-functions/wcscmp.texi: Likewise.
88553         * doc/posix-functions/wcscoll.texi: Likewise.
88554         * doc/posix-functions/wcscpy.texi: Likewise.
88555         * doc/posix-functions/wcscspn.texi: Likewise.
88556         * doc/posix-functions/wcsftime.texi: Likewise.
88557         * doc/posix-functions/wcslen.texi: Likewise.
88558         * doc/posix-functions/wcsncat.texi: Likewise.
88559         * doc/posix-functions/wcsncmp.texi: Likewise.
88560         * doc/posix-functions/wcsncpy.texi: Likewise.
88561         * doc/posix-functions/wcspbrk.texi: Likewise.
88562         * doc/posix-functions/wcsrchr.texi: Likewise.
88563         * doc/posix-functions/wcsrtombs.texi: Likewise.
88564         * doc/posix-functions/wcsspn.texi: Likewise.
88565         * doc/posix-functions/wcsstr.texi: Likewise.
88566         * doc/posix-functions/wcstod.texi: Likewise.
88567         * doc/posix-functions/wcstof.texi: Likewise.
88568         * doc/posix-functions/wcstoimax.texi: Likewise.
88569         * doc/posix-functions/wcstok.texi: Likewise.
88570         * doc/posix-functions/wcstold.texi: Likewise.
88571         * doc/posix-functions/wcstoll.texi: Likewise.
88572         * doc/posix-functions/wcstol.texi: Likewise.
88573         * doc/posix-functions/wcstombs.texi: Likewise.
88574         * doc/posix-functions/wcstoull.texi: Likewise.
88575         * doc/posix-functions/wcstoul.texi: Likewise.
88576         * doc/posix-functions/wcstoumax.texi: Likewise.
88577         * doc/posix-functions/wcswidth.texi: Likewise.
88578         * doc/posix-functions/wcsxfrm.texi: Likewise.
88579         * doc/posix-functions/wctob.texi: Likewise.
88580         * doc/posix-functions/wctomb.texi: Likewise.
88581         * doc/posix-functions/wctrans.texi: Likewise.
88582         * doc/posix-functions/wctype.texi: Likewise.
88583         * doc/posix-functions/wcwidth.texi: Likewise.
88584         * doc/posix-functions/wmemchr.texi: Likewise.
88585         * doc/posix-functions/wmemcmp.texi: Likewise.
88586         * doc/posix-functions/wmemcpy.texi: Likewise.
88587         * doc/posix-functions/wmemmove.texi: Likewise.
88588         * doc/posix-functions/wmemset.texi: Likewise.
88589         * doc/posix-functions/wprintf.texi: Likewise.
88590         * doc/posix-functions/wscanf.texi: Likewise.
88592 2008-12-21  Bruno Haible  <bruno@clisp.org>
88594         Update doc for HP-UX 11.11.
88595         * doc/posix-functions/btowc.texi: Clarify that the function is missing
88596         in HP-UX version 11.00, not in all versions of HP-UX 11.
88597         * doc/posix-functions/fwide.texi: Likewise.
88598         * doc/posix-functions/fwprintf.texi: Likewise.
88599         * doc/posix-functions/fwscanf.texi: Likewise.
88600         * doc/posix-functions/inet_ntop.texi: Likewise.
88601         * doc/posix-functions/inet_pton.texi: Likewise.
88602         * doc/posix-functions/mbrlen.texi: Likewise.
88603         * doc/posix-functions/mbrtowc.texi: Likewise.
88604         * doc/posix-functions/mbsinit.texi: Likewise.
88605         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88606         * doc/posix-functions/swprintf.texi: Likewise.
88607         * doc/posix-functions/swscanf.texi: Likewise.
88608         * doc/posix-functions/towctrans.texi: Likewise.
88609         * doc/posix-functions/vfwprintf.texi: Likewise.
88610         * doc/posix-functions/vswprintf.texi: Likewise.
88611         * doc/posix-functions/vwprintf.texi: Likewise.
88612         * doc/posix-functions/wcrtomb.texi: Likewise.
88613         * doc/posix-functions/wcsrtombs.texi: Likewise.
88614         * doc/posix-functions/wcsstr.texi: Likewise.
88615         * doc/posix-functions/wctob.texi: Likewise.
88616         * doc/posix-functions/wctrans.texi: Likewise.
88617         * doc/posix-functions/wmemchr.texi: Likewise.
88618         * doc/posix-functions/wmemcmp.texi: Likewise.
88619         * doc/posix-functions/wmemcpy.texi: Likewise.
88620         * doc/posix-functions/wmemmove.texi: Likewise.
88621         * doc/posix-functions/wmemset.texi: Likewise.
88622         * doc/posix-functions/wprintf.texi: Likewise.
88623         * doc/posix-functions/wscanf.texi: Likewise.
88625 2008-12-21  Bruno Haible  <bruno@clisp.org>
88627         Work around a portability problem.
88628         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
88629         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
88631 2008-12-20  Bruno Haible  <bruno@clisp.org>
88633         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
88634         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
88635         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
88636         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
88637         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
88639         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
88640         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
88641         set.
88642         (GNULIB_defined_mbstate_t): New macro.
88643         (mbsinit): Redefine if REPLACE_MBSINIT is set.
88644         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
88645         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
88646         reuses the system's mbrtowc function but works around the bugs.
88647         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
88648         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
88649         macros.
88650         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
88651         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
88652         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
88653         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
88654         REPLACE_MBSINIT if mbsinit needs to be overridden.
88655         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
88656         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88657         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
88658         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88659         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88660         m4/locale-zh.m4.
88661         (Depends): Add mbsinit.
88662         * modules/mbsinit (Depends): Add mbrtowc.
88663         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
88665 2008-12-20  Bruno Haible  <bruno@clisp.org>
88667         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
88668         so that there are no conversion errors on AIX.
88669         * tests/test-mbsrtowcs.c (main): LIkewise.
88671 2008-12-20  Bruno Haible  <bruno@clisp.org>
88673         Work around wctob bug on Solaris <= 9.
88674         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
88675         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
88676         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
88677         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
88678         * modules/wctob (Files): Add m4/locale-fr.m4.
88679         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
88681 2008-12-20  Bruno Haible  <bruno@clisp.org>
88683         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
88684         /dev/null.
88685         * tests/test-select-in.sh: Likewise.
88686         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
88688 2008-12-20  Bruno Haible  <bruno@clisp.org>
88690         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
88691         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
88692         Cygwin 1.5.x.
88694 2008-12-20  Bruno Haible  <bruno@clisp.org>
88696         Ensure mbstate_t is defined on HP-UX 11.11.
88697         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
88698         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
88699         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
88700         AC_USE_SYSTEM_EXTENSIONS.
88701         * modules/fnmatch (Depends-on): Add extensions.
88702         * modules/mbrlen (Depends-on): Likewise.
88703         * modules/mbrtowc (Depends-on): Likewise.
88704         * modules/mbsinit (Depends-on): Likewise.
88705         * modules/mbsrtowcs (Depends-on): Likewise.
88706         * modules/mbswidth (Depends-on): Likewise.
88707         * modules/quotearg (Depends-on): Likewise.
88708         * modules/strftime (Depends-on): Likewise.
88710 2008-12-20  Bruno Haible  <bruno@clisp.org>
88712         Ensure wctob is declared on IRIX 6.5.
88713         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
88714         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
88715         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
88716         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
88717         of HAVE_WCTOB.
88718         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
88719         HAVE_WCTOB.
88720         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
88722 2008-12-19  Bruno Haible  <bruno@clisp.org>
88724         * modules/mbsrtowcs-tests: New file.
88725         * tests/test-mbsrtowcs1.sh: New file.
88726         * tests/test-mbsrtowcs2.sh: New file.
88727         * tests/test-mbsrtowcs3.sh: New file.
88728         * tests/test-mbsrtowcs4.sh: New file.
88729         * tests/test-mbsrtowcs.c: New file.
88731         New module 'mbsrtowcs'.
88732         * lib/wchar.in.h (mbsrtowcs): New declaration.
88733         * lib/mbsrtowcs.c: New file.
88734         * m4/mbsrtowcs.m4: New file.
88735         * modules/mbsrtowcs: New file.
88736         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
88737         HAVE_MBSRTOWCS.
88738         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
88739         HAVE_MBSRTOWCS.
88740         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
88742 2008-12-19  Bruno Haible  <bruno@clisp.org>
88744         New module 'mbrlen'.
88745         * lib/wchar.in.h (mbrlen): New declaration.
88746         * lib/mbrlen.c: New file.
88747         * m4/mbrlen.m4: New file.
88748         * modules/mbrlen: New file.
88749         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
88750         HAVE_MBRLEN.
88751         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
88752         HAVE_MBRLEN.
88753         * doc/posix-functions/mbrlen.texi: Document the new module.
88755 2008-12-19  Bruno Haible  <bruno@clisp.org>
88757         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
88758         * modules/mbrtowc (Depends-on): Add verify.
88759         Suggested by Paul Eggert.
88761 2008-12-18  Bruno Haible  <bruno@clisp.org>
88763         * modules/mbsinit-tests: New file.
88764         * tests/test-mbsinit.sh: New file.
88765         * tests/test-mbsinit.c: New file.
88767 2008-12-18  Bruno Haible  <bruno@clisp.org>
88769         * modules/mbrtowc-tests: New file.
88770         * tests/test-mbrtowc1.sh: New file.
88771         * tests/test-mbrtowc2.sh: New file.
88772         * tests/test-mbrtowc3.sh: New file.
88773         * tests/test-mbrtowc4.sh: New file.
88774         * tests/test-mbrtowc.c: New file.
88776         New module 'mbrtowc'.
88777         * lib/wchar.in.h (mbstate_t): Override when the system does not have
88778         mbsinit and mbrtowc.
88779         (mbrtowc): New declaration.
88780         * lib/mbrtowc.c: New file.
88781         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
88782         * modules/mbrtowc: New file.
88783         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
88784         HAVE_MBRTOWC.
88785         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
88786         HAVE_MBRTOWC.
88787         * doc/posix-functions/mbrtowc.texi: Document the new module.
88789 2008-12-18  Bruno Haible  <bruno@clisp.org>
88791         New module 'wctob'.
88792         * lib/wchar.in.h (wctob): New declaration.
88793         * lib/wctob.c: New file.
88794         * m4/wctob.m4: New file.
88795         * modules/wctob: New file.
88796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
88797         HAVE_WCTOB.
88798         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
88799         * doc/posix-functions/wctob.texi: Document the new module.
88801 2008-12-18  Bruno Haible  <bruno@clisp.org>
88803         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
88804         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
88806 2008-12-18  Simon Josefsson  <simon@josefsson.org>
88808         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
88809         G. Christensen" <tgc@jupiterrise.com>.
88811         * lib/flock.c: Need to include errno.h.  Reported by "Tom
88812         G. Christensen" <tgc@jupiterrise.com>.
88814         * lib/flock.c: Need to include string.h.  Reported by "Tom
88815         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
88816         <ebb9@byu.net>.
88818 2008-12-18  Bruno Haible  <bruno@clisp.org>
88820         * m4/locale-ja.m4: New file, from GNU gettext.
88822 2008-12-17  Bruno Haible  <bruno@clisp.org>
88824         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
88825         Suggested by Eric Blake.
88827 2008-12-17  Bruno Haible  <bruno@clisp.org>
88829         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
88831 2008-12-17  Bruno Haible  <bruno@clisp.org>
88833         * lib/mbsinit.c: Include verify.h. Verify an assumption.
88834         * modules/mbsinit (Depends-on): Add verify.
88835         Suggested by Paul Eggert.
88837 2008-12-17  Bruno Haible  <bruno@clisp.org>
88839         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
88840         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
88841         gl_FUNC_MBRTOWC.
88842         * m4/mbiter.m4 (gl_MBITER): LIkewise.
88843         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
88844         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
88845         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
88846         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
88847         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
88848         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
88849         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
88850         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
88851         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
88852         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
88853         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
88854         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
88855         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
88856         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
88857         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
88858         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
88859         * modules/trim (configure.ac): Likewise.
88861 2008-12-17  Bruno Haible  <bruno@clisp.org>
88863         * modules/btowc-tests: New file.
88864         * tests/test-btowc1.sh: New file.
88865         * tests/test-btowc2.sh: New file.
88866         * tests/test-btowc.c: New file.
88868         New module 'btowc'.
88869         * lib/wchar.in.h (btowc): New declaration.
88870         * lib/btowc.c: New file.
88871         * m4/btowc.m4: New file.
88872         * modules/btowc: New file.
88873         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
88874         HAVE_BTOWC.
88875         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
88876         * doc/posix-functions/btowc.texi: Document the new module.
88878 2008-12-17  Bruno Haible  <bruno@clisp.org>
88880         New module 'mbsinit'.
88881         * lib/wchar.in.h (mbsinit): New declaration.
88882         * lib/mbsinit.c: New file.
88883         * m4/mbsinit.m4: New file.
88884         * modules/mbsinit: New file.
88885         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
88886         HAVE_MBSINIT.
88887         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
88888         HAVE_MBSINIT.
88889         * doc/posix-functions/mbsinit.texi: Document the new module.
88891 2008-12-16  Bruno Haible  <bruno@clisp.org>
88893         * lib/unistd.in.h: Add comment.
88894         * tests/test-environ.c: Don't include <stdlib.h>.
88896 2008-12-16  Bruno Haible  <bruno@clisp.org>
88898         * lib/parse-duration.h (parse_duration): Document return value
88899         convention.
88900         * lib/parse-duration.c: Include specification header first. Add
88901         comments.
88902         (_): Remove macro.
88903         (parse_year_month_day, parse_hour_minute_second): Move side effects
88904         outside of strchr call.
88905         (parse_non_iso8601): Move side effects outside of isspace call.
88906         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
88907         call.
88909 2008-12-16  Bruno Haible  <bruno@clisp.org>
88911         * tests/test-parse-duration.sh: Produce no output when the test
88912         succeeds.
88914 2008-12-16  Bruno Haible  <bruno@clisp.org>
88916         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
88917         expressions.
88919 2008-12-15  Bruno Haible  <bruno@clisp.org>
88921         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
88922         * doc/glibc-functions/flistxattr.texi: Likewise.
88923         * doc/glibc-functions/fopencookie.texi: Likewise.
88924         * doc/glibc-functions/fremovexattr.texi: Likewise.
88925         * doc/glibc-functions/fsetxattr.texi: Likewise.
88926         * doc/glibc-functions/getxattr.texi: Likewise.
88927         * doc/glibc-functions/lgetxattr.texi: Likewise.
88928         * doc/glibc-functions/listxattr.texi: Likewise.
88929         * doc/glibc-functions/llistxattr.texi: Likewise.
88930         * doc/glibc-functions/lremovexattr.texi: Likewise.
88931         * doc/glibc-functions/lsetxattr.texi: Likewise.
88932         * doc/glibc-functions/removexattr.texi: Likewise.
88933         * doc/glibc-functions/setxattr.texi: Likewise.
88934         * doc/posix-functions/open_memstream.texi: Likewise.
88936 2008-12-15  Eric Blake  <ebb9@byu.net>
88938         Update doc for cygwin 1.7.
88939         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
88940         functions.
88941         * doc/posix-functions/fchmodat.texi: Likewise.
88942         * doc/posix-functions/fchownat.texi: Likewise.
88943         * doc/posix-functions/fdopendir.texi: Likewise.
88944         * doc/posix-functions/fmemopen.texi: Likewise.
88945         * doc/posix-functions/freeaddrinfo.texi: Likewise.
88946         * doc/posix-functions/fstatat.texi: Likewise.
88947         * doc/posix-functions/futimens.texi: Likewise.
88948         * doc/posix-functions/gai_strerror.texi: Likewise.
88949         * doc/posix-functions/getaddrinfo.texi: Likewise.
88950         * doc/posix-functions/getnameinfo.texi: Likewise.
88951         * doc/posix-functions/if_freenameindex.texi: Likewise.
88952         * doc/posix-functions/if_indextoname.texi: Likewise.
88953         * doc/posix-functions/if_nameindex.texi: Likewise.
88954         * doc/posix-functions/if_nametoindex.texi: Likewise.
88955         * doc/posix-functions/insque.texi: Likewise.
88956         * doc/posix-functions/linkat.texi: Likewise.
88957         * doc/posix-functions/llrint.texi: Likewise.
88958         * doc/posix-functions/llrintf.texi: Likewise.
88959         * doc/posix-functions/llrintl.texi: Likewise.
88960         * doc/posix-functions/lockf.texi: Likewise.
88961         * doc/posix-functions/lrintl.texi: Likewise.
88962         * doc/posix-functions/mkdirat.texi: Likewise.
88963         * doc/posix-functions/mkfifoat.texi: Likewise.
88964         * doc/posix-functions/mknodat.texi: Likewise.
88965         * doc/posix-functions/mq_close.texi: Likewise.
88966         * doc/posix-functions/mq_getattr.texi: Likewise.
88967         * doc/posix-functions/mq_notify.texi: Likewise.
88968         * doc/posix-functions/mq_open.texi: Likewise.
88969         * doc/posix-functions/mq_receive.texi: Likewise.
88970         * doc/posix-functions/mq_send.texi: Likewise.
88971         * doc/posix-functions/mq_setattr.texi: Likewise.
88972         * doc/posix-functions/mq_timedreceive.texi: Likewise.
88973         * doc/posix-functions/mq_timedsend.texi: Likewise.
88974         * doc/posix-functions/mq_unlink.texi: Likewise.
88975         * doc/posix-functions/open_memstream.texi: Likewise.
88976         * doc/posix-functions/openat.texi: Likewise.
88977         * doc/posix-functions/posix_fadvise.texi: Likewise.
88978         * doc/posix-functions/posix_fallocate.texi: Likewise.
88979         * doc/posix-functions/posix_madvise.texi: Likewise.
88980         * doc/posix-functions/posix_memalign.texi: Likewise.
88981         * doc/posix-functions/posix_openpt.texi: Likewise.
88982         * doc/posix-functions/readlinkat.texi: Likewise.
88983         * doc/posix-functions/remque.texi: Likewise.
88984         * doc/posix-functions/renameat.texi: Likewise.
88985         * doc/posix-functions/rintl.texi: Likewise.
88986         * doc/posix-functions/sem_unlink.texi: Likewise.
88987         * doc/posix-functions/shm_open.texi: Likewise.
88988         * doc/posix-functions/shm_unlink.texi: Likewise.
88989         * doc/posix-functions/signgam.texi: Likewise.
88990         * doc/posix-functions/sigset.texi: Likewise.
88991         * doc/posix-functions/stpcpy.texi: Likewise.
88992         * doc/posix-functions/stpncpy.texi: Likewise.
88993         * doc/posix-functions/strerror.texi: Likewise.
88994         * doc/posix-functions/strtod.texi: Likewise.
88995         * doc/posix-functions/symlinkat.texi: Likewise.
88996         * doc/posix-functions/unlinkat.texi: Likewise.
88997         * doc/posix-functions/utimensat.texi: Likewise.
88998         * doc/glibc-functions/bindresvport.texi: Likewise.
88999         * doc/glibc-functions/dn_expand.texi: Likewise.
89000         * doc/glibc-functions/exp10.texi: Likewise.
89001         * doc/glibc-functions/exp10f.texi: Likewise.
89002         * doc/glibc-functions/fgetxattr.texi: Likewise.
89003         * doc/glibc-functions/flistxattr.texi: Likewise.
89004         * doc/glibc-functions/fopencookie.texi: Likewise.
89005         * doc/glibc-functions/freeifaddrs.texi: Likewise.
89006         * doc/glibc-functions/fremovexattr.texi: Likewise.
89007         * doc/glibc-functions/fsetxattr.texi: Likewise.
89008         * doc/glibc-functions/getifaddrs.texi: Likewise.
89009         * doc/glibc-functions/getxattr.texi: Likewise.
89010         * doc/glibc-functions/lgetxattr.texi: Likewise.
89011         * doc/glibc-functions/listxattr.texi: Likewise.
89012         * doc/glibc-functions/llistxattr.texi: Likewise.
89013         * doc/glibc-functions/lremovexattr.texi: Likewise.
89014         * doc/glibc-functions/lsetxattr.texi: Likewise.
89015         * doc/glibc-functions/pow10.texi: Likewise.
89016         * doc/glibc-functions/pow10f.texi: Likewise.
89017         * doc/glibc-functions/rcmd_af.texi: Likewise.
89018         * doc/glibc-functions/removexattr.texi: Likewise.
89019         * doc/glibc-functions/res_init.texi: Likewise.
89020         * doc/glibc-functions/res_mkquery.texi: Likewise.
89021         * doc/glibc-functions/res_query.texi: Likewise.
89022         * doc/glibc-functions/res_querydomain.texi: Likewise.
89023         * doc/glibc-functions/res_send.texi: Likewise.
89024         * doc/glibc-functions/rresvport_af.texi: Likewise.
89025         * doc/glibc-functions/setxattr.texi: Likewise.
89026         * doc/glibc-functions/strcasestr.texi: Likewise.
89028 2008-12-15  Bruno Haible  <bruno@clisp.org>
89030         Fix compilation error on OSF/1 4.0.
89031         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
89032         <sys/time.h>, simply delegate to the system header.
89033         Reported by Daniel Richard G. <oss@teragram.com>.
89035 2008-12-15  Bruno Haible  <bruno@clisp.org>
89037         * doc/posix-functions/openat.texi: Mention the 'openat' module.
89038         * doc/posix-functions/fchmodat.texi: Likewise.
89039         * doc/posix-functions/fchownat.texi: Likewise.
89040         * doc/posix-functions/fdopendir.texi: Likewise.
89041         * doc/posix-functions/fstatat.texi: Likewise.
89042         * doc/posix-functions/mkdirat.texi: Likewise.
89043         * doc/posix-functions/unlinkat.texi: Likewise.
89045 2008-12-14  Bruno Haible  <bruno@clisp.org>
89047         Update doc for POSIX:2008.
89048         * doc/posix-functions/faccessat.texi: New file.
89049         * doc/posix-functions/fchmodat.texi: New file.
89050         * doc/posix-functions/fchownat.texi: New file.
89051         * doc/posix-functions/fdopendir.texi: New file.
89052         * doc/posix-functions/fstatat.texi: New file.
89053         * doc/posix-functions/futimens.texi: New file.
89054         * doc/posix-functions/linkat.texi: New file.
89055         * doc/posix-functions/mkdirat.texi: New file.
89056         * doc/posix-functions/mkfifoat.texi: New file.
89057         * doc/posix-functions/mknodat.texi: New file.
89058         * doc/posix-functions/open_wmemstream.texi: New file.
89059         * doc/posix-functions/openat.texi: New file.
89060         * doc/posix-functions/psiginfo.texi: New file.
89061         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
89062         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
89063         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
89064         * doc/posix-functions/readlinkat.texi: New file.
89065         * doc/posix-functions/renameat.texi: New file.
89066         * doc/posix-functions/strerror_l.texi: New file.
89067         * doc/posix-functions/symlinkat.texi: New file.
89068         * doc/posix-functions/unlinkat.texi: New file.
89069         * doc/posix-functions/utimensat.texi: New file.
89070         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89072 2008-12-14  Bruno Haible  <bruno@clisp.org>
89074         Update doc for POSIX:2008.
89075         * doc/posix-functions/alphasort.texi: Renamed from
89076         doc/glibc-functions/alphasort.texi.
89077         * doc/posix-functions/dirfd.texi: Renamed from
89078         doc/glibc-functions/dirfd.texi.
89079         * doc/posix-functions/dprintf.texi: Renamed from
89080         doc/glibc-functions/dprintf.texi.
89081         * doc/posix-functions/duplocale.texi: Renamed from
89082         doc/glibc-functions/duplocale.texi.
89083         * doc/posix-functions/fexecve.texi: Renamed from
89084         doc/glibc-functions/fexecve.texi.
89085         * doc/posix-functions/fmemopen.texi: Renamed from
89086         doc/glibc-functions/fmemopen.texi.
89087         * doc/posix-functions/freelocale.texi: Renamed from
89088         doc/glibc-functions/freelocale.texi.
89089         * doc/posix-functions/getdate_err.texi: Renamed from
89090         doc/glibc-functions/getdate_err.texi.
89091         * doc/posix-functions/isalnum_l.texi: Renamed from
89092         doc/glibc-functions/isalnum_l.texi.
89093         * doc/posix-functions/isalpha_l.texi: Renamed from
89094         doc/glibc-functions/isalpha_l.texi.
89095         * doc/posix-functions/isblank_l.texi: Renamed from
89096         doc/glibc-functions/isblank_l.texi.
89097         * doc/posix-functions/iscntrl_l.texi: Renamed from
89098         doc/glibc-functions/iscntrl_l.texi.
89099         * doc/posix-functions/isdigit_l.texi: Renamed from
89100         doc/glibc-functions/isdigit_l.texi.
89101         * doc/posix-functions/isgraph_l.texi: Renamed from
89102         doc/glibc-functions/isgraph_l.texi.
89103         * doc/posix-functions/islower_l.texi: Renamed from
89104         doc/glibc-functions/islower_l.texi.
89105         * doc/posix-functions/isprint_l.texi: Renamed from
89106         doc/glibc-functions/isprint_l.texi.
89107         * doc/posix-functions/ispunct_l.texi: Renamed from
89108         doc/glibc-functions/ispunct_l.texi.
89109         * doc/posix-functions/isspace_l.texi: Renamed from
89110         doc/glibc-functions/isspace_l.texi.
89111         * doc/posix-functions/isupper_l.texi: Renamed from
89112         doc/glibc-functions/isupper_l.texi.
89113         * doc/posix-functions/iswalnum_l.texi: Renamed from
89114         doc/glibc-functions/iswalnum_l.texi.
89115         * doc/posix-functions/iswalpha_l.texi: Renamed from
89116         doc/glibc-functions/iswalpha_l.texi.
89117         * doc/posix-functions/iswblank_l.texi: Renamed from
89118         doc/glibc-functions/iswblank_l.texi.
89119         * doc/posix-functions/iswcntrl_l.texi: Renamed from
89120         doc/glibc-functions/iswcntrl_l.texi.
89121         * doc/posix-functions/iswctype_l.texi: Renamed from
89122         doc/glibc-functions/iswctype_l.texi.
89123         * doc/posix-functions/iswdigit_l.texi: Renamed from
89124         doc/glibc-functions/iswdigit_l.texi.
89125         * doc/posix-functions/iswgraph_l.texi: Renamed from
89126         doc/glibc-functions/iswgraph_l.texi.
89127         * doc/posix-functions/iswlower_l.texi: Renamed from
89128         doc/glibc-functions/iswlower_l.texi.
89129         * doc/posix-functions/iswprint_l.texi: Renamed from
89130         doc/glibc-functions/iswprint_l.texi.
89131         * doc/posix-functions/iswpunct_l.texi: Renamed from
89132         doc/glibc-functions/iswpunct_l.texi.
89133         * doc/posix-functions/iswspace_l.texi: Renamed from
89134         doc/glibc-functions/iswspace_l.texi.
89135         * doc/posix-functions/iswupper_l.texi: Renamed from
89136         doc/glibc-functions/iswupper_l.texi.
89137         * doc/posix-functions/iswxdigit_l.texi: Renamed from
89138         doc/glibc-functions/iswxdigit_l.texi.
89139         * doc/posix-functions/isxdigit_l.texi: Renamed from
89140         doc/glibc-functions/isxdigit_l.texi.
89141         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
89142         doc/glibc-functions/mbsnrtowcs.texi.
89143         * doc/posix-functions/mkdtemp.texi: Renamed from
89144         doc/glibc-functions/mkdtemp.texi.
89145         * doc/posix-functions/newlocale.texi: Renamed from
89146         doc/glibc-functions/newlocale.texi.
89147         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
89148         doc/glibc-functions/nl_langinfo_l.texi.
89149         * doc/posix-functions/open_memstream.texi: Renamed from
89150         doc/glibc-functions/open_memstream.texi.
89151         * doc/posix-functions/opterr.texi: Renamed from
89152         doc/glibc-functions/opterr.texi.
89153         * doc/posix-functions/optind.texi: Renamed from
89154         doc/glibc-functions/optind.texi.
89155         * doc/posix-functions/optopt.texi: Renamed from
89156         doc/glibc-functions/optopt.texi.
89157         * doc/posix-functions/psignal.texi: Renamed from
89158         doc/glibc-functions/psignal.texi.
89159         * doc/posix-functions/scandir.texi: Renamed from
89160         doc/glibc-functions/scandir.texi.
89161         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
89162         doc/glibc-functions/sched_get_priority_min.texi.
89163         * doc/posix-functions/signgam.texi: Renamed from
89164         doc/glibc-functions/signgam.texi.
89165         * doc/posix-functions/stpcpy.texi: Renamed from
89166         doc/glibc-functions/stpcpy.texi.
89167         * doc/posix-functions/stpncpy.texi: Renamed from
89168         doc/glibc-functions/stpncpy.texi.
89169         * doc/posix-functions/strcasecmp_l.texi: Renamed from
89170         doc/glibc-functions/strcasecmp_l.texi.
89171         * doc/posix-functions/strcoll_l.texi: Renamed from
89172         doc/glibc-functions/strcoll_l.texi.
89173         * doc/posix-functions/strfmon_l.texi: Renamed from
89174         doc/glibc-functions/strfmon_l.texi.
89175         * doc/posix-functions/strftime_l.texi: Renamed from
89176         doc/glibc-functions/strftime_l.texi.
89177         * doc/posix-functions/strncasecmp_l.texi: Renamed from
89178         doc/glibc-functions/strncasecmp_l.texi.
89179         * doc/posix-functions/strndup.texi: Renamed from
89180         doc/glibc-functions/strndup.texi.
89181         * doc/posix-functions/strnlen.texi: Renamed from
89182         doc/glibc-functions/strnlen.texi.
89183         * doc/posix-functions/strsignal.texi: Renamed from
89184         doc/glibc-functions/strsignal.texi.
89185         * doc/posix-functions/strxfrm_l.texi: Renamed from
89186         doc/glibc-functions/strxfrm_l.texi.
89187         * doc/posix-functions/timer_gettime.texi: Renamed from
89188         doc/glibc-functions/timer_gettime.texi.
89189         * doc/posix-functions/tolower_l.texi: Renamed from
89190         doc/glibc-functions/tolower_l.texi.
89191         * doc/posix-functions/toupper_l.texi: Renamed from
89192         doc/glibc-functions/toupper_l.texi.
89193         * doc/posix-functions/towctrans_l.texi: Renamed from
89194         doc/glibc-functions/towctrans_l.texi.
89195         * doc/posix-functions/towlower_l.texi: Renamed from
89196         doc/glibc-functions/towlower_l.texi.
89197         * doc/posix-functions/towupper_l.texi: Renamed from
89198         doc/glibc-functions/towupper_l.texi.
89199         * doc/posix-functions/uselocale.texi: Renamed from
89200         doc/glibc-functions/uselocale.texi.
89201         * doc/posix-functions/vdprintf.texi: Renamed from
89202         doc/glibc-functions/vdprintf.texi.
89203         * doc/posix-functions/wcpcpy.texi:
89204         Renamed from doc/glibc-functions/wcpcpy.texi.
89205         * doc/posix-functions/wcpncpy.texi: Renamed from
89206         doc/glibc-functions/wcpncpy.texi.
89207         * doc/posix-functions/wcscasecmp.texi: Renamed from
89208         doc/glibc-functions/wcscasecmp.texi.
89209         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
89210         doc/glibc-functions/wcscasecmp_l.texi.
89211         * doc/posix-functions/wcscoll_l.texi: Renamed from
89212         doc/glibc-functions/wcscoll_l.texi.
89213         * doc/posix-functions/wcsdup.texi: Renamed from
89214         doc/glibc-functions/wcsdup.texi.
89215         * doc/posix-functions/wcsncasecmp.texi: Renamed from
89216         doc/glibc-functions/wcsncasecmp.texi.
89217         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
89218         doc/glibc-functions/wcsncasecmp_l.texi.
89219         * doc/posix-functions/wcsnlen.texi: Renamed from
89220         doc/glibc-functions/wcsnlen.texi.
89221         * doc/posix-functions/wcsnrtombs.texi: Renamed from
89222         doc/glibc-functions/wcsnrtombs.texi.
89223         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
89224         doc/glibc-functions/wcsxfrm_l.texi.
89225         * doc/posix-functions/wctrans_l.texi: Renamed from
89226         doc/glibc-functions/wctrans_l.texi.
89227         * doc/posix-functions/wctype_l.texi: Renamed from
89228         doc/glibc-functions/wctype_l.texi.
89229         * doc/gnulib.texi (Function Substitutes): Add these subsections.
89230         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
89231         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
89232         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
89233         these subsections.
89234         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
89235         Remove sections.
89237 2008-12-14  Bruno Haible  <bruno@clisp.org>
89239         Update doc for POSIX:2008.
89240         * doc/posix-functions/*.texi: Update URL of POSIX specification.
89242 2008-12-14  Bruno Haible  <bruno@clisp.org>
89244         Update doc for POSIX:2008.
89245         * doc/pastposix-functions/bcmp.texi: Renamed from
89246         doc/posix-functions/bcmp.texi.
89247         * doc/pastposix-functions/bcopy.texi: Renamed from
89248         doc/posix-functions/bcopy.texi.
89249         * doc/pastposix-functions/bsd_signal.texi: Renamed from
89250         doc/posix-functions/bsd_signal.texi.
89251         * doc/pastposix-functions/bzero.texi: Renamed from
89252         doc/posix-functions/bzero.texi.
89253         * doc/pastposix-functions/ecvt.texi: Renamed from
89254         doc/posix-functions/ecvt.texi.
89255         * doc/pastposix-functions/fcvt.texi: Renamed from
89256         doc/posix-functions/fcvt.texi.
89257         * doc/pastposix-functions/ftime.texi: Renamed from
89258         doc/posix-functions/ftime.texi.
89259         * doc/pastposix-functions/gcvt.texi: Renamed from
89260         doc/posix-functions/gcvt.texi.
89261         * doc/pastposix-functions/getcontext.texi: Renamed from
89262         doc/posix-functions/getcontext.texi.
89263         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
89264         doc/posix-functions/gethostbyaddr.texi.
89265         * doc/pastposix-functions/gethostbyname.texi: Renamed from
89266         doc/posix-functions/gethostbyname.texi.
89267         * doc/pastposix-functions/getwd.texi: Renamed from
89268         doc/posix-functions/getwd.texi.
89269         * doc/pastposix-functions/h_errno.texi: Renamed from
89270         doc/posix-functions/h_errno.texi.
89271         * doc/pastposix-functions/index.texi: Renamed from
89272         doc/posix-functions/index.texi.
89273         * doc/pastposix-functions/makecontext.texi: Renamed from
89274         doc/posix-functions/makecontext.texi.
89275         * doc/pastposix-functions/mktemp.texi: Renamed from
89276         doc/posix-functions/mktemp.texi.
89277         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
89278         doc/posix-functions/pthread_attr_getstackaddr.texi.
89279         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
89280         doc/posix-functions/pthread_attr_setstackaddr.texi.
89281         * doc/pastposix-functions/rindex.texi: Renamed from
89282         doc/posix-functions/rindex.texi.
89283         * doc/pastposix-functions/scalb.texi: Renamed from
89284         doc/posix-functions/scalb.texi.
89285         * doc/pastposix-functions/setcontext.texi: Renamed from
89286         doc/posix-functions/setcontext.texi.
89287         * doc/pastposix-functions/swapcontext.texi: Renamed from
89288         doc/posix-functions/swapcontext.texi.
89289         * doc/pastposix-functions/ualarm.texi: Renamed from
89290         doc/posix-functions/ualarm.texi.
89291         * doc/pastposix-functions/usleep.texi: Renamed from
89292         doc/posix-functions/usleep.texi.
89293         * doc/pastposix-functions/vfork.texi: Renamed from
89294         doc/posix-functions/vfork.texi.
89295         * doc/pastposix-functions/wcswcs.texi: Renamed from
89296         doc/posix-functions/wcswcs.texi.
89297         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
89298         (Function Substitutes): Update.
89300 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89302         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
89303         m4/strerror.m4.
89305 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89306             Bruno Haible  <bruno@clisp.org>
89308         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
89310 2008-12-13  Bruno Haible  <bruno@clisp.org>
89312         * modules/strtoull (Depends-on): Remove unistd.
89314 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89316         * modules/strtoull (Depends-on): Add stdlib.
89318 2008-12-11  Simon Josefsson  <simon@josefsson.org>
89320         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
89322 2008-12-10  Jim Meyering  <meyering@redhat.com>
89324         gl_ASSERT: don't say assertions are disabled when they're not
89325         * m4/assert.m4 (gl_ASSERT): Do not make configure report
89326         "checking whether to enable assertions... no", when they are in
89327         fact enabled.  This is solely a bug in the output of configure.
89328         In spite of saying "no", NDEBUG was not defined in that case.
89329         Also, as noted by Eric Blake, leave assertions enabled upon
89330         --enable-assert=INVALID.
89332 2008-12-10  Bruno Haible  <bruno@clisp.org>
89334         Change MODULES.html to refer to POSIX:2008 where possible.
89335         * MODULES.html.sh (POSIX2008_URL): New variable.
89336         (posix_headers): Remove sys/timeb, ucontext.
89337         (posix2001_headers): New variable.
89338         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
89339         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
89340         index, makecontext, mktemp, pthread_attr_getstackaddr,
89341         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
89342         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
89343         (posix2001_functions): New variable.
89344         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
89345         otherwise.
89347 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89349         add missing include to parse-duration.c
89350         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
89351         * modules/parse-duration (Depends-on): Add xalloc.
89353         fix sed script reading maint.mk
89354         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
89355         (syntax-check-rules): Use it.
89357 2008-12-09  Bruno Haible  <bruno@clisp.org>
89359         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
89360         MacOS X 10.4/PowerPC.
89361         Reported by Simon Josefsson.
89363 2008-12-08  Jim Meyering  <meyering@redhat.com>
89365         work around mingw's lack of some S_IF definitions
89366         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
89367         Reported by Simon Josefsson.
89369 2008-12-08  Bruno Haible  <bruno@clisp.org>
89371         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
89372         applied to variables. Needed on MacOS X 10.4/PowerPC.
89373         Reported by Simon Josefsson.
89375 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
89376         and Eric Blake  <ebb9@byu.net>
89378         assert: honor --enable-assert
89379         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
89380         order to honor --enable-assert, rather than treating it as a
89381         synonym for --disable-assert.
89383 2008-12-08  Jim Meyering  <meyering@redhat.com>
89385         * lib/posixtm.c: Remove now-useless declaration of mktime.
89387         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
89389 2008-12-07  Bruno Haible  <bruno@clisp.org>
89391         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
89392         test_once): Mark functions as static.
89393         * tests/test-tls.c (test_tls): Likewise.
89395 2008-12-07  Bruno Haible  <bruno@clisp.org>
89397         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
89398         iconv_register_autodetect.
89400 2008-12-07  Jim Meyering  <meyering@redhat.com>
89402         posixtm.c: avoid a warning
89403         * lib/posixtm.c (posixtime): Don't initialize tm0.
89404         It's no longer needed to placate gcc4's -Wuninitialized,
89405         and the attempt to placate would elicit a new warning.
89407         unicodeio.c: mark unused parameters
89408         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89409         (fallback_failure_callback): Likewise.
89411 2008-12-07  Bruno Haible  <bruno@clisp.org>
89413         * gnulib-tool (func_create_testdir): When building the tests
89414         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
89415         Reported by Simon Josefsson.
89417 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89419         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
89421 2008-12-06  Bruno Haible  <bruno@clisp.org>
89423         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
89424         Suggested by Eric Blake.
89426 2008-12-06  Bruno Haible  <bruno@clisp.org>
89428         Fix a c-stack test failure on MacOS X.
89429         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
89430         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
89431         handler for SIGBUS as well.
89432         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
89433         install a signal handler for SIGBUS as well.
89434         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
89436 2008-12-06  Bruno Haible  <bruno@clisp.org>
89438         Advocacy documentation.
89439         * doc/gnulib-intro.texi (Benefits): New section.
89440         * doc/gnulib.texi: Update.
89442 2008-12-06  Bruno Haible  <bruno@clisp.org>
89444         Document the 'manywarnings' module.
89445         * doc/manywarnings.texi: New file.
89446         * doc/gnulib.texi: Include it.
89448 2008-12-05  Eric Blake  <ebb9@byu.net>
89450         tests: silence some gcc warnings
89451         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
89452         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
89453         type mismatches.
89455 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89456             Bruno Haible  <bruno@clisp.org>
89458         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
89460 2008-11-29  Jim Meyering  <meyering@redhat.com>
89462         unicodeio.c: mark unused parameters
89463         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
89464         (fallback_failure_callback): Likewise.
89466         fts: fix a thinko
89467         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
89468         (set_stat_type): Return S_IF*-valued "type" directly.
89469         Prompted by James Youngman's spotting a related bug.
89470         Confirmed by further testing through find.
89472         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
89473         * lib/fts.c (D_TYPE): Define.
89474         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
89475         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
89476         (s_ifmt_shift_bits): New function.
89477         (set_stat_type): New function.
89478         (fts_build): When not calling fts_stat, call set_stat_type
89479         to propagate dirent.d_type info to fts_read caller.
89480         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
89481         fts_statp->st_mode type information may be valid.
89483 2008-11-28  Simon Josefsson  <simon@josefsson.org>
89485         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
89486         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
89487         <sds@gnu.org>.
89489 2008-11-20  Bruno Haible  <bruno@clisp.org>
89491         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
89492         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
89493         INCLUDE_NEXT.
89494         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
89495         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
89496         * modules/math (Makefile.am): Substitute
89497         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
89498         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
89500 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
89501             Bruno Haible  <bruno@clisp.org>
89503         * lib/stdint.in.h: Define all type macros so that their expansion is
89504         a single typedef'ed token. Fixes a compilation failure in Boost which
89505         does "using ::int8_t;".
89507 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89509         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
89510         gl_MANYWARN_ALL_GCC.
89511         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
89512         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
89513         * modules/manywarnings: New file.
89514         * MODULES.html.sh: Mention manywarnings module.
89516 2008-11-18  Bruno Haible  <bruno@clisp.org>
89518         * doc/gnulib-tool.texi (Unit tests): New section.
89520 2008-11-18  Simon Josefsson  <simon@josefsson.org>
89522         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
89523         paths like 'lib/po/foo.po'.
89525 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89527         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
89528         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
89530 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89532         * m4/warnings.m4: Use CPPFLAGS to really check whether the
89533         parameter works.
89535 2008-11-17  Simon Josefsson  <simon@josefsson.org>
89537         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
89539 2008-11-17  Bruce Korb  <bkorb@gnu.org>
89541         * modules/parse-duration-tests: New file.
89542         * tests/test-parse-duration.sh: New file.
89543         * tests/test-parse-duration.c: New file.
89545         New module 'parse-duration'.
89546         * lib/parse-duration.h: New file.
89547         * lib/parse-duration.c: New file.
89548         * modules/parse-duration: New file.
89550 2008-11-17  Bruno Haible  <bruno@clisp.org>
89552         * tests/test-select-out.sh: Comment out the first pipe test.
89553         Reported by Simon Josefsson.
89555 2008-11-17  Bruno Haible  <bruno@clisp.org>
89557         * modules/getaddrinfo (Depends-on): Add servent, hostent.
89558         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
89559         gl_HOSTENT.
89561 2008-11-17  Bruno Haible  <bruno@clisp.org>
89563         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
89564         -lnetwork and -lnet. Needed for Haiku and BeOS.
89566 2008-11-16  Bruno Haible  <bruno@clisp.org>
89568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
89570 2008-11-16  Bruno Haible  <bruno@clisp.org>
89572         Avoid test failure on Haiku.
89573         * tests/test-fsync.c: Include <errno.h>.
89574         (main): Don't require that fsync (0) fails.
89576 2008-11-15  Bruno Haible  <bruno@clisp.org>
89578         New module 'hostent'.
89579         * modules/hostent: New file.
89580         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
89582 2008-11-15  Bruno Haible  <bruno@clisp.org>
89584         New module 'servent'.
89585         * modules/servent: New file.
89586         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
89588 2008-11-15  Bruno Haible  <bruno@clisp.org>
89590         Avoid generating same test program with two different rules.
89591         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
89592         test-frexp to test-frexp-nolibm.
89593         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
89594         test-frexpl to test-frexpl-nolibm.
89596 2008-11-15  Bruno Haible  <bruno@clisp.org>
89598         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
89599         $(FREXPL_LIBM).
89601 2008-11-15  Bruno Haible  <bruno@clisp.org>
89603         * lib/netdb.in.h: Activate the definitions also when the system's
89604         <netdb.h> has 'struct addrinfo'.
89605         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
89606         EAI_OVERFLOW or AI_NUMERICSERV.
89607         * doc/posix-headers/netdb.texi: Document the problem.
89609 2008-11-15  Bruno Haible  <bruno@clisp.org>
89611         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
89613         Make the 'sched' module work on platforms where <sched.h> exists but
89614         is incomplete (such as Haiku).
89615         * lib/sched.in.h; Include the system's <sched.h> if it exists.
89616         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
89617         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
89618         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
89619         HAVE_STRUCT_SCHED_PARAM.
89620         * modules/sched (Depends-on): Add include_next.
89621         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
89622         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
89623         * doc/posix-headers/sched.texi: Document the issue.
89625 2008-11-13  Jim Meyering  <meyering@redhat.com>
89627         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
89628         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
89629         test would fail due to the difference in the Report bugs to ...
89630         line.  The expected address is empty, "<>", while the actual
89631         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
89633 2008-11-12  Bruno Haible  <bruno@clisp.org>
89635         lstat: don't compile lstat.c on systems lacking lstat
89636         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
89637         which don't have lstat; this is handled by lib/sys_stat.in.h already.
89638         Reported by Daniel P. Berrange via Jim Meyering.
89640 2008-11-12  Jim Meyering  <meyering@redhat.com>
89642         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
89644 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89646         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
89647         instead.
89649 2008-11-12  Bruno Haible  <bruno@clisp.org>
89651         * lib/unicodeio.c: Include unistr.h.
89652         (utf8_wctomb): Remove function.
89653         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
89655 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89657         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
89658         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
89659         <bruno@clisp.org>.
89660         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
89662 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89664         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
89665         * doc/gnulib.texi: Add section for warnings.
89667 2008-11-11  Bruno Haible  <bruno@clisp.org>
89669         * lib/sockets.h: Add a comment.
89671 2008-11-11  Karl Berry  <karl@gnu.org>
89673         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
89675 2008-11-11  Eric Blake  <ebb9@byu.net>
89677         fdl.texi: avoid git symlinks
89678         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
89680 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89682         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
89684 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89686         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
89687         (gl_WARN_ADD): Substitute $2 if literal.
89689 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89691         * m4/warning.m4: Remove.
89693 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89695         * m4/warnings.m4: Almost complete rewrite. :-)
89697 2008-11-10  Simon Josefsson  <simon@josefsson.org>
89699         * modules/warnings: New module.
89700         * m4/warnings.m4: New file.
89701         * MODULES.html.sh: Mention warnings module.
89702         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
89703         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89705 2008-11-10  Eric Blake  <ebb9@byu.net>
89707         fdl.texi: make a symlink to the latest version
89708         * doc/standards.texi: Revert today's earlier change.
89709         * doc/fdl-1.2.texi: Rename from old fdl.texi...
89710         * doc/fdl.texi: ...and replace this with a symlink to the newer
89711         fdl-1.3.texi.
89713 2008-11-10  Bruno Haible  <bruno@clisp.org>
89715         * tests/test-select-fd.c (main): Accept the result file name as fourth
89716         argument.
89717         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
89718         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
89720 2008-11-10  Bruno Haible  <bruno@clisp.org>
89722         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
89723         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
89724         as autoconf-substituted macros.
89725         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
89726         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
89727         gl_NETDB_H_DEFAULTS. Set these variables.
89728         * modules/netdb (Makefile.am): Substitute these variables.
89730 2008-11-10  Eric Blake  <ebb9@byu.net>
89732         standards.texi: include correct file for FDL 1.3
89733         * doc/standards.texi (GNU Free Documentation License): Change
89734         include file to pull in FDL 1.3, not 1.2.
89736         fdl.texi: revert accidental change to license
89737         * doc/fdl.texi: This is FDL 1.2, not 1.3.
89739 2008-11-10  Bruno Haible  <bruno@clisp.org>
89741         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
89742         cross-compiling guesses also when the native compile gives no result.
89744 2008-11-10  Bruno Haible  <bruno@clisp.org>
89746         * lib/spawni.c (__spawni): Force variable into the stack.
89748 2008-11-10  Bruno Haible  <bruno@clisp.org>
89750         Add support for Haiku.
89751         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
89752         glibc and BeOS, but also on Haiku.
89753         * lib/fpurge.c (fpurge): Likewise.
89754         * lib/freadable.c (freadable): Likewise.
89755         * lib/freadahead.c (freadahead): Likewise.
89756         * lib/freading.c (freading): Likewise.
89757         * lib/freadptr.c (freadptr): Likewise.
89758         * lib/freadseek.c (freadptrinc): Likewise.
89759         * lib/fseeko.c (rpl_fseeko): Likewise.
89760         * lib/fseterr.c (fseterr): Likewise.
89761         * lib/fwritable.c (fwritable): Likewise.
89762         * lib/fwriting.c (fwriting): Likewise.
89763         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
89765 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89767         * lib/config.charset: Treat Haiku like BeOS.
89769 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89771         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
89772         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
89774 2008-11-08  Bruno Haible  <bruno@clisp.org>
89776         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
89777         AC_CACHE_CHECK.
89779 2008-11-08  Bruno Haible  <bruno@clisp.org>
89781         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
89783 2008-11-08  Bruno Haible  <bruno@clisp.org>
89785         * tests/test-select-fd.c: New file.
89786         * tests/test-select-in.sh: New file.
89787         * tests/test-select-out.sh: New file.
89788         * tests/test-select-stdin.c: New file.
89789         * modules/select-tests (Files): Add the new files.
89790         (Depends-on): Add gettimeofday.
89791         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
89792         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
89793         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
89795 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
89796             Bruno Haible  <bruno@clisp.org>
89798         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
89800 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
89802         * build-aux/pmccabe2html: Added support for C++ source files.
89804 2008-11-05  Ben Pfaff  <blp@gnu.org>
89806         Fix lib/close.c build on Windows.
89807         * modules/close (Files): Add lib/w32sock.h.
89809 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
89811         Accept Bison's NEWS format.
89812         * build-aux/announce-gen (print_news_deltas): Tweak
89813         $re_prefix.
89815 2008-11-04  Bruno Haible  <bruno@clisp.org>
89817         * modules/random_r (Maintainer): Add glibc.
89819 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89821         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
89822         by karl@freefriends.org (Karl Berry).
89823         * doc/alloca.texi: Likewise.
89824         * doc/c-ctype.texi: Likewise.
89825         * doc/c-strcase.texi: Likewise.
89826         * doc/c-strcaseeq.texi: Likewise.
89827         * doc/c-strcasestr.texi: Likewise.
89828         * doc/c-strstr.texi: Likewise.
89829         * doc/c-strtod.texi: Likewise.
89830         * doc/c-strtold.texi: Likewise.
89831         * doc/ctime.texi: Likewise.
89832         * doc/error.texi: Likewise.
89833         * doc/fdl.texi: Likewise.
89834         * doc/gcd.texi: Likewise.
89835         * doc/getdate.texi: Likewise.
89836         * doc/gnulib-intro.texi: Likewise.
89837         * doc/gnulib-tool.texi: Likewise.
89838         * doc/gnulib.texi: Likewise.
89839         * doc/inet_ntoa.texi: Likewise.
89840         * doc/maintain.texi: Likewise.
89841         * doc/make-stds.texi: Likewise.
89842         * doc/quote.texi: Likewise.
89843         * doc/regexprops-generic.texi: Likewise.
89844         * doc/standards.texi: Likewise.
89845         * doc/verify.texi: Likewise.
89846         * doc/visibility.texi: Likewise.
89847         * doc/gnulib.texi (GNU Free Documentation License): Include
89848         fdl-1.3.texi instead of fdl.texi.
89850 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89852         * doc/fdl-1.3.texi: New file, from
89853         <http://www.gnu.org/licenses/fdl-1.3.texi>.
89854         * modules/fdl-1.3: Add.
89855         * MODULES.html.sh: Add fdl-1.3.
89857 2008-11-03  Bruno Haible  <bruno@clisp.org>
89859         Make determination of absolute name of header file work with AIX xlc.
89860         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
89861         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
89862         preprocessing.
89863         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
89864         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
89866 2008-11-03  Simon Josefsson  <simon@josefsson.org>
89868         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
89869         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
89870         <ludo@gnu.org>.
89872 2008-11-02  Bruno Haible  <bruno@clisp.org>
89874         Mark 'strpbrk' obsolete.
89875         * modules/strpbrk (Status, Notice): New sections.
89876         * modules/strtok_r (Depends-on): Add strpbrk.
89878 2008-11-02  Bruno Haible  <bruno@clisp.org>
89880         Mark 'strdup' obsolete.
89881         * modules/strdup (Status, Notice): New sections.
89882         * modules/findprog (Depends-on): Add strdup.
89883         * modules/getaddrinfo (Depends-on): Likewise.
89884         * modules/localename (Depends-on): Likewise.
89885         * modules/relocatable-lib (Depends-on): Likewise.
89886         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
89887         * modules/relocatable-prog (Depends-on): Likewise.
89888         * modules/trim (Depends-on): Likewise.
89889         * modules/unictype/gen-ctype (Depends-on): Likewise.
89890         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89892 2008-11-02  Bruno Haible  <bruno@clisp.org>
89894         Mark 'strcspn' obsolete.
89895         * modules/strcspn (Status, Notice): New sections.
89897 2008-11-02  Bruno Haible  <bruno@clisp.org>
89899         Mark 'rmdir' obsolete.
89900         * modules/rmdir (Status, Notice): New sections.
89901         * modules/clean-temp (Depends-on): Add rmdir.
89902         * modules/openat (Depends-on): Likewise.
89904 2008-11-02  Bruno Haible  <bruno@clisp.org>
89906         Mark 'raise' obsolete.
89907         * modules/raise (Status, Notice): New sections.
89908         (Include): Specify <signal.h>.
89909         * modules/stdio (Depends-on): Add raise.
89910         * modules/write (Depends-on): Likewise.
89912 2008-11-02  Bruno Haible  <bruno@clisp.org>
89914         Mark 'memset' obsolete.
89915         * modules/memset (Status, Notice): New sections.
89917 2008-11-02  Bruno Haible  <bruno@clisp.org>
89919         Mark 'memmove' obsolete.
89920         * modules/memmove (Status, Notice): New sections.
89921         * modules/argp (Depends-on): Add memmove.
89922         * modules/argz (Depends-on): Likewise.
89923         * modules/canonicalize (Depends-on): Likewise.
89924         * modules/canonicalize-lgpl (Depends-on): Likewise.
89925         * modules/fts (Depends-on): Likewise.
89926         * modules/getcwd (Depends-on): Likewise.
89927         * modules/human (Depends-on): Likewise.
89928         * modules/regex (Depends-on): Likewise.
89929         * modules/striconveh (Depends-on): Likewise.
89930         * modules/trim (Depends-on): Likewise.
89931         * modules/unistr/u8-move (Depends-on): Likewise.
89932         * modules/unistr/u16-move (Depends-on): Likewise.
89933         * modules/unistr/u32-move (Depends-on): Likewise.
89935 2008-11-02  Bruno Haible  <bruno@clisp.org>
89937         Mark 'memcpy' obsolete.
89938         * modules/memcpy (Status, Notice): New sections.
89940 2008-11-02  Bruno Haible  <bruno@clisp.org>
89942         Mark 'memcmp' obsolete.
89943         * modules/memcmp (Status, Notice): New sections.
89944         * modules/argmatch (Depends-on): Add memchr.
89945         * modules/backupfile (Depends-on): Likewise.
89946         * modules/c-strcasestr (Depends-on): Likewise.
89947         * modules/crypto/des (Depends-on): Likewise.
89948         * modules/csharpcomp (Depends-on): Likewise.
89949         * modules/fnmatch (Depends-on): Likewise.
89950         * modules/git-merge-changelog (Depends-on): Likewise.
89951         * modules/isnand (Depends-on): Likewise.
89952         * modules/isnand-nolibm (Depends-on): Likewise.
89953         * modules/isnanf (Depends-on): Likewise.
89954         * modules/isnanf-nolibm (Depends-on): Likewise.
89955         * modules/isnanl (Depends-on): Likewise.
89956         * modules/isnanl-nolibm (Depends-on): Likewise.
89957         * modules/mbchar (Depends-on): Likewise.
89958         * modules/memcoll (Depends-on): Likewise.
89959         * modules/quotearg (Depends-on): Likewise.
89960         * modules/regex (Depends-on): Likewise.
89961         * modules/relocatable-prog (Depends-on): Likewise.
89962         * modules/same (Depends-on): Likewise.
89963         * modules/signbit (Depends-on): Likewise.
89964         * modules/strcasestr-simple (Depends-on): Likewise.
89965         * modules/unictype/gen-ctype (Depends-on): Likewise.
89966         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89967         * modules/uniname/uniname (Depends-on): Likewise.
89968         * modules/unistr/u8-cmp (Depends-on): Likewise.
89970 2008-11-02  Bruno Haible  <bruno@clisp.org>
89972         Mark 'memchr' obsolete.
89973         * modules/memchr (Status, Notice): New sections.
89974         * modules/argp (Depends-on): Add memchr.
89975         * modules/base64 (Depends-on): Likewise.
89976         * modules/c-strcasestr (Depends-on): Likewise.
89977         * modules/chdir-long (Depends-on): Likewise.
89978         * modules/fnmatch (Depends-on): Likewise.
89979         * modules/getsubopt (Depends-on): Likewise.
89980         * modules/git-merge-changelog (Depends-on): Likewise.
89981         * modules/glob (Depends-on): Likewise.
89982         * modules/strcasestr-simple (Depends-on): Likewise.
89983         * modules/strnlen (Depends-on): Likewise.
89985 2008-11-02  Bruno Haible  <bruno@clisp.org>
89987         Mark 'atexit' obsolete.
89988         * modules/atexit (Status, Notice): New sections.
89989         * modules/chdir-long (Depends-on): Add atexit.
89990         * modules/wait-process (Depends-on): Likewise.
89992 2008-11-02  Bruno Haible  <bruno@clisp.org>
89994         * gnulib-tool: New option --with-obsolete.
89995         (func_usage): Document it.
89996         (func_modules_transitive_closure): Drop obsolete dependencies if
89997         incobsolete is not true.
89998         (func_import): Read and save the incobsolete variable to the cache.
90000 2008-11-02  Bruno Haible  <bruno@clisp.org>
90002         * modules/TEMPLATE-EXTENDED: New field 'Status'.
90003         * gnulib-tool: New option --extract-status.
90004         (func_usage): Document it.
90005         (sed_extract_prog): Recognize it.
90006         (func_get_status): New function.
90008 2008-10-30  Simon Josefsson  <simon@josefsson.org>
90010         * modules/sockets (License): Change from LGPL to LGPLv2+.
90012 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90014         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
90016 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90018         * MODULES.html.sh (Support for systems lacking POSIX:2001):
90019         Mention times and sys_times.
90020         * modules/sys_times, modules/sys_times-tests: New modules.
90021         * modules/times, modules/times-tests: Likewise
90022         * m4/sys_times_h.m4: New file.
90023         * lib/sys_times.in.h: Likewise
90024         * lib/times.c: Likewise.
90025         * tests/test-sys_times.c: Likewise.
90026         * tests/test-times.c: Likewise.
90027         * doc/posix-headers/sys_times.texi: Update.
90028         * doc/posix-functions/times.texi: Update.
90030 2008-10-28  Jim Meyering  <meyering@redhat.com>
90032         * modules/tempname (Depends-on): Add lstat.
90034         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
90036 2008-10-28  Simon Josefsson  <simon@josefsson.org>
90038         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
90039         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
90040         using idiom used elsewhere in gnulib.
90042 2008-10-27  Jim Meyering  <meyering@redhat.com>
90044         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
90046 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90048         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
90049         TESTS_ENVIRONMENT, for shell scripts that needs to call built
90050         programs.
90051         * tests/test-argp-2.sh: Use $EXEEXT when needed.
90053 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90055         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
90057 2008-10-27  Bruno Haible  <bruno@clisp.org>
90059         * tests/test-lstat.c: Include <stdio.h>.
90061 2008-10-27  Simon Josefsson  <simon@josefsson.org>
90063         * modules/lstat-tests: New module.
90064         * tests/test-lstat.c: New file.
90066 2008-10-26  Jim Meyering  <meyering@redhat.com>
90068         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
90070 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90071             Bruno Haible  <bruno@clisp.org>
90073         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
90074         * modules/configmake (Include): Add a note that the include must come
90075         after all system headers.
90076         * lib/javaversion.c: Include configmake.h after all other includes.
90078 2008-10-26  Bruno Haible  <bruno@clisp.org>
90080         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
90081         HAVE_STRUCT_RANDOM_DATA to 1.
90082         (gl_STDLIB_H): Simplify.
90084 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90086         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
90087         substitute HAVE_STRUCT_RANDOM_DATA.
90088         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
90089         random_data.
90090         * modules/stdlib (Makefile.am): Substitute
90091         HAVE_STRUCT_RANDOM_DATA.
90093 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90095         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
90096         * doc/gnulib-intro.texi (Copyright): Likewise.
90098 2008-10-26  Simon Josefsson  <simon@josefsson.org>
90100         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
90101         findings.
90103 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
90104             Bruno Haible  <bruno@clisp.org>
90106         * lib/unistd.in.h: Include <winsock2.h>.
90107         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
90108         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
90109         Provide dummy declarations.
90110         (gethostname): Override.
90111         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
90112         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
90113         gl_PREREQ_SYS_H_WINSOCK2.
90114         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
90115         * doc/posix-functions/gethostname.texi: More details.
90117 2008-10-25  Bruno Haible  <bruno@clisp.org>
90119         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90120         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
90121         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
90123         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
90124         here ...
90125         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
90126         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
90127         gl_UNISTD_H_DEFAULTS.
90129 2008-10-25  Eric Blake  <ebb9@byu.net>
90131         signbit: avoid spurious compiler failure
90132         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
90133         declarations inside function.
90135 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90136             Bruno Haible  <bruno@clisp.org>
90138         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
90139         * modules/random_r (Depends-on): Add stdint.
90141 2008-10-24  Bruno Haible  <bruno@clisp.org>
90143         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
90144         Eggert.
90145         * modules/strerror (License): Likewise.
90147 2008-10-24  Jim Meyering  <meyering@redhat.com>
90149         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
90150         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
90152 2008-10-24  Eric Blake  <ebb9@byu.net>
90154         getgroups: fix compilation when getgroups is available
90155         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
90156         but with <config.h> override of getgroups disabled.
90158 2008-10-24  Simon Josefsson  <simon@josefsson.org>
90160         * doc/gnulib.texi (Header files): Add note about C++ problems.
90161         Explained by Bruno Haible <bruno@clisp.org>.
90163 2008-10-23  Bruno Haible  <bruno@clisp.org>
90165         Define a dummy SA_NODEFER macro on Interix.
90166         * lib/signal.in.h (SA_NODEFER): Define fallback.
90167         Reported by Aleksey Cheusov <cheusov@tut.by> via
90168         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
90170 2008-10-23  Bruno Haible  <bruno@clisp.org>
90172         * modules/freadahead (License): Change to LGPLv2+.
90173         Suggested by Simon Josefsson.
90175 2008-10-23  Jim Meyering  <meyering@redhat.com>
90177         random_r: new module
90178         * modules/random_r: New file.
90179         * m4/random_r.m4: New file.
90180         * lib/random_r.c: New file, from glibc.
90181         * modules/random_r-tests: New file.
90182         * tests/test-random_r.c: New file.
90183         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
90184          Declare.
90185         (RAND_MAX): Define.
90186         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
90187         * modules/stdlib: Substitute them, too.
90188         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
90189         * doc/glibc-functions/initstate_r.texi: Mention the new module.
90190         * doc/glibc-functions/random_r.texi: Likewise.
90191         * doc/glibc-functions/setstate_r.texi: Likewise.
90192         * doc/glibc-functions/srandom_r.texi: Likewise.
90193         * config/srclist.txt: Mention it.
90195 2008-10-23  David Lutterkort  <lutter@redhat.com>
90197         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
90198         link requirement
90200 2008-10-23  Jim Meyering  <meyering@redhat.com>
90202         selinux-h: mark parameters of stub functions as intentionally unused
90203         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
90204         * lib/se-context.in.h: Likewise.
90206 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90208         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
90210 2008-10-22  Simon Josefsson  <simon@josefsson.org>
90212         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
90214 2008-10-22  Eric Blake  <ebb9@byu.net>
90216         glthread/thread: avoid compiler warning
90217         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
90218         Add unreachable abort to silence compiler.
90220 2008-10-22  Eric Blake  <ebb9@byu.net>
90222         netdb: also supply struct addrinfo for cygwin 1.5.x
90223         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
90224         older cygwin.
90225         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
90226         cygwin.
90227         * doc/posix-headers/netdb.texi (netdb.h): Document this.
90229 2008-10-22  Bruno Haible  <bruno@clisp.org>
90231         * users.txt: Update entry about pspp.
90233 2008-10-21  Bruno Haible  <bruno@clisp.org>
90235         Simplification.
90236         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
90237         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
90239         Simplification.
90240         * lib/ioctl.c (ioctl): Don't undefine.
90241         * lib/socket.c (socket): Don't undefine.
90243         Remove unused module indicator macros.
90244         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
90245         GNULIB_$1 as a C macro.
90247         * doc/posix-functions/close.texi: Undo last change.
90248         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
90249         Windows platforms.
90251 2008-10-21  Bruno Haible  <bruno@clisp.org>
90253         Add gethostname() declaration to <unistd.h>.
90254         * lib/unistd.in.h (gethostname): New declaration.
90255         * lib/gethostname.c: Include <unistd.h>.
90256         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
90257         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
90258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
90259         and HAVE_GETHOSTNAME.
90260         * modules/gethostname (Depends-on): Add unistd.
90261         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90262         (Include): Specify <unistd.h>.
90263         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
90264         HAVE_GETHOSTNAME.
90265         * tests/test-gethostname.c: Include <unistd.h> first.
90267 2008-10-21  Bruno Haible  <bruno@clisp.org>
90269         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
90270         * modules/select-tests (Depends-on): Likewise.
90271         Reported by Simon Josefsson.
90273 2008-10-21  Simon Josefsson  <simon@josefsson.org>
90275         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
90276         * lib/accept.c: New file, based on winsock.c.
90277         * lib/bind.c: New file, based on winsock.c.
90278         * lib/connect.c: New file, based on winsock.c.
90279         * lib/getpeername.c: New file, based on winsock.c.
90280         * lib/getsockname.c: New file, based on winsock.c.
90281         * lib/getsockopt.c: New file, based on winsock.c.
90282         * lib/ioctl.c: New file, based on winsock.c.
90283         * lib/listen.c: New file, based on winsock.c.
90284         * lib/recv.c: New file, based on winsock.c.
90285         * lib/recvfrom.c: New file, based on winsock.c.
90286         * lib/send.c: New file, based on winsock.c.
90287         * lib/sendto.c: New file, based on winsock.c.
90288         * lib/setsockopt.c: New file, based on winsock.c.
90289         * lib/shutdown.c: New file, based on winsock.c.
90290         * lib/socket.c: New file, based on winsock.c.
90291         * lib/w32sock.h: New file, based on winsock.c.
90292         * lib/winsock.c: Remove file.
90293         * modules/accept: Likewise.
90294         * modules/bind: Likewise.
90295         * modules/connect: Likewise.
90296         * modules/getpeername: Likewise.
90297         * modules/getsockname: Likewise.
90298         * modules/getsockopt: Likewise.
90299         * modules/ioctl: Likewise.
90300         * modules/listen: Likewise.
90301         * modules/recv: Likewise.
90302         * modules/recvfrom: Likewise.
90303         * modules/send: Likewise.
90304         * modules/sendto: Likewise.
90305         * modules/setsockopt: Likewise.
90306         * modules/shutdown: Likewise.
90307         * modules/socket: Use socket.c instead of winsock.c.
90308         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
90309         * doc/posix-functions/accept.texi: Doc fix.
90310         * doc/posix-functions/bind.texi: Doc fix.
90311         * doc/posix-functions/close.texi: Doc fix.
90312         * doc/posix-functions/connect.texi: Doc fix.
90313         * doc/posix-functions/getpeername.texi: Doc fix.
90314         * doc/posix-functions/getsockname.texi: Doc fix.
90315         * doc/posix-functions/getsockopt.texi: Doc fix.
90316         * doc/posix-functions/ioctl.texi: Doc fix.
90317         * doc/posix-functions/listen.texi: Doc fix.
90318         * doc/posix-functions/recv.texi: Doc fix.
90319         * doc/posix-functions/recvfrom.texi: Doc fix.
90320         * doc/posix-functions/send.texi: Doc fix.
90321         * doc/posix-functions/sendto.texi: Doc fix.
90322         * doc/posix-functions/setsockopt.texi: Doc fix.
90323         * doc/posix-functions/shutdown.texi: Doc fix.
90324         * doc/posix-functions/socket.texi: Doc fix.
90326 2008-10-20  Bruno Haible  <bruno@clisp.org>
90328         Take into account the role of SIGABRT_COMPAT on Windows 2008.
90329         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
90330         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
90331         as an alias for SIGABRT.
90332         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
90333         (sigaction): Map it to SIGABRT.
90334         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
90336 2008-10-20  Bruno Haible  <bruno@clisp.org>
90338         * lib/fts.c: Don't include lstat.h.
90339         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
90341         Move the lstat() declaration to <sys/stat.h>.
90342         * lib/lstat.h: Remove file.
90343         * lib/sys_stat.in.h: Add special invocation convention.
90344         (lstat): New declaration.
90345         * lib/lstat.c (orig_lstat): New function.
90346         (rpl_lstat): Use orig_lstat instead of lstat.
90347         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
90348         AC_C_INLINE. Set REPLACE_LSTAT.
90349         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
90350         and REPLACE_LSTAT.
90351         * modules/lstat (Files): Remove lib/lstat.h.
90352         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90353         (Include): Specify <sys/stat.h> instead of lstat.h.
90354         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
90355         REPLACE_LSTAT.
90356         * NEWS: Mention the change.
90358 2008-10-20  Bruno Haible  <bruno@clisp.org>
90360         * modules/posix_spawn-tests: New file.
90361         * tests/test-posix_spawn3.c: New file.
90363 2008-10-20  Bruno Haible  <bruno@clisp.org>
90365         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
90366         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90367         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
90368         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
90369         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
90371 2008-10-20  Bruno Haible  <bruno@clisp.org>
90373         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
90374         of posix_spawn on AIX 5.3.
90376 2008-10-20  Bruno Haible  <bruno@clisp.org>
90378         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
90380 2008-10-20  Bruno Haible  <bruno@clisp.org>
90382         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
90383         of AC_LANG_PROGRAM.
90385 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90387         * lib/netdb.in.h: Don't define GNU specific constants until they
90388         are supported or needed.  Reported by Bruno Haible
90389         <bruno@clisp.org>.
90391 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90393         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
90395 2008-10-20  Simon Josefsson  <simon@josefsson.org>
90397         * lib/getaddrinfo.h: Remove file.
90398         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
90399         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
90400         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
90401         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
90402         * modules/netdb: Substitute GNULIB_GETADDRINFO.
90403         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
90404         * tests/test-getaddrinfo.c: Likewise.
90405         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
90406         * NEWS: Mention change.
90408 2008-10-19  Bruno Haible  <bruno@clisp.org>
90410         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
90412 2008-10-19  Bruno Haible  <bruno@clisp.org>
90414         * lib/wait-process.c: Include simply <sys/wait.h>.
90415         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
90416         WIFSTOPPED): Remove fallback definitions.
90417         * modules/wait-process (Depends-on): Add sys_wait.
90419         New module 'sys_wait'.
90420         * modules/sys_wait: New file.
90421         * lib/sys_wait.in.h: New file, partially copied from
90422         lib/wait-process.c.
90423         * m4/sys_wait_h.m4: New file.
90424         * doc/posix-headers/sys_wait.texi: Mention the new module.
90426 2008-10-19  Bruno Haible  <bruno@clisp.org>
90428         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
90430 2008-10-19  Bruno Haible  <bruno@clisp.org>
90432         Assume that waitpid() fills an 'int' status, not a 'union wait'.
90433         * lib/wait-process.c (WAIT_T): Remove type.
90434         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
90435         (wait_subprocess): Update.
90437 2008-10-19  Bruno Haible  <bruno@clisp.org>
90439         New module 'atoll'.
90440         * modules/atoll: New file.
90441         * lib/stdlib.in.h (atoll): New declaration.
90442         * lib/atoll.c: New file, from glibc with modifications.
90443         * m4/atoll.m4: New file.
90444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
90445         HAVE_ATOLL.
90446         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
90447         * doc/posix-functions/atoll.texi: Mention the new module.
90449 2008-10-19  Bruno Haible  <bruno@clisp.org>
90451         Add strtoull() declaration to <stdlib.h>.
90452         * lib/stdlib.in.h (strtoull): New declaration.
90453         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90454         Set HAVE_STRTOULL.
90455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
90456         HAVE_STRTOULL.
90457         * modules/strtoull (Depends-on): Add stdlib.
90458         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90459         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
90460         HAVE_STRTOULL.
90462 2008-10-19  Bruno Haible  <bruno@clisp.org>
90464         Add strtoll() declaration to <stdlib.h>.
90465         * lib/stdlib.in.h (strtoll): New declaration.
90466         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
90467         Set HAVE_STRTOLL.
90468         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
90469         HAVE_STRTOLL.
90470         * modules/strtoll (Depends-on): Add stdlib.
90471         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90472         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
90474 2008-10-19  Bruno Haible  <bruno@clisp.org>
90476         * modules/bcopy (Depends-on): Add strings.
90477         (Include): Specify <strings.h>.
90479 2008-10-19  Bruno Haible  <bruno@clisp.org>
90481         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
90483 2008-10-19  Bruno Haible  <bruno@clisp.org>
90485         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
90486         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
90487         mingw.
90489 2008-10-19  Bruno Haible  <bruno@clisp.org>
90491         * lib/atanl.c: Don't include isnanl.h.
90492         * lib/cosl.c: Likewise.
90493         * lib/ldexpl.c: Likewise.
90494         * lib/logl.c: Likewise.
90495         * lib/sinl.c: Likewise.
90496         * lib/sqrtl.c: Likewise.
90497         * lib/tanl.c: Likewise.
90499         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
90500         * lib/isnanf.h: Remove file.
90501         * lib/isnand.h: Remove file.
90502         * lib/isnanl.h: Remove file.
90503         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
90504         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
90505         macros.
90506         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
90507         HAVE_ISNANF, don't define it as a C macro.
90508         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
90509         HAVE_ISNAND, don't define it as a C macro.
90510         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
90511         HAVE_ISNANL, don't define it as a C macro.
90512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
90513         HAVE_ISNAN[FDL].
90514         * modules/isnanf (Files): Remove lib/isnanf.h.
90515         (Depends-on): Add math.
90516         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90517         (Include): Specify <math.h> instead of isnanf.h.
90518         * modules/isnand (Files): Remove lib/isnand.h.
90519         (Depends-on): Add math.
90520         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90521         (Include): Specify <math.h> instead of isnand.h.
90522         * modules/isnanl (Files): Remove lib/isnanl.h.
90523         (Depends-on): Add math.
90524         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
90525         (Include): Specify <math.h> instead of isnanl.h.
90526         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
90527         HAVE_ISNAN[FDL].
90528         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
90529         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
90530         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
90531         * NEWS: Mention the change.
90533 2008-10-18  Bruno Haible  <bruno@clisp.org>
90535         Add getusershell(), setusershell(), endusershell() declarations to
90536         <unistd.h>.
90537         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
90538         declarations.
90539         * lib/getusershell.c: Include unistd.h.
90540         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
90541         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90542         HAVE_GETUSERSHELL.
90543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
90544         and HAVE_GETUSERSHELL.
90545         * modules/getusershell (Depends-on): Add unistd, extensions.
90546         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90547         (Include): Specify <unistd.h>.
90548         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
90549         HAVE_GETUSERSHELL.
90551 2008-10-18  Bruno Haible  <bruno@clisp.org>
90553         Add a getloadavg() declaration to <stdlib.h>.
90554         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
90555         getloadavg declaration.
90556         (getloadavg): New declaration.
90557         * lib/getloadavg.c: Include <stdlib.h> first.
90558         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
90559         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
90560         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
90561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
90562         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90563         * modules/getloadavg (Depends-on): Add stdlib, extensions.
90564         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
90565         (Include): Specify <stdlib.h>.
90566         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
90567         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90569 2008-10-18  Bruno Haible  <bruno@clisp.org>
90571         * lib/dirchownmod.c: Don't include lchmod.h.
90573         Move the lchmod() declaration to <sys/stat.h>.
90574         * lib/lchmod.h: Remove file.
90575         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
90576         (lchmod): New declaration, moved here from lib/lchown.h.
90577         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
90578         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
90579         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
90580         and HAVE_LCHMOD.
90581         * modules/lchmod (Files): Remove lib/lchmod.h.
90582         (Depends-on): Add sys_stat, extensions.
90583         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90584         (Include): Specify <sys/stat.h> instead of lchmod.h.
90585         * modules/sys_stat (Depends-on): Add link-warning.
90586         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
90587         definition of GL_LINK_WARNING.
90588         * NEWS: Mention the change.
90590 2008-10-18  Bruno Haible  <bruno@clisp.org>
90592         * lib/fchdir.c: Don't include dirfd.h.
90593         * lib/fts.c: Likewise.
90594         * lib/getcwd.c: Likewise.
90595         * lib/glob.c: Likewise.
90597         Move the dirfd() declaration to <dirent.h>.
90598         * lib/dirfd.h: Remove file.
90599         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
90600         (dirfd): New declaration.
90601         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
90602         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
90603         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
90604         HAVE_DECL_DIRFD.
90605         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
90606         HAVE_DECL_DIRFD.
90607         * modules/dirfd (Files): Remove lib/dirfd.h.
90608         (Depends-on): Add dirent, extensions.
90609         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
90610         (Include): Specify <dirent.h> instead of dirfd.h.
90611         * modules/dirent (Depends-on): Add link-warning.
90612         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
90613         definition of GL_LINK_WARNING.
90614         * NEWS: Mention the change.
90616 2008-10-18  Bruno Haible  <bruno@clisp.org>
90618         Move the euidaccess() declaration to <unistd.h>.
90619         * lib/euidaccess.h: Remove file.
90620         * lib/unistd.in.h (euidaccess): New declaration.
90621         * lib/euidaccess.c: Don't include euidaccess.h.
90622         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
90623         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
90624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
90625         and HAVE_EUIDACCESS.
90626         * modules/euidaccess (Files): Remove lib/euidaccess.h.
90627         (Depends-on): Add unistd.
90628         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90629         (Include): Specify <unistd.h> instead of euidaccess.h.
90630         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
90631         HAVE_EUIDACCESS.
90632         * NEWS: Mention the change.
90634 2008-10-18  Bruno Haible  <bruno@clisp.org>
90636         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
90638         Move the getdomainname() declaration to <unistd.h>.
90639         * lib/getdomainname.h: Remove file.
90640         * lib/unistd.in.h (getdomainname): New declaration.
90641         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
90642         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
90643         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90644         HAVE_GETDOMAINNAME.
90645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90646         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
90647         * modules/getdomainname (Files): Remove lib/getdomainname.h.
90648         (Depends-on): Add unistd, extensions.
90649         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90650         (Includes): Specify <unistd.h> instead of getdomainname.h.
90651         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
90652         HAVE_GETDOMAINNAME.
90653         * NEWS: Mention the change.
90655 2008-10-18  Bruno Haible  <bruno@clisp.org>
90657         * modules/dirent: New file.
90658         * m4/dirent_h.m4: New file.
90659         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
90660         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
90661         * modules/fchdir (Files): Remove lib/dirent.in.h.
90662         (Depends-on): Add dirent.
90663         (Makefile.am): Move rules to modules/dirent.
90664         * doc/posix-headers/dirent.texi: Mention the new module.
90666 2008-10-18  Bruno Haible  <bruno@clisp.org>
90668         Avoid -Wunused-parameter warnings in public gnulib header files.
90669         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
90670         macro.
90671         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
90673 2008-10-18  Bruno Haible  <bruno@clisp.org>
90675         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
90676         * doc/glibc-functions/error.texi: Mention the module 'error'.
90677         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
90678         * doc/glibc-functions/getdomainname.texi: Mention the module
90679         'getdomainname'.
90680         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
90681         * doc/glibc-functions/getpagesize.texi: Mention the module
90682         'getpagesize'.
90683         * doc/glibc-functions/getusershell.texi: Mention the module
90684         'getusershell'.
90685         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
90686         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
90687         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
90688         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
90689         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
90690         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
90691         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
90692         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
90693         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
90694         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
90695         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
90696         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
90697         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
90698         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
90700 2008-10-17  Bruno Haible  <bruno@clisp.org>
90702         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
90703         HP-UX and IRIX, use -0.0L.
90704         * tests/test-ceill.c (minus_zero): Likewise.
90705         * tests/test-floorl.c (minus_zero): Likewise.
90706         * tests/test-frexpl.c (minus_zero): Likewise.
90707         * tests/test-isnan.c (minus_zerol): Likewise.
90708         * tests/test-isnanl.h (minus_zero): Likewise.
90709         * tests/test-ldexpl.c (minus_zero): Likewise.
90710         * tests/test-roundl.c (minus_zero): Likewise.
90711         * tests/test-signbit.c (minus_zerol): Likewise.
90712         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
90713         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
90714         * tests/test-truncl.c (minus_zero): Likewise.
90715         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
90716         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
90717         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
90718         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
90720 2008-10-17  Bruno Haible  <bruno@clisp.org>
90722         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
90723         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
90724         that it gets activated only for gcc >= 3.0.
90725         * lib/dirent.in.h: Likewise.
90726         * lib/errno.in.h: Likewise.
90727         * lib/fcntl.in.h: Likewise.
90728         * lib/float.in.h: Likewise.
90729         * lib/iconv.in.h: Likewise.
90730         * lib/inttypes.in.h: Likewise.
90731         * lib/locale.in.h: Likewise.
90732         * lib/math.in.h: Likewise.
90733         * lib/netdb.in.h: Likewise.
90734         * lib/netinet_in.in.h: Likewise.
90735         * lib/search.in.h: Likewise.
90736         * lib/signal.in.h: Likewise.
90737         * lib/spawn.in.h: Likewise.
90738         * lib/stdarg.in.h: Likewise.
90739         * lib/stdint.in.h: Likewise.
90740         * lib/stdio.in.h: Likewise.
90741         * lib/stdlib.in.h: Likewise.
90742         * lib/string.in.h: Likewise.
90743         * lib/strings.in.h: Likewise.
90744         * lib/sys_file.in.h: Likewise.
90745         * lib/sys_ioctl.in.h: Likewise.
90746         * lib/sys_select.in.h: Likewise.
90747         * lib/sys_socket.in.h: Likewise.
90748         * lib/sys_stat.in.h: Likewise.
90749         * lib/sys_time.in.h: Likewise.
90750         * lib/sysexits.in.h: Likewise.
90751         * lib/time.in.h: Likewise.
90752         * lib/unistd.in.h: Likewise.
90753         * lib/wchar.in.h: Likewise.
90754         * lib/wctype.in.h: Likewise.
90755         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90757 2008-10-17  Jim Meyering  <meyering@redhat.com>
90759         ignore-value: don't depend on inline module
90760         * modules/ignore-value (Depends-on): Remove 'inline'.
90761         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
90762         Suggestion from Bruno Haible.
90764 2008-10-17  Bruno Haible  <bruno@clisp.org>
90766         New implementation of condition variables for Win32.
90767         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
90768         (gl_linked_waitqueue_t): New type.
90769         (gl_cond_t): Use it.
90770         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
90771         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
90772         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
90773         (glthread_cond_init_func, glthread_cond_wait_func,
90774         glthread_cond_timedwait_func, glthread_cond_signal_func,
90775         glthread_cond_broadcast_func, glthread_cond_destroy_func):
90776         Reimplemented on the basis of gl_linked_waitqueue_t.
90777         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
90778         gl_waitqueue_t.
90779         (gl_rwlock_t): Update.
90780         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
90782 2008-10-17  Simon Josefsson  <simon@josefsson.org>
90784         * modules/recvfrom (Depends-on): Add dependency on getpeername.
90785         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90787 2008-10-17  Jim Meyering  <meyering@redhat.com>
90789         ignore-value: new module
90790         * modules/ignore-value: New file.
90791         * lib/ignore-value.h: New file.
90792         * MODULES.html.sh (Compiler warning management): New section,
90793         just for this module.  More to come.
90795 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90797         open-safer.c: avoid 'signed and unsigned in conditional...' warning
90798         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
90799         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
90801 2008-10-16  Jim Meyering  <meyering@redhat.com>
90803         openat-die.c: avoid 'no previous prototype' warning
90804         * lib/openat-die.c: Include "openat.h".
90805         Reported by Reuben Thomas <rrt@sc3d.org>.
90807 2008-10-16  Simon Josefsson  <simon@josefsson.org>
90809         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
90810         * lib/netdb.in.h: Fix typo.
90811         Reported by Bruno Haible  <bruno@clisp.org>
90813         * lib/netdb.in.h: Include sys/socket.h for platforms without
90814         netdb.h, to get structures like hostent on MinGW.
90815         * modules/netdb (Depends-on): Add sys_socket.
90817 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90819         * modules/netdb, modules/netdb-tests: New file.
90820         * m4/netdb_h.m4: New file.
90821         * lib/netdb.in.h: Add, currently just an empty file pending
90822         definitions.
90823         * tests/test-netdb.c: New file.
90824         * doc/posix-headers/netdb.texi: Mention that we replace it if
90825         needed.
90826         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90827         netdb.
90829 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90831         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
90832         with code.
90834 2008-10-13  Bruno Haible  <bruno@clisp.org>
90836         * lib/glthread/cond.c (glthread_cond_wait_func,
90837         glthread_cond_timedwait_func): Add a comment.
90839 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90841         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
90842         * tests/test-select.c: Likewise,
90844 2008-10-13  Bruno Haible  <bruno@clisp.org>
90846         * lib/glthread/cond.c (glthread_cond_wait_func,
90847         glthread_cond_timedwait_func): Fix variable name.
90848         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90850 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
90852         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
90853         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
90854         struct sockaddr.sa_len.
90855         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
90857 2008-10-13  Simon Josefsson  <simon@josefsson.org>
90859         * build-aux/pmccabe2html: Add css and css_url parameters.
90861 2008-10-12  Bruno Haible  <bruno@clisp.org>
90863         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
90864         calling aclx_get.
90865         Reported by Rainer Tammer <tammer@tammer.net>.
90867 2008-10-12  Bruno Haible  <bruno@clisp.org>
90869         Use msvcrt aware primitives for creation/termination of Win32 threads.
90870         * lib/glthread/thread.c: Include <process.h>.
90871         (glthread_create_func): Use _beginthreadex instead of CreateThread.
90872         (wrapper_func): Update signature.
90873         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
90875 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90876             Bruno Haible  <bruno@clisp.org>
90878         Provide a Win32 implementation of the 'cond' module.
90879         * lib/glthread/cond.h [USE_WIN32]: New implementation.
90880         * lib/glthread/cond.c (glthread_cond_init_func,
90881         glthread_cond_wait_func, glthread_cond_timedwait_func,
90882         glthread_cond_signal_func, glthread_cond_broadcast_func,
90883         glthread_cond_destroy_func) [USE_WIN32]: New functions.
90884         * modules/cond (Dependencies): Add gettimeofday.
90886 2008-10-11  Bruno Haible  <bruno@clisp.org>
90888         Make sleep work on older versions of mingw.
90889         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
90890         only whether it exists.
90891         * doc/posix-functions/sleep.texi: Mention the problem with older
90892         versions of mingw.
90894 2008-10-11  Bruno Haible  <bruno@clisp.org>
90896         New module 'shutdown'.
90897         * modules/shutdown: New file.
90898         * lib/sys_socket.in.h (shutdown): New declaration.
90899         * lib/winsock.c (shutdown): New function.
90900         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
90901         GNULIB_SHUTDOWN.
90902         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
90903         * doc/posix-functions/shutdown.texi: Document the new module.
90905 2008-10-11  Jim Meyering  <meyering@redhat.com>
90907         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
90909 2008-10-11  Bruno Haible  <bruno@clisp.org>
90911         New module 'fclose'.
90912         * modules/fclose: New file.
90913         * lib/stdio.in.h (fclose): New declaration.
90914         * lib/fclose.c: New file.
90915         * m4/fclose.m4: New file.
90916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
90917         REPLACE_FCLOSE.
90918         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
90919         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
90920         REPLACE_FCLOSE.
90921         * modules/close (Depends-on): fclose.
90922         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
90924 2008-10-11  Bruno Haible  <bruno@clisp.org>
90926         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
90927         set errno and don't call _close.
90929 2008-10-10  Bruno Haible  <bruno@clisp.org>
90931         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
90932         ACL, not afterwards. Fixes test failure on Cygwin.
90934 2008-10-09  Ben Pfaff  <blp@gnu.org>
90936         * build-aux/announce-gen: Fix gnulib version related part of usage
90937         message.  Die with a useful error message if no tarballs are
90938         found.
90940 2008-10-10  Jim Meyering  <meyering@redhat.com>
90942         bootstrap: use git's --depth=N option only if it's supported
90943         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
90944         recognize the --depth option.  Reported by Pádraig Brady.
90946 2008-10-09  Bruno Haible  <bruno@clisp.org>
90948         New module 'ioctl'.
90949         * modules/ioctl: New file.
90950         * lib/sys_socket.in.h (ioctl): Remove declaration.
90951         * lib/winsock.c: Include <sys/ioctl.h>.
90952         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
90953         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90954         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
90955         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
90956         * doc/posix-functions/ioctl.texi: Mention the new module.
90958 2008-10-09  Bruno Haible  <bruno@clisp.org>
90960         New module 'sys_ioctl'.
90961         * lib/sys_ioctl.in.h: New file.
90962         * m4/sys_ioctl_h.m4: New file.
90963         * modules/sys_ioctl: New file.
90964         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
90966 2008-10-09  Bruno Haible  <bruno@clisp.org>
90968         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
90969         * lib/winsock.c: Include <stdarg.h>.
90970         (rpl_ioctl): Change to second argument 'int' and then varargs.
90972 2008-10-09  Bruno Haible  <bruno@clisp.org>
90974         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
90975         when the sys_socket module is present and the system has <winsock2.h>.
90977 2008-10-09  Bruno Haible  <bruno@clisp.org>
90979         * doc/posix-functions/close.texi: Mention module 'close' instead of
90980         module 'sys_socket'.
90982 2008-10-09  Bruno Haible  <bruno@clisp.org>
90984         * doc/glibc-headers/sys_ioctl.texi: New file.
90985         * doc/gnulib.texi: Include it.
90987 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90988             Bruno Haible  <bruno@clisp.org>
90990         Combine the two replacements of 'close'.
90991         * lib/sys_socket.in.h (close): Define to a reminder to include
90992         <unistd.h>.
90993         (_gl_close_fd_maybe_socket): New declaration.
90994         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
90995         * lib/winsock.c (close): Remove undefinition.
90996         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
90997         needed for the gnulib module 'close'.
90998         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
90999         define to an error symbol or to a warning, if suitable.
91000         * lib/close.c: Include <sys/socket.h>.
91001         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
91002         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
91003         UNISTD_H_HAVE_WINSOCK2_H.
91004         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
91005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91006         UNISTD_H_HAVE_WINSOCK2_H.
91007         * modules/sys_socket (Files): Add m4/unistd_h.m4.
91008         (configure.ac): Set a module indicator.
91009         (Makefile.am): Substitute GNULIB_CLOSE.
91010         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
91011         * modules/poll-tests (Depends-on): Add close.
91012         * modules/select-tests (Depends-on): Likewise.
91014 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91015             Bruno Haible  <bruno@clisp.org>
91017         New module 'close'.
91018         * modules/close: New file.
91019         * lib/unistd.in.h (close): Move declaration out of the
91020         FCHDIR_REPLACEMENT scope.
91021         (_gl_unregister_fd): New declaration.
91022         * lib/close.c: New file.
91023         * lib/fchdir.c (rpl_close): Remove function.
91024         * m4/close.m4: New file.
91025         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91026         close.
91027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
91028         REPLACE_CLOSE.
91029         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
91030         REPLACE_CLOSE.
91031         * modules/fchdir (Depends-on): Add close.
91033 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91034             Bruno Haible  <bruno@clisp.org>
91036         * lib/fcntl.in.h (open): Simplify conditionals.
91037         (_gl_register_fd): New declaration.
91038         * lib/fchdir.c (rpl_open): Remove function.
91039         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
91040         also.
91041         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
91042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
91043         open.
91045 2008-10-09  Jim Meyering  <meyering@redhat.com>
91047         GNUmakefile: use the more name-space-friendly "_version"
91048         * top/GNUmakefile (_dummy): Update.
91049         (_version): Rename from "version".
91051 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91052             Bruno Haible  <bruno@clisp.org>
91054         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
91055         rpl_close.
91056         (_gl_register_fd): New function, extracted from rpl_open.
91057         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
91058         (rpl_open, rpl_opendir): Use _gl_register_fd.
91060 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
91062         Fix organization of 'open' replacement.
91063         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
91064         (gl_FUNC_OPEN): Use it.
91065         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
91067 2008-10-08  Bruno Haible  <bruno@clisp.org>
91069         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
91071 2008-10-08  Simon Josefsson  <simon@josefsson.org>
91073         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
91074         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
91075         listen).
91077 2008-10-08  Eric Blake  <ebb9@byu.net>
91079         GNUmakefile: add 'make version' target
91080         * top/GNUmakefile (_curr-ver): Split version update rules...
91081         (version): ...into a target.
91083 2008-10-07  Bruno Haible  <bruno@clisp.org>
91085         Use a more portable replacement expression for -0.0L.
91086         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
91087         instead of -0.0L. Fix m4 quotation.
91089         * tests/test-signbit.c: Include <float.h>.
91090         (minus_zero): New variable.
91091         (test_signbitl): Use minus_zero instead of -zero.
91092         * modules/signbit-tests (Depends-on): Add float.
91094         * tests/test-ceill.c: Include <float.h>.
91095         (zero): Remove variable.
91096         (minus_zero): New variable.
91097         (main): Use minus_zero instead of -zero.
91098         * modules/ceill-tests (Depends-on): Add float.
91100         * tests/test-floorl.c: Include <float.h>.
91101         (zero): Remove variable.
91102         (minus_zero): New variable.
91103         (main): Use minus_zero instead of -zero.
91104         * modules/floorl-tests (Depends-on): Add float.
91106         * tests/test-roundl.c: Include <float.h>.
91107         (zero): Remove variable.
91108         (minus_zero): New variable.
91109         (main): Use minus_zero instead of -zero.
91110         * modules/roundl-tests (Depends-on): Add float.
91112         * tests/test-truncl.c: Include <float.h>.
91113         (zero): Remove variable.
91114         (minus_zero): New variable.
91115         (main): Use minus_zero instead of -zero.
91116         * modules/truncl-tests (Depends-on): Add float.
91118         * tests/test-frexpl.c (zero): Remove variable.
91119         (minus_zero): New variable.
91120         (main): Use minus_zero instead of -zero.
91121         * modules/frexpl-tests (Depends-on): Add float.
91123         * tests/test-isnan.c (zerol): Remove variable.
91124         (minus_zerol): New variable.
91125         (test_long_double): Use minus_zerol instead of -zerol.
91126         * modules/isnan-tests (Depends-on): Add float.
91128         * tests/test-isnanl.h (zero): Remove variable.
91129         (minus_zero): New variable.
91130         (main): Use minus_zero instead of -zero.
91131         * modules/isnanl-nolibm-tests (Depends-on): Add float.
91132         * modules/isnanl-tests (Depends-on): Add float.
91134         * tests/test-ldexpl.c (zero): Remove variable.
91135         (minus_zero): New variable.
91136         (main): Use minus_zero instead of -zero.
91137         * modules/ldexpl-tests (Depends-on): Add float.
91139         * tests/test-snprintf-posix.h (zerol): Remove variable.
91140         (minus_zerol): New variable.
91141         (test_function): Use minus_zerol instead of -zerol.
91142         * modules/snprintf-posix-tests (Depends-on): Add float.
91143         * modules/vsnprintf-posix-tests (Depends-on): Add float.
91145         * tests/test-sprintf-posix.h (zerol): Remove variable.
91146         (minus_zerol): New variable.
91147         (test_function): Use minus_zerol instead of -zerol.
91148         * modules/sprintf-posix-tests (Depends-on): Add float.
91149         * modules/vsprintf-posix-tests (Depends-on): Add float.
91151         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
91152         (minus_zerol): New variable.
91153         (test_function): Use minus_zerol instead of -zerol.
91154         * modules/vasnprintf-posix-tests (Depends-on): Add float.
91156         * tests/test-vasprintf-posix.c (zerol): Remove variable.
91157         (minus_zerol): New variable.
91158         (test_function): Use minus_zerol instead of -zerol.
91159         * modules/vasprintf-posix-tests (Depends-on): Add float.
91161 2008-10-07  Simon Josefsson  <simon@josefsson.org>
91163         * MODULES.html.sh (Support for building documentation): Mention
91164         pmccabe2html.  Sort entries.
91166         Add pmccabe2html module, from gnupdf.
91167         * build-aux/pmccabe.css: New file.
91168         * build-aux/pmccabe2html: New file.
91169         * m4/pmccabe2html.m4: New file.
91170         * modules/pmccabe2html: New file.
91172 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
91174         flock: new module
91175         * MODULES.html.sh: Add to list of modules.
91176         * lib/flock.c: flock implementation for Windows and Unix systems
91177         which have fcntl.
91178         * doc/glibc-functions/flock.texi: Update documentation.
91179         * lib/sys_file.in.h: <sys/file.h> header file.
91180         * m4/flock.m4: M4 macros.
91181         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
91182         * modules/flock: flock module.
91183         * modules/flock-tests: flock tests module.
91184         * modules/sys_file: sys/file.h module.
91185         * tests/test-flock.c: test suite for flock.
91187 2008-10-06  Jim Meyering  <meyering@redhat.com>
91189         bootstrap: check for LT_INIT more portably still ;-)
91190         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
91191         Spotted by Bruno Haible.
91193 2008-10-06  Eric Blake  <ebb9@byu.net>
91195         test-signbit: avoid tripping Irix cc bug on -0.0L
91196         * tests/test-signbit.c (minus_zerol): Delete, and replace with
91197         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
91198         entire testsuite consistent and avoids an Irix 6.2 bug.
91200 2008-10-05  Bruno Haible  <bruno@clisp.org>
91201             Jim Meyering  <jim@meyering.net>
91203         Add an option for ignoring EPIPE during close_stdout.
91204         * lib/closeout.h: Include <stdbool.h>.
91205         (close_stdout_set_ignore_EPIPE): New declaration.
91206         * lib/closeout.c: Include <stdbool.h>.
91207         (ignore_EPIPE): New variable.
91208         (close_stdout_set_ignore_EPIPE): New function.
91209         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
91210         * lib/close-stream.c (close_stream): Mention the possible EPIPE
91211         failure.
91212         * modules/closeout (Depends-on): Add stdbool.
91214 2008-10-05  Bruno Haible  <bruno@clisp.org>
91216         * modules/accept: New file.
91217         * modules/bind: New file.
91218         * modules/connect: New file.
91219         * modules/getpeername: New file.
91220         * modules/getsockname: New file.
91221         * modules/getsockopt: New file.
91222         * modules/listen: New file.
91223         * modules/recv: New file.
91224         * modules/recvfrom: New file.
91225         * modules/send: New file.
91226         * modules/sendto: New file.
91227         * modules/setsockopt: New file.
91228         * modules/socket: New file.
91229         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
91230         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
91231         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
91232         the particular module is requested. Add a link warning when the
91233         particular module is not requested.
91234         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
91235         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
91236         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
91237         the particular module is requested.
91238         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
91239         gl_SYS_SOCKET_H_DEFAULTS): New macros.
91240         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
91241         * modules/sys_socket (Depends-on): Add link-warning.
91242         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
91243         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
91244         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
91245         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
91246         GL_LINK_WARNING.
91247         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
91248         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
91249         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
91250         * doc/posix-functions/getpeername.texi: Mention the new module
91251         'getpeername'.
91252         * doc/posix-functions/getsockname.texi: Mention the new module
91253         'getsockname'.
91254         * doc/posix-functions/getsockopt.texi: Mention the new module
91255         'getsockopt'.
91256         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
91257         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
91258         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
91259         * doc/posix-functions/send.texi: Mention the new module 'send'.
91260         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
91261         * doc/posix-functions/setsockopt.texi: Mention the new module
91262         'setsockopt'.
91263         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
91264         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
91265         listen, connect, accept.
91266         * modules/select-tests (Depends-on): Likewise.
91268 2008-10-05  Bruno Haible  <bruno@clisp.org>
91270         * lib/winsock.c (strerror): Remove unused #undef.
91271         (rpl_close): Remove unused local variable.
91273         * modules/sys_socket (Depends-on); Add errno.
91275 2008-10-05  Bruno Haible  <bruno@clisp.org>
91277         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
91278         (select): Add a link warning when the 'select' module is not used.
91279         * modules/sys_select (Depends-on): Add link-warning.
91280         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
91281         Suggested by Paolo Bonzini.
91283 2008-10-05  Jim Meyering  <meyering@redhat.com>
91285         bootstrap: check for LT_INIT more portably
91286         * build-aux/bootstrap: Avoid using grep -E, since it's not
91287         portable enough.  Suggestion from Bruno Haible.
91289 2008-10-05  Bruno Haible  <bruno@clisp.org>
91291         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
91292         as being fixed by gnulib.
91294 2008-10-05  Bruno Haible  <bruno@clisp.org>
91296         * modules/select-tests: New file, mostly copied from
91297         modules/sys_select-tests.
91298         * tests/test-select.c: New file, mostly copied from
91299         tests/test-sys_select.c.
91300         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
91301         * modules/sys_select-tests (Depends-on): Remove all dependencies.
91302         (Makefile.am): Remove test_sys_select_LDADD.
91304         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
91305         to an undefined symbol, for an error message.
91306         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
91307         (gl_SYS_SELECT_H_DEFAULTS): New macro.
91308         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
91309         winsock-select.c here.
91310         * modules/sys_select (Files): Remove lib/winsock-select.c.
91311         (Depends-on): Remove alloca.
91312         (Makefile.am): Substitute GNULIB_SELECT.
91313         * modules/select: New file.
91314         * doc/posix-functions/select.texi: Update.
91316 2008-10-05  Bruno Haible  <bruno@clisp.org>
91318         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
91319         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
91320         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
91321         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
91322         getdtablesize.
91323         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
91324         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
91326 2008-10-05  Bruno Haible  <bruno@clisp.org>
91328         * modules/getdtablesize-tests: New file.
91329         * tests/test-getdtablesize.c: New file.
91331         New module 'getdtablesize'.
91332         * lib/unistd.in.h (getdtablesize): New declaration.
91333         * lib/getdtablesize.c: New file.
91334         * m4/getdtablesize.m4: New file.
91335         * modules/getdtablesize: New file.
91336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91337         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
91338         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
91339         HAVE_GETDTABLESIZE.
91340         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
91342 2008-10-05  Bruno Haible  <bruno@clisp.org>
91344         * modules/sched (Makefile.am): Fix typo.
91345         Reported by Simon Josefsson.
91347 2008-10-05  Jim Meyering  <meyering@redhat.com>
91349         bootstrap: check for LT_INIT, too
91350         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
91351         are deprecated.  Suggestion from Ralf Wildenhues.
91353 2008-10-05  Bruno Haible  <bruno@clisp.org>
91355         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
91356         overriding them by ours.
91357         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
91359 2008-10-05  Jim Meyering  <meyering@redhat.com>
91361         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
91362         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
91363         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
91365 2008-10-04  Bruno Haible  <bruno@clisp.org>
91367         * modules/dup2 (License): Change to LGPLv2+.
91368         * modules/sleep (License): Likewise.
91369         * modules/perror (License): Likewise.
91370         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
91371         Blake.
91372         * modules/signal (License): Likewise.
91373         * modules/sigprocmask (License): Likewise.
91374         * modules/raise (License): Change to LGPLv2+, with approval by Jim
91375         Meyering.
91377 2008-10-04  Bruno Haible  <bruno@clisp.org>
91379         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
91380         Reported by Rainer Tammer <tammer@tammer.net>.
91382 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
91383             Bruno Haible  <bruno@clisp.org>
91385         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
91386         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
91387         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
91389 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
91391         filevercmp: new module
91392         * lib/filevercmp.h: New function filevercmp comparing version strings.
91393         * lib/filevercmp.c: Implementation of filevercmp function.
91394         * modules/filevercmp: Module metadata.
91395         * tests/test-filevercmp.c: Unit test for new module.
91396         * modules/filevercmp-tests: Unit test metadata.
91397         * MODULES.html.sh: Add filevercmp module.
91399 2008-10-03  Bruno Haible  <bruno@clisp.org>
91401         * lib/c-ctype.h: Add comment.
91402         Reported by Jim Meyering.
91404 2008-10-02  Bruno Haible  <bruno@clisp.org>
91406         * modules/posix_spawn-internal (Depends-on): Add 'open'.
91408 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91410         * build-aux/bootstrap: Allow renaming bootstrap, and change the
91411         name of bootstrap.conf accordingly.
91413 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91415         * build-aux/bootstrap: Install git-merge-changelog configuration
91416         items into .gitconfig if needed.
91418 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
91420         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
91421         git repository, and initialize/update it accordingly.
91423 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
91425         * modules/fsync-tests: New file.
91426         * tests/test-fsync.c: New file.
91428         New module 'fsync'.
91429         * lib/fsync.c: New file.
91430         * m4/fsync.m4: New file.
91431         * modules/fsync: New file.
91432         * lib/unistd.in.h (fsync): New declaration.
91433         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
91434         GNULIB_FSYNC and HAVE_FSYNC.
91435         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
91436         * MODULES.html.sh (posix_functions): Add fsync.
91437         * doc/posix-functions/fsync.texi: Mention the new module.
91439 2008-10-02  Jim Meyering  <meyering@redhat.com>
91441         fts.c: sync with similar code from coreutils' remove.c
91442         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
91443         Guard also with "#if defined __linux__", since for now at least,
91444         this code is Linux-kernel-specific.
91446 2008-10-02  Jim Meyering  <meyering@redhat.com>
91448         fts: bug fixes
91449         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
91450         Include <sys/vfs.h>, not <sys/statfs.h>.
91452         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
91453         Include <sys/vfs.h>, not <sys/statfs.h>.
91455 2008-10-01  Bruno Haible  <bruno@clisp.org>
91457         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
91458         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
91459         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
91460         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
91461         * doc/posix-functions/posix_spawnp.texi: Likewise.
91462         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
91463         whether posix_spawn actually works.
91464         * m4/pipe.m4 (gl_PIPE): Likewise.
91465         * modules/execute (Files): Add m4/posix_spawn.m4.
91466         * modules/pipe (Files): Add m4/posix_spawn.m4.
91467         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
91469 2008-10-01  Jim Meyering  <meyering@redhat.com>
91471         remove trailing spaces
91472         * NEWS: Likewise.
91473         * lib/poll.c (poll): Likewise.
91474         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
91475         * lib/winsock.c (rpl_close): Likewise.
91476         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
91477         * modules/yield: Likewise.
91478         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
91479         * tests/test-sys_select.c (connect_to_socket): Likewise.
91481         fts.c: adjust a new interface to be more generally useful
91482         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
91483         (fts_build): Adjust caller.
91485 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91487         * modules/cond-tests: New file.
91488         * tests/test-cond.c: New file.
91490 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91491             Bruno Haible  <bruno@clisp.org>
91493         * modules/cond (Dependencies): Add errno, time.
91494         * lib/glthread/cond.h: Include <time.h>.
91495         (gl_cond_define, gl_cond_define_initialized): Use the same definition
91496         across platforms.
91498 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91499             Bruno Haible  <bruno@clisp.org>
91501         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
91503 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91504             Bruno Haible  <bruno@clisp.org>
91506         * modules/tls-tests (Depends-on): Add thread, yield.
91507         (configure.ac): Remove all checks.
91508         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
91509         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91510         gl_thread_self): Remove definitions. Include glthread/thread.h and
91511         glthread/yield.h instead.
91512         (test_tls): Pass an additional NULL argument to gl_thread_join.
91514 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91515             Bruno Haible  <bruno@clisp.org>
91517         * modules/lock-tests (Depends-on): Add thread, yield.
91518         (configure.ac): Remove all checks.
91519         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
91520         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
91521         gl_thread_self): Remove definitions. Include glthread/thread.h and
91522         glthread/yield.h instead.
91523         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
91524         additional NULL argument to gl_thread_join.
91526 2008-09-30  Bruno Haible  <bruno@clisp.org>
91528         Fix the Win32 implementation of the 'thread' module.
91529         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
91530         pointer type.
91531         (gl_thread_self): Invoke gl_thread_self_func.
91532         (gl_thread_self_func): New declaration.
91533         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
91534         (do_init_self_key, init_self_key): New functions.
91535         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
91536         Remove some fields.
91537         (running_threads, running_lock): Remove variables.
91538         (get_current_thread_handle): New function.
91539         (gl_thread_self_func, wrapper_func, glthread_create_func,
91540         glthread_join_func, gl_thread_exit_func): Largely rewritten and
91541         simplified.
91543 2008-09-30  Bruno Haible  <bruno@clisp.org>
91545         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
91546         files.
91548 2008-09-30  Jim Meyering  <meyering@redhat.com>
91550         fts.m4: correct the test for statfs.f_type
91551         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
91552         when checking for statfs.f_type.
91554 2008-09-15  Simon Josefsson  <simon@josefsson.org>
91556         tests: avoid some compiler warnings
91557         * tests/test-memchr.c (main): Pass NULL indirectly.
91558         * tests/test-getdate.c (main): Remove unused variable 'ret'.
91560 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
91562         getdate.y: disallow countable dayshifts like "4 yesterday ago"
91563         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
91564         exactly specified dayshifts.
91565         (dayshift): New rule.
91566         (rel): Add dayshift.
91567         (relative_time_table) [tomorrow, yesterday, today, now]:
91568         Use tDAY_SHIFT in place of tDAY_UNIT.
91569         * tests/test-getdate.c: Add tests for now-disallowed countable
91570         dayshifts, e.g., "4 yesterday ago".
91572 2008-09-29  Bruno Haible  <bruno@clisp.org>
91574         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
91575         * tests/test-posix_spawn1.in.sh: Renamed from
91576         tests/test-posix_spawn.in.sh.
91577         * tests/test-posix_spawn2.c: New file.
91578         * tests/test-posix_spawn2.in.sh: New file.
91579         * modules/posix_spawnp-tests (Files): Update.
91580         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
91582 2008-09-29  Bruno Haible  <bruno@clisp.org>
91584         Propagate effects of putenv/setenv/unsetenv to child processes.
91585         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
91586         * lib/pipe.c (create_pipe): Likewise.
91588 2008-09-29  Bruno Haible  <bruno@clisp.org>
91590         Enable use of shell scripts as executables in mingw.
91591         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
91592         run the program as a shell script.
91593         * lib/pipe.c (create_pipe): Likewise.
91594         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
91595         resulting array.
91597 2008-09-29  Eric Blake  <ebb9@byu.net>
91599         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
91601 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
91603         * doc/posix-functions/accept.texi: Update mingw problems.
91604         * doc/posix-functions/bind.texi: Update mingw problems.
91605         * doc/posix-functions/close.texi: Update mingw problems.
91606         * doc/posix-functions/connect.texi: Update mingw problems.
91607         * doc/posix-functions/getpeername.texi: Update mingw problems.
91608         * doc/posix-functions/getsockname.texi: Update mingw problems.
91609         * doc/posix-functions/getsockopt.texi: Update mingw problems.
91610         * doc/posix-functions/ioctl.texi: Update mingw problems.
91611         * doc/posix-functions/listen.texi: Update mingw problems.
91612         * doc/posix-functions/recv.texi: Update mingw problems.
91613         * doc/posix-functions/recvfrom.texi: Update mingw problems.
91614         * doc/posix-functions/select.texi: Update mingw problems.
91615         * doc/posix-functions/send.texi: Update mingw problems.
91616         * doc/posix-functions/sendto.texi: Update mingw problems.
91617         * doc/posix-functions/setsockopt.texi: Update mingw problems.
91618         * doc/posix-functions/socket.texi: Update mingw problems.
91620 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
91621             Bruno Haible  <bruno@clisp.org>
91623         * lib/sys_select.in.h: Include sys/time.h.
91624         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
91625         * modules/sys_select: Depend on sys_time.
91626         * tests/test-sys_select.c: Test that sys/select.h defines struct
91627         timeval fully.
91629 2008-09-29  Bruno Haible  <bruno@clisp.org>
91631         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
91632         * lib/sys_select.in.h: Likewise.
91634 2008-09-29  Bruno Haible  <bruno@clisp.org>
91636         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
91638 2008-09-29  Bruno Haible  <bruno@clisp.org>
91640         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
91641         Set LIBSOCKET instead of augmenting LIBS.
91642         * modules/sockets (Link): New section.
91643         * modules/sockets-tests (test_sockets_LDADD): New variable.
91644         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
91645         * modules/poll-tests (test_poll_LDADD): New variable.
91646         * NEWS: Document the change.
91648 2008-09-29  Bruno Haible  <bruno@clisp.org>
91650         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
91651         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
91652         ARPA_INET_H directly.
91653         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
91655 2008-09-28  Bruno Haible  <bruno@clisp.org>
91657         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
91658         from gl_HEADER_SYS_SOCKET.
91659         (gl_HEADER_SYS_SOCKET): Invoke it.
91660         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
91662 2008-09-28  Bruno Haible  <bruno@clisp.org>
91664         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
91665         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
91666         Needed on OSF/1 4.0.
91668 2008-09-28  Bruno Haible  <bruno@clisp.org>
91670         Override open more carefully.
91671         * lib/open.c (orig_open): New function.
91672         (rpl_open): Use orig_open instead of open.
91673         * lib/fcntl.in.h: Add special invocation convention.
91674         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
91675         (gl_FUNC_OPEN): Invoke it.
91677         Override freopen more carefully.
91678         * lib/freopen.c (orig_freopen): New function.
91679         (rpl_freopen): Use orig_freopen instead of freopen.
91680         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
91681         (gl_FUNC_FREOPEN): Invoke it.
91683         Override fopen more carefully.
91684         * lib/fopen.c (orig_fopen): New function.
91685         (rpl_fopen): Use orig_fopen instead of fopen.
91686         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
91687         (gl_FUNC_FOPEN): Invoke it.
91688         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
91690 2008-09-28  Bruno Haible  <bruno@clisp.org>
91692         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
91693         SIGPIPE.
91695 2008-09-28  Bruno Haible  <bruno@clisp.org>
91697         * tests/test-sigaction.c (handler, main): Disable the check whether
91698         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
91699         glibc systems with LinuxThreads.
91701 2008-09-28  Bruno Haible  <bruno@clisp.org>
91703         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
91705         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
91706         with AIX xlc.
91707         * lib/fcntl.in.h (open): Likewise.
91708         Reported by Rainer Tammer <tammer@tammer.net>.
91710 2008-09-28  Bruno Haible  <bruno@clisp.org>
91712         * modules/posix_spawnp-tests: New file.
91713         * tests/test-posix_spawn.c: New file.
91714         * tests/test-posix_spawn.in.sh: New file.
91716         New module 'posix_spawnp'.
91717         * modules/posix_spawnp: New file.
91718         * lib/spawnp.c: New file, from GNU libc with modifications.
91719         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
91721         New module 'posix_spawn'.
91722         * modules/posix_spawn: New file.
91723         * lib/spawn.c: New file, from GNU libc with modifications.
91724         * doc/posix-functions/posix_spawn.texi: Mention the new module.
91726         New module 'posix_spawnattr_destroy'.
91727         * modules/posix_spawnattr_destroy: New file.
91728         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
91729         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
91730         module.
91732         New module 'posix_spawnattr_setsigmask'.
91733         * modules/posix_spawnattr_setsigmask: New file.
91734         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
91735         modifications.
91736         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
91737         new module.
91739         New module 'posix_spawnattr_getsigmask'.
91740         * modules/posix_spawnattr_getsigmask: New file.
91741         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
91742         modifications.
91743         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
91744         new module.
91746         New module 'posix_spawnattr_setsigdefault'.
91747         * modules/posix_spawnattr_setsigdefault: New file.
91748         * lib/spawnattr_setdefault.c: New file, from GNU libc with
91749         modifications.
91750         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
91751         new module.
91753         New module 'posix_spawnattr_getsigdefault'.
91754         * modules/posix_spawnattr_getsigdefault: New file.
91755         * lib/spawnattr_getdefault.c: New file, from GNU libc with
91756         modifications.
91757         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
91758         new module.
91760         New module 'posix_spawnattr_setschedpolicy'.
91761         * modules/posix_spawnattr_setschedpolicy: New file.
91762         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
91763         modifications.
91764         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
91765         new module.
91767         New module 'posix_spawnattr_getschedpolicy'.
91768         * modules/posix_spawnattr_getschedpolicy: New file.
91769         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
91770         modifications.
91771         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
91772         new module.
91774         New module 'posix_spawnattr_setschedparam'.
91775         * modules/posix_spawnattr_setschedparam: New file.
91776         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
91777         modifications.
91778         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
91779         new module.
91781         New module 'posix_spawnattr_getschedparam'.
91782         * modules/posix_spawnattr_getschedparam: New file.
91783         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
91784         modifications.
91785         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
91786         new module.
91788         New module 'posix_spawnattr_setpgroup'.
91789         * modules/posix_spawnattr_setpgroup: New file.
91790         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
91791         modifications.
91792         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
91793         module.
91795         New module 'posix_spawnattr_getpgroup'.
91796         * modules/posix_spawnattr_getpgroup: New file.
91797         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
91798         modifications.
91799         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
91800         module.
91802         New module 'posix_spawnattr_setflags'.
91803         * modules/posix_spawnattr_setflags: New file.
91804         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
91805         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
91806         module.
91808         New module 'posix_spawnattr_getflags'.
91809         * modules/posix_spawnattr_getflags: New file.
91810         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
91811         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
91812         module.
91814         New module 'posix_spawnattr_init'.
91815         * modules/posix_spawnattr_init: New file.
91816         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
91817         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
91818         module.
91820         New module 'posix_spawn_file_actions_destroy'.
91821         * modules/posix_spawn_file_actions_destroy: New file.
91822         * lib/spawn_faction_destroy.c: New file, from GNU libc with
91823         modifications.
91824         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
91825         the new module.
91827         New module 'posix_spawn_file_actions_addopen'.
91828         * modules/posix_spawn_file_actions_addopen: New file.
91829         * lib/spawn_faction_addopen.c: New file, from GNU libc with
91830         modifications.
91831         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
91832         the new module.
91834         New module 'posix_spawn_file_actions_adddup2'.
91835         * modules/posix_spawn_file_actions_adddup2: New file.
91836         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
91837         modifications.
91838         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
91839         the new module.
91841         New module 'posix_spawn_file_actions_addclose'.
91842         * modules/posix_spawn_file_actions_addclose: New file.
91843         * lib/spawn_faction_addclose.c: New file, from GNU libc with
91844         modifications.
91845         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
91846         the new module.
91848         New module 'posix_spawn_file_actions_init'.
91849         * modules/posix_spawn_file_actions_init: New file.
91850         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
91851         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
91852         new module.
91854         New module 'posix_spawn-internal'.
91855         * modules/posix_spawn-internal: New file.
91856         * lib/spawn_int.h: New file, from GNU libc with modifications.
91857         * lib/spawni.c: New file, from GNU libc with modifications.
91858         * m4/posix_spawn.m4: New file.
91860         New module 'spawn'.
91861         * modules/spawn: New file.
91862         * lib/spawn.in.h: New file, from GNU libc with modifications.
91863         * m4/spawn_h.m4: New file.
91864         * doc/posix-headers/spawn.texi: Mention the new module.
91866 2008-09-28  Bruno Haible  <bruno@clisp.org>
91868         * modules/sched-tests: New file.
91869         * tests/test-sched.c: New file.
91871         New module 'sched'.
91872         * modules/sched: New file.
91873         * lib/sched.in.h: New file.
91874         * m4/sched_h.m4: New file.
91875         * doc/posix-headers/sched.texi: Mention the new module.
91877 2008-09-27  Eric Blake  <ebb9@byu.net>
91879         Fix previous patch, and tweak references to $0.
91880         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
91881         (func_version, func_gnulib_dir): Don't call this program
91882         gnulib-tool.
91883         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
91884         with using $0 in function.
91885         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
91886         (func_fatal_error): Reuse the name the user invoked us with.
91888 2008-09-27  Bruno Haible  <bruno@clisp.org>
91890         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
91891         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
91892         (gl_ICONV_H): Not here.
91893         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
91894         instead of assigning ICONV_H directly.
91896         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
91897         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
91898         WCHAR_H directly.
91900 2008-09-27  Bruno Haible  <bruno@clisp.org>
91902         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
91903         * modules/arpa_inet (Depends-on): Add link-warning.
91904         (Makefile.am): Insert the definition of GL_LINK-WARNING.
91905         * modules/unistd (Makefile.am): Likewise.
91907 2008-09-26  Bruno Haible  <bruno@clisp.org>
91909         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
91910         variables.
91911         (func_version): Essentially copied from gnulib-tool.
91912         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
91913         func_readlink): Copied from gnulib-tool.
91915 2008-09-26  Bruno Haible  <bruno@clisp.org>
91917         * gnulib-tool (func_version): Change directory to $gnulib_dir before
91918         invoking git-version-gen.
91920 2008-09-26  Bruno Haible  <bruno@clisp.org>
91922         * posix-modules: Update to directory names changed on 2008-01-19.
91923         Remove commas in output before splitting into words. No more need to
91924         avoid 'ftruncate' since 2007-02-19.
91926 2008-09-26  Bruno Haible  <bruno@clisp.org>
91928         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
91930 2008-09-26  Bruno Haible  <bruno@clisp.org>
91932         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
91933         * modules/fwriteerror (Depends-on): Add errno.
91935 2008-09-26  Bruno Haible  <bruno@clisp.org>
91937         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
91938         * tests/test-vc-list-files-cvs.sh: Likewise.
91940 2008-09-26  Bruno Haible  <bruno@clisp.org>
91942         * doc/posix-headers/sys_resource.texi: Reorder items.
91944 2008-09-26  Jim Meyering  <meyering@redhat.com>
91946         fts: tweak inode comparison function
91947         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
91948         inode numbers, as documented.
91950         fts: sort dirent entries on inode number before traversing
91951         This avoids a quadratic, seek-related performance penalty when
91952         operating on a directory containing many entries (measurable at 10k;
91953         3.5 hours at 2 million entries with a cold cache) on certain types
91954         of file systems, including ext3 and ext4, but not tmpfs.
91955         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
91956         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
91957         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
91958         (fs_handles_readdir_ordered_dirents_efficiently): New function.
91959         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
91960         (fts_build): Set the stat.st_ino member from D_INO.
91961         If it is likely to be useful, sort dirent entries on inode number.
91963         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
91964         and the struct statfs.f_type member.
91965         * modules/fts (Depends-on): Add d-ino.
91967 2008-09-26  Bruno Haible  <bruno@clisp.org>
91969         * modules/sigpipe-die (Depends-on): Add sigpipe.
91971         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
91972         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
91973         and GNULIB_STDIO_H_SIGPIPE are set.
91974         * lib/stdio-write.c: New file.
91975         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
91976         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91977         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91978         REPLACE_STDIO_WRITE_FUNCS.
91979         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
91980         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91981         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91982         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91983         * modules/stdio (Files): Add lib/stdio-write.c.
91984         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
91985         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91986         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91987         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91988         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
91989         REPLACE_FPRINTF_POSIX.
91990         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
91991         REPLACE_PRINTF_POSIX.
91992         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
91993         REPLACE_VFPRINTF_POSIX.
91994         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
91995         REPLACE_VPRINTF_POSIX.
91996         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
91997         SIGPIPE issue.
91998         * doc/posix-functions/fputc.texi: Likewise.
91999         * doc/posix-functions/fputs.texi: Likewise.
92000         * doc/posix-functions/fwrite.texi: Likewise.
92001         * doc/posix-functions/printf.texi: Likewise.
92002         * doc/posix-functions/putc.texi: Likewise.
92003         * doc/posix-functions/putchar.texi: Likewise.
92004         * doc/posix-functions/puts.texi: Likewise.
92005         * doc/posix-functions/vfprintf.texi: Likewise.
92006         * doc/posix-functions/vprintf.texi: Likewise.
92008         * modules/safe-write (Depends-on): Add write.
92010         * modules/sigpipe-tests: New file.
92011         * tests/test-sigpipe.c: New file.
92012         * tests/test-sigpipe.sh: New file.
92014         * modules/write: New file.
92015         * lib/unistd.in.h: Include <sys/types.h>.
92016         (write): New declaration.
92017         * lib/write.c: New file.
92018         * m4/write.m4: New file.
92019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
92020         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
92021         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
92022         GNULIB_WRITE, REPLACE_WRITE.
92023         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
92024         and the SIGPIPE issue.
92026         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
92027         (raise): New declaration.
92028         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
92029         (ext_signal): New function.
92030         (rpl_raise): New function.
92031         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
92032         GNULIB_SIGNAL_H_SIGPIPE.
92033         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
92034         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
92036         * modules/sigpipe: New file.
92037         * m4/sigpipe.m4: New file.
92039 2008-09-25  Derek Price  <derek@ximbiot.com>
92040             Bruno Haible  <bruno@clisp.org>
92042         * gnulib-tool (func_import): Report all license incompatibilities, not
92043         just the first one.
92045 2008-09-25  Bruno Haible  <bruno@clisp.org>
92047         * gnulib-tool (func_import): When computing the edits, consider not
92048         only the Makefile.ams that exist but also those that will be generated.
92050 2008-09-25  Simon Josefsson  <simon@josefsson.org>
92052         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
92053         fixes gnulib-tool --test warning about duplicate dependency.
92055 2008-09-25  Bruno Haible  <bruno@clisp.org>
92057         * gnulib-tool: Don't ask the user to perform edits in the generated
92058         Makefile.ams.
92059         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
92060         apply to the Makefile.am being generated.
92061         (func_emit_tests_Makefile_am): Execute edits that apply to the
92062         Makefile.am being generated.
92063         (func_import): Setup list of Makefile.am edits before emitting the
92064         Makefile.ams, not at the end.
92065         (func_create_testdir): Update.
92066         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92068 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92070         * gnulib-tool (func_import): Store the --tests-base option in the
92071         comment in gnulib-cache.m4.
92073 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
92075         * NEWS: Document increased portability that sys_select now provides.
92077         * lib/sys_select.in.h: Install select wrapper.
92078         * lib/sys_socket.in.h: Use more descriptive name when there is no
92079         select wrapper.
92080         * lib/winsock-select.c: New.
92081         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
92082         Require gl_HEADER_SYS_SOCKET.
92083         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
92084         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
92085         * tests/test-sys_select.c: Add functional tests.
92087 2008-09-24  Eric Blake  <ebb9@byu.net>
92089         open, fopen: close fd leak in last patch
92090         * lib/open.c (rpl_open): Close fd before returning error.
92091         * lib/fopen.c (rpl_fopen): Close fd before returning error.
92092         * doc/posix-functions/open.texi (open): Document that Irix also
92093         has the bug.
92094         * doc/posix-functions/fopen.texi (fopen): Likewise.
92095         Reported by Paolo Bonzini.
92097 2008-09-24  Bruno Haible  <bruno@clisp.org>
92099         Ensure that a filename ending in a slash cannot be used to access a
92100         non-directory.
92101         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
92102         to check whether it's really a directory.
92103         * lib/fopen.c: Include fcntl.h, unistd.h.
92104         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
92105         and fdopen().
92106         * modules/fopen (Depends-on): Add unistd.
92107         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
92108         * tests/test-fopen.c (main): Likewise.
92109         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
92110         * doc/posix-functions/fopen.texi: Likewise.
92111         Reported by Eric Blake.
92113 2008-09-23  Eric Blake  <ebb9@byu.net>
92115         c-stack: avoid compiler optimizations when provoking overflow
92116         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
92117         recursion harder to optimize, to ensure a stack overflow occurs.
92118         * tests/test-c-stack.c (recurse): Likewise.
92119         Borrowed from libsigsegv.
92121         c-stack: work around Irix sigaltstack bug
92122         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
92123         whether sigaltstack uses wrong end of stack_t (copied in part from
92124         libsigsegv).
92125         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
92126         Irix bug, without requiring an over-allocation.
92127         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
92128         bug.
92130         fopen: document mingw bug on directories
92131         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
92132         not allowing a stream visiting a directory, even though reading
92133         from such a stream is not portable.
92135 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92137         * lib/poll.c: Rewrite.
92138         * modules/poll: Depend on alloca.
92140 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92142         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
92143         instead define prototypes for a full set of wrappers.  Ensure
92144         that Cygwin does not use the compatibility code, which is only
92145         for MinGW.
92146         * lib/winsock.c: New.
92147         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
92148         * modules/sys_socket: Add lib/winsock.c.
92150         * modules/poll-tests: Add errno and perror.
92151         * tests/test-poll.c: Use ioctl, not ioctlsocket.
92153 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
92155         * tests/test-poll.c: Downgrade minimum needed Winsock version.
92157 2008-09-23  Bruno Haible  <bruno@clisp.org>
92159         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
92160         * doc/glibc-functions/*: Likewise.
92162 2008-09-23  Simon Josefsson  <simon@josefsson.org>
92164         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
92165         success.
92167 2008-09-22  Eric Blake  <ebb9@byu.net>
92168             Bruno Haible  <bruno@clisp.org>
92170         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
92171         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
92172         supply %A but mishandle pseudo-NaN.
92173         Reported by Simon Josefsson.
92175 2008-09-21  Bruno Haible  <bruno@clisp.org>
92177         * tests/test-lock.c (main): Tweak skip message.
92178         * tests/test-tls.c (main): Likewise.
92180 2008-09-21  Bruno Haible  <bruno@clisp.org>
92182         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
92183         whether 'struct sigaction' has sa_sigaction here...
92184         (gl_PREREQ_SIG_HANDLER_H): ... not here.
92185         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
92187 2008-09-21  Bruno Haible  <bruno@clisp.org>
92189         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
92190         section.
92191         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
92192         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
92193         the new section.
92194         (Support for obsolete systems lacking POSIX:2001): New section.
92195         (String handling <string.h>): Move strdup to the new section.
92196         Suggested by Simon Josefsson and Paolo Bonzini.
92198 2008-09-21  Bruno Haible  <bruno@clisp.org>
92200         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
92201         exponents in %e and %g results on 'long double'. Needed for mingw's
92202         improved *printf functions.
92203         * tests/test-vasprintf-posix.c (test_function): Likewise.
92204         * tests/test-snprintf-posix.h (test_function): Likewise.
92205         * tests/test-sprintf-posix.h (test_function): Likewise.
92206         Reported by Eric Blake.
92208 2008-09-21  Bruno Haible  <bruno@clisp.org>
92210         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
92211         * tests/test-sprintf-posix.h (test_function): Likewise.
92213 2008-09-21  Bruno Haible  <bruno@clisp.org>
92215         * modules/getpass (Depends-on): Add strdup-posix.
92217         New module 'strdup-posix'.
92218         * modules/strdup-posix: New file.
92219         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
92220         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
92221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92222         REPLACE_STRDUP.
92223         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
92224         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
92225         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92226         strdup-posix.
92228         * modules/strdup (Depends-on): Remove malloc-posix.
92230 2008-09-20  Bruno Haible  <bruno@clisp.org>
92232         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
92233         Wildenhues.
92235 2008-09-20  Bruno Haible  <bruno@clisp.org>
92237         Ensure that wint_t gets defined on IRIX 5.3.
92238         * lib/wchar.in.h (wint_t): Define if not defined by the system.
92239         * lib/wctype.in.h (wint_t): Likewise.
92240         (__wctype_wint_t): Remove type.
92241         (isw*): Use wint_t instead of __wctype_wint_t.
92242         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
92243         * modules/wchar (Files): Add m4/wint_t.m4.
92244         (Makefile.am): Substitute HAVE_WINT_T.
92245         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
92246         * tests/test-wctype.c: Check that wint_t is defined.
92247         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
92248         * doc/posix-headers/wctype.texi: Likewise.
92249         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
92251 2008-09-18  Bruno Haible  <bruno@clisp.org>
92253         * gnulib-tool (func_exit): Update comment.
92255 2008-09-18  Simon Josefsson  <simon@josefsson.org>
92257         * modules/getaddrinfo (Depends-on): Remove strdup, this module
92258         assumes strdup exists and does not depend on strdup to return
92259         ENOMEM on out of memory conditions.
92261 2008-09-18  Bruno Haible  <bruno@clisp.org>
92263         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
92264         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
92265         digits for the exponent.
92267 2008-09-18  Jim Meyering  <meyering@redhat.com>
92268             Bruno Haible  <bruno@clisp.org>
92270         * lib/vasnprintf.c (decimal_point_char): Define also if
92271         NEED_PRINTF_INFINITE_LONG_DOUBLE.
92273 2008-09-16  Bruno Haible  <bruno@clisp.org>
92274         and Eric Blake  <ebb9@byu.net>
92276         vasnprintf: support Irix 5.3
92277         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
92278         that mishandle long double infinity.
92279         Reported by Tom G. Christensen.
92281 2008-09-16  Bruno Haible  <bruno@clisp.org>
92283         * doc/glibc-functions/scandir.texi: Mention the function is missing on
92284         Solaris 9.
92285         * doc/glibc-functions/alphasort.texi: Likewise.
92286         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
92288 2008-09-16  Jim Meyering  <meyering@redhat.com>
92290         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
92291         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
92292         a umask modification leak out of a subshell.  Otherwise, the
92293         opensolaris /bin/sh would be accepted and thus cause unwarranted
92294         failures in the coreutils test suite.
92296 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
92298         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
92299         to succeed.
92301 2008-09-16  Jim Meyering  <meyering@redhat.com>
92303         avoid spurious test failure when library is built without ACL support
92304         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
92305         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
92306         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
92307         * tests/test-copy-acl.sh: Likewise.
92309 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92311         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
92312         based on character occurrence counts.
92314 2008-09-15  Eric Blake  <ebb9@byu.net>
92316         tests: avoid some compiler warnings
92317         * tests/test-memchr.c (main): Pass NULL indirectly.
92318         * tests/test-closein.c (main): Avoid unused variable.
92320 2008-09-15  Bruno Haible  <bruno@clisp.org>
92322         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
92323         are missing on OpenBSD 4.0 individually.
92324         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92326 2008-09-15  Bruno Haible  <bruno@clisp.org>
92328         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
92329         * doc/posix-functions/strerror.texi: Mention also Cygwin.
92330         * doc/posix-functions/perror.texi: Likewise.
92331         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
92332         is missing.
92333         Reported by Eric Blake.
92335         * lib/errno.in.h: Use replacement values >= 2000.
92336         Reported by Eric Blake.
92338 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92340         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
92341         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
92342         limit.
92343         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
92344         compareseq was aborted.
92346 2008-09-14  Bruno Haible  <bruno@clisp.org>
92348         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
92349         yvec_edit_count.
92350         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
92351         (fstrcmp_bounded): Simplify result computation accordingly.
92353 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92355         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
92356         (fstrcmp): Define in terms of fstrcmp_bounded.
92357         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
92358         lower_bound argument.
92359         Return quickly if the result is certainly < lower_bound.
92360         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
92362 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92364         * lib/diffseq.h (EARLY_ABORT): New macro.
92365         (compareseq): Change return type to bool. Return true when EARLY_ABORT
92366         evaluates to true.
92368 2008-09-14  Bruno Haible  <bruno@clisp.org>
92370         * modules/perror-tests: New file.
92371         * tests/test-perror.sh: New file.
92372         * tests/test-perror.c: New file.
92374         New module 'perror'.
92375         * lib/stdio.in.h (perror): New declaration.
92376         * lib/perror.c: New file.
92377         * m4/perror.m4: New file.
92378         * modules/perror: New file.
92379         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
92380         * doc/posix-functions/perror.texi: Mention the perror module.
92381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
92382         REPLACE_PERROR.
92383         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
92384         REPLACE_PERROR.
92386 2008-09-14  Bruno Haible  <bruno@clisp.org>
92388         * modules/stdio (Makefile.am): Reorder to match the order in
92389         lib/stdio.in.h.
92390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
92392 2008-09-13  Bruno Haible  <bruno@clisp.org>
92394         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
92396 2008-09-13  Bruno Haible  <bruno@clisp.org>
92398         Extend strerror to cover the added errno values.
92399         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
92400         (rpl_strerror): Provide error messages for the added errno values and
92401         for the WSA* values.
92402         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
92403         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
92404         strerror.
92405         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
92406         * modules/strerror (Depends-on): Add errno.
92407         * doc/posix-functions/strerror.texi: Document the change.
92408         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
92409         and EOVERFLOW.
92411 2008-09-13  Bruno Haible  <bruno@clisp.org>
92413         * modules/EOVERFLOW: Remove file.
92414         * m4/eoverflow.m4: Remove file.
92415         * modules/EOVERFLOW-tests: Remove file.
92416         * tests/test-EOVERFLOW.c: Remove file.
92417         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
92418         * modules/ftell (Depends-on): Likewise.
92419         * modules/getdelim (Depends-on): Likewise.
92420         * modules/getugroups (Depends-on): Likewise.
92421         * modules/poll (Depends-on): Likewise.
92422         * modules/snprintf (Depends-on): Likewise.
92423         * modules/sprintf-posix (Depends-on): Likewise.
92424         * modules/vasnprintf (Depends-on): Likewise.
92425         * modules/vasprintf (Depends-on): Likewise.
92426         * modules/vfprintf-posix (Depends-on): Likewise.
92427         * modules/vsnprintf (Depends-on): Likewise.
92428         * modules/vsprintf-posix (Depends-on): Likewise.
92429         * modules/xvasprintf (Depends-on): Likewise.
92430         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
92431         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
92432         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
92433         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
92434         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
92435         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
92436         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
92437         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
92438         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
92439         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
92440         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
92441         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
92442         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
92443         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
92444         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
92445         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
92446         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
92447         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
92448         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
92449         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
92450         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
92451         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
92452         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
92453         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
92454         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
92455         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
92456         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
92457         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
92458         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
92459         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
92460         * MODULES.html.sh: Remove EOVERFLOW.
92461         * NEWS: Mention the change.
92463 2008-09-13  Bruno Haible  <bruno@clisp.org>
92465         * modules/errno-tests: New file.
92466         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
92468         * lib/errno.in.h: New file.
92469         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
92470         * modules/errno: New file.
92471         * doc/posix-headers/errno.texi: Update documentation.
92472         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
92474 2008-09-13  Bruno Haible  <bruno@clisp.org>
92476         * tests/test-poll.c: Use #if for native Windows, rather than testing
92477         __MSVCRT__.
92479 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92480             Bruno Haible  <bruno@clisp.org>
92482         * lib/glob.c: Don't include <pwd.h> on native Windows.
92483         (WINDOWS32): New macro.
92484         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
92486 2008-09-13  Bruno Haible  <bruno@clisp.org>
92488         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
92489         (ETIMEDOUT): Remove macro.
92490         (glthread_cond_timedwait_multithreaded): New declaration.
92491         (glthread_cond_timedwait): Use it.
92492         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
92493         (glthread_cond_timedwait_multithreaded): New function.
92495 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92497         * modules/poll-tests: Do not check for io.h.
92498         * tests/test-poll.c: Check for __MSVCRT__ instead.
92500 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92502         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
92503         * modules/poll-tests: Add inet_pton, stdbool, sockets.
92504         * tests/test-poll.c: Use them.  Use _pipe on Windows.
92506 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
92508         * modules/poll-tests: New.
92509         * tests/test-poll.c: New.
92511 2008-09-12  Eric Blake  <ebb9@byu.net>
92513         frexp: test for NetBSD failure on -0.0
92514         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
92515         not all, bugs from NetBSD 3.0 have been fixed.
92516         * doc/posix-functions/frexp.texi (frexp): Document bug.
92517         Reported by Thomas Klausner.
92519         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
92520         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
92521         literal -0.0.
92522         Reported by Jonathan C. Patschke <jp@centtech.com>.
92524 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92526         * lib/glthread/cond.h: Use dummy implementation also if
92527         USE_WIN32_THREADS.
92529 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92531         * modules/fnmatch-posix (License): Change to LGPLv2+.
92532         * modules/fnmatch-gnu (License): Likewise.
92534 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92536         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
92538 2008-09-11  Jim Meyering  <meyering@redhat.com>
92540         * users.txt: Add gtk-vnc.
92542 2008-09-08  Simon Josefsson  <simon@josefsson.org>
92544         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
92545         rotate amounts.
92547         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
92548         required for 16-bit and 8-bit rotates.
92549         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
92550         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
92551         UINT8_MAX instead of hard-coded constants.
92552         Suggested by Paul Eggert.
92554 2008-09-07  Bruno Haible  <bruno@clisp.org>
92556         * tests/test-striconveh.c (main): Check behaviour when converting from
92557         UTF-7.
92559         Make striconveh work better with stateful encodings.
92560         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
92561         that iconv does not increment the inptr when returning -1/EINVAL.
92563 2008-09-07  Bruno Haible  <bruno@clisp.org>
92565         * build-aux/config.rpath: Update according to libtool-2.2.6.
92566         * build-aux/config.libpath: Likewise.
92568 2008-09-06  Bruno Haible  <bruno@clisp.org>
92570         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
92571         * lib/freadptr.c (freadptr): Likewise.
92572         * lib/freadseek.c (freadptrinc): Likewise.
92573         Reported by Simon Josefsson.
92575 2008-09-06  Bruno Haible  <bruno@clisp.org>
92577         * modules/freadptr (License): Change to LGPLv2+.
92578         * modules/freadseek (License): Likewise.
92579         Suggested by Eric Blake.
92581         * modules/memchr2 (License): Change to LGPLv2+.
92582         Approved by Eric Blake.
92584 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92585             Bruno Haible  <bruno@clisp.org>
92587         Make gnulib-tool work with native 'sed' on AIX.
92588         * gnulib-tool (sed_noop): New variable.
92589         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
92590         func_add_or_update, func_create_testdir): Use it to initialize sed
92591         script variables.
92592         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
92594 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
92595             Bruno Haible  <bruno@clisp.org>
92597         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
92598         also works after #include directives.
92600 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
92602         getdate.y: reject an out-of-range timezone value
92603         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
92604         the range [-24...+24].  When specified with only one or two digits,
92605         * tests/test-getdate.c: Tests for the fix.
92606         * doc/getdate.texi: Document this change.
92608 2008-09-03  Bruno Haible  <bruno@clisp.org>
92610         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
92612 2008-09-02  Simon Josefsson  <simon@josefsson.org>
92614         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
92615         <bruce.korb@gmail.com> with ideas from Ben Pfaff
92616         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
92617         Blake <ebb9@byu.net>.
92619         * tests/test-bitrotate.c: Add more test vectors.
92621 2008-09-02  Eric Blake  <ebb9@byu.net>
92623         vasnprintf-posix: handle large precision via %.*d
92624         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
92625         when handling it ourselves.
92626         * tests/test-vasnprintf-posix.c (test_function): Add test.
92627         * tests/test-snprintf-posix.h (test_function): Likewise.
92628         * tests/test-sprintf-posix.h (test_function): Likewise.
92629         * tests/test-vasprintf-posix.c (test_function): Likewise.
92630         Reported by Alain Guibert.
92632 2008-09-01  Eric Blake  <ebb9@byu.net>
92634         c-stack: make configure-time check more robust
92635         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
92636         successful sigaction call.
92637         Reported by Tom G. Christensen.
92639 2008-09-01  Bruno Haible  <bruno@clisp.org>
92641         New module 'findprog-lgpl'.
92642         * modules/findprog-lgpl: New file.
92643         * lib/findprog-lgpl.c: New file.
92644         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
92645         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
92646         to decide whether to use strdup or xstrdup, concatenated_filename or
92647         xconcatenated_filename.
92649 2008-09-01  Bruno Haible  <bruno@clisp.org>
92651         Split module 'concat-filename' into 'concat-filename' (LGPL) and
92652         'xconcat-filename' (GPL).
92653         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
92654         (License): Change to LGPLv2+.
92655         * modules/xconcat-filename: New file.
92656         * lib/concat-filename.h (concatenated_filename): Change specification.
92657         (xconcatenated_filename): New declaration.
92658         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
92659         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
92660         memory situations.
92661         * lib/xconcat-filename.c: New file.
92662         * NEWS: Mention the change.
92663         * lib/findprog.c: Include concat-filename.h, not filename.h.
92664         (find_in_path): Use xconcatenated_filename instead of
92665         concatenated_filename.
92666         * lib/javacomp.c: Include concat-filename.h, not filename.h.
92667         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
92668         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
92669         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
92670         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
92671         instead of concatenated_filename.
92672         * lib/javaexec.c: Include concat-filename.h, not filename.h.
92673         (execute_java_class): Use xconcatenated_filename instead of
92674         concatenated_filename.
92675         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
92676         * modules/javacomp (Depends-on): Likewise.
92677         * modules/javaexec (Depends-on): Likewise.
92679 2008-09-01  Bruno Haible  <bruno@clisp.org>
92681         Split module 'filename' into 'filename' and 'concat-filename'.
92682         * modules/filename: Keep only lib/filename.h.
92683         (License): Change to LGPLv2+.
92684         * modules/concat-filename: New file, extracted from modules/filename.
92685         * lib/filename.h (concatenated_filename): Remove declaration.
92686         * lib/concat-filename.h: New file, extracted from lib/filename.h.
92687         * lib/concat-filename.c: Include concat-filename.h.
92688         * NEWS: Mention the change.
92690 2008-09-01  Simon Josefsson  <simon@josefsson.org>
92692         * lib/bitrotate.h (rotl8, rotr8): Add.
92694         * modules/bitrotate (configure.ac): Need
92695         AC_REQUIRE([AC_C_INLINE]).
92696         (Description): Mention stdint.h.  Reported by Bruno Haible
92697         <bruno@clisp.org>.
92699         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
92700         Paolo Bonzini <bonzini@gnu.org>.
92702 2008-08-31  Bruno Haible  <bruno@clisp.org>
92704         Assume Solaris specific bi-arch conventions on Solaris systems.
92705         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
92706         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
92707         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
92708         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
92709         like acl_libdirstem.
92710         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
92711         acl_libdirstem.
92712         * NEWS: Mention the change.
92713         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
92715 2008-08-31  Jim Meyering  <meyering@redhat.com>
92717         * lib/strftime.h: Add comments describing the two added arguments.
92719         remove duplicate #include directives
92720         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
92721         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
92723 2008-08-31  Bruno Haible  <bruno@clisp.org>
92725         New module 'sigpipe-die'.
92726         * modules/sigpipe-die: New file.
92727         * lib/sigpipe-die.h: New file.
92728         * lib/sigpipe-die.c: New file.
92729         * MODULES.html.sh (Signal handling): Add sigpipe-die.
92731 2008-08-31  Bruno Haible  <bruno@clisp.org>
92733         Don't override previously installed signal handlers.
92734         * lib/fatal-signal.c (saved_sigactions): New variable.
92735         (uninstall_handlers): Reset the signal to the saved handler, not
92736         to SIG_DFL (except when ignored).
92737         (install_handlers): Save the previous handlers.
92739 2008-08-30  Bruno Haible  <bruno@clisp.org>
92741         * gnulib-tool (func_reset_sigpipe): New function.
92742         (func_get_automake_snippet, func_modules_transitive_closure,
92743         func_import): Invoke it before a join command that reads from stdin,
92744         to avoid "echo: write error: Broken pipe" error messages on stderr.
92745         Reported by Sam Steingold <sds@gnu.org>.
92747 2008-08-30  Bruno Haible  <bruno@clisp.org>
92749         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
92750         Code copied from m4/open.m4.
92751         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
92752         access and the filename ends in a slash. Code copied from lib/open.c.
92753         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
92754         * tests/test-fopen.c (main): Check against bug with trailing slash.
92756 2008-08-29  Bruno Haible  <bruno@clisp.org>
92758         Avoid some "gcc -pedantic" warnings.
92759         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
92760         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
92761         * lib/dirent.in.h: Likewise.
92762         * lib/fcntl.in.h: Likewise.
92763         * lib/float.in.h: Likewise.
92764         * lib/iconv.in.h: Likewise.
92765         * lib/inttypes.in.h: Likewise.
92766         * lib/locale.in.h: Likewise.
92767         * lib/math.in.h: Likewise.
92768         * lib/netinet_in.in.h: Likewise.
92769         * lib/search.in.h: Likewise.
92770         * lib/signal.in.h: Likewise.
92771         * lib/stdarg.in.h: Likewise.
92772         * lib/stdint.in.h: Likewise.
92773         * lib/stdio.in.h: Likewise.
92774         * lib/stdlib.in.h: Likewise.
92775         * lib/string.in.h: Likewise.
92776         * lib/strings.in.h: Likewise.
92777         * lib/sys_select.in.h: Likewise.
92778         * lib/sys_socket.in.h: Likewise.
92779         * lib/sys_stat.in.h: Likewise.
92780         * lib/sys_time.in.h: Likewise.
92781         * lib/sysexits.in.h: Likewise.
92782         * lib/time.in.h: Likewise.
92783         * lib/unistd.in.h: Likewise.
92784         * lib/wchar.in.h: Likewise.
92785         * lib/wctype.in.h: Likewise.
92786         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
92787         * modules/fchdir (Makefile.am): Likewise.
92788         * modules/fcntl (Makefile.am): Likewise.
92789         * modules/float (Makefile.am): Likewise.
92790         * modules/iconv_open (Makefile.am): Likewise.
92791         * modules/inttypes (Makefile.am): Likewise.
92792         * modules/locale (Makefile.am): Likewise.
92793         * modules/math (Makefile.am): Likewise.
92794         * modules/netinet_in (Makefile.am): Likewise.
92795         * modules/search (Makefile.am): Likewise.
92796         * modules/signal (Makefile.am): Likewise.
92797         * modules/stdarg (Makefile.am): Likewise.
92798         * modules/stdint (Makefile.am): Likewise.
92799         * modules/stdio (Makefile.am): Likewise.
92800         * modules/stdlib (Makefile.am): Likewise.
92801         * modules/string (Makefile.am): Likewise.
92802         * modules/strings (Makefile.am): Likewise.
92803         * modules/sys_select (Makefile.am): Likewise.
92804         * modules/sys_socket (Makefile.am): Likewise.
92805         * modules/sys_stat (Makefile.am): Likewise.
92806         * modules/sys_time (Makefile.am): Likewise.
92807         * modules/sysexits (Makefile.am): Likewise.
92808         * modules/time (Makefile.am): Likewise.
92809         * modules/unistd (Makefile.am): Likewise.
92810         * modules/wchar (Makefile.am): Likewise.
92811         * modules/wctype (Makefile.am): Likewise.
92812         Reported by Reuben Thomas <rrt@sc3d.org>.
92814 2008-08-29  Bruno Haible  <bruno@clisp.org>
92816         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
92817         any more.
92819 2008-08-29  Simon Josefsson  <simon@josefsson.org>
92821         * MODULES.html.sh (Misc): Add bitrotate.
92823         * modules/bitrotate: New file.
92825         * lib/bitrotate.h: New file.
92827         * modules/bitrotate-tests: New file.
92829         * tests/test-bitrotate.c: New file.
92831         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
92832         on the bitrotate module.
92834         * lib/arctwo.c: Use new bitrotate module.
92836 2008-08-29  Jim Meyering  <meyering@redhat.com>
92838         bootstrap: merge changes from coreutils
92839         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
92840         of copied files.  Remove a kludge, now that this is fixed.
92841         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
92842         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
92843         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
92845 2008-08-29  Bruno Haible  <bruno@clisp.org>
92847         * MODULES.html.sh: Remove --cvs-urls option.
92849 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
92851         maint.mk: adjust to file name change
92852         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
92854 2008-08-28  Jim Meyering  <meyering@redhat.com>
92856         * modules/getndelim2 (License): Relicense to LGPLv2+.
92857         Approved by Richard Stallman for the version of 1995, and by
92858         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
92860 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
92862         * lib/getdelim.c (flockfile, funlockfile): Make all of them
92863         dummy if one is not available.  Do not touch them if
92864         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
92865         (getc_maybe_unlocked): New.
92866         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
92868 2008-08-26  Eric Blake  <ebb9@byu.net>
92870         doc/INSTALL: resync from autoconf
92871         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
92872         (INSTALL_PRELUDE): Delete; this is done more efficiently by
92873         moving...
92874         * install.texi [!autoconf]: ...here.  Resync from autoconf.
92875         * INSTALL: Regenerate.
92876         * INSTALL.ISO: New file.
92877         * INSTALL.UTF-8: Likewise.
92879 2008-08-26  Jim Meyering  <meyering@redhat.com>
92881         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
92882         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
92883         these definitions conditional, so that they may be overridden, too.
92885 2008-08-26  Bruno Haible  <bruno@clisp.org>
92887         Generate INSTALL file variants with prettier quotes.
92888         * doc/Makefile (INSTALL_PRELUDE): New macro.
92889         (INSTALL): Use it.
92890         (INSTALL.ISO, INSTALL.UTF-8): New rules.
92892 2008-08-26  Bruno Haible  <bruno@clisp.org>
92894         Run makeinfo in an English locale.
92895         * doc/Makefile (MAKEINFO): New variable.
92897 2008-08-26  Bruno Haible  <bruno@clisp.org>
92899         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
92900         Suggested by Eric Blake.
92902 2008-08-25  Bruno Haible  <bruno@clisp.org>
92904         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
92906 2008-08-25  Eric Blake  <ebb9@byu.net>
92908         c-stack: test that stack overflow can be caught
92909         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
92910         that platform allows handling stack overflow; at least OS/2 EMX
92911         has sigaltstack, but crashes before transferring control to
92912         handler on stack overflow.
92913         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
92914         check for HAVE_STACK_OVERFLOW_HANDLING.
92915         Reported by Elbert Pol.
92917 2008-08-25  Bruno Haible  <bruno@clisp.org>
92919         * doc/posix-functions/strftime.texi: Fix description of strftime
92920         module.
92922 2008-08-24  Bruno Haible  <bruno@clisp.org>
92924         * tests/uniwidth/test-uc_width2.c: New file.
92925         * tests/uniwidth/test-uc_width2.sh: New file.
92926         * modules/uniwidth/width-tests (Files): Add the new files.
92927         (TESTS): Add uniwidth/test-uc_width2.sh.
92928         (TESTS_ENVIRONMENT): New variable.
92929         (check_PROGRAMS): Add test-uc_width2.
92930         (test_uc_width2_SOURCES): New variable.
92932         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
92933         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
92934         not 0x00AB.
92935         Reported by Alexander V. Lukyanov <lav@netis.ru>.
92937 2008-08-22  Eric Blake  <ebb9@byu.net>
92939         test-lock, test-tls: mention why a test is skipped
92940         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
92941         skipped.
92942         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
92944         count-one-bits: relax license
92945         * modules/count-one-bits (License): Relicense to LGPLv2+.
92946         Suggested by Ludovic Courtès, approved by Ben Pfaff.
92948 2008-08-22  Andreas Schwab  <schwab@suse.de>
92950         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
92951         Remove spurious space in assignment.
92953 2008-08-21  Simon Josefsson  <simon@josefsson.org>
92955         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
92956         Paul Eggert <eggert@CS.UCLA.EDU>.
92958 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
92960         * modules/gettext: Add m4/threadlib.m4.
92962 2008-08-19  Eric Blake  <ebb9@byu.net>
92964         test-c-stack: fix compilation failure on FreeBSD 5.0
92965         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
92966         headers before <sys/resource.h>.
92967         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
92968         the bug.
92969         Reported by Nelson H. F. Beebe.
92971         strverscmp: migrate from "strverscmp.h" to <string.h>
92972         * modules/string (Makefile.am): Add new hooks.
92973         * modules/strverscmp (Files): Remove strverscmp.h.
92974         (Depends-on): Add string.
92975         (configure.ac): Add indicator.
92976         (Include): Mention new header.
92977         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
92978         defaults.
92979         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
92980         results.
92981         * lib/strverscmp.h: Delete.
92982         * lib/string.in.h (strverscmp): Provide declaration, when needed.
92983         * tests/test-strverscmp.c (includes): Adjust client.
92984         * lib/check-version.c (includes): Likewise.
92985         * NEWS: Document the change.
92987         strverscmp: add unit test
92988         * modules/strverscmp-tests: New file.
92989         * tests/test-strverscmp.c: Likewise.
92991 2008-08-19  Simon Josefsson  <simon@josefsson.org>
92993         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
92994         regarding Windows crypto stuff, from Mono.
92996 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
92998         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
92999         if present, for intel RND.  Return error on failures.
93001 2008-08-18  Ben Pfaff  <blp@gnu.org>
93003         gitlog-to-changelog: give better diagnostic for failed pipe-open
93004         * build-aux/gitlog-to-changelog: Improve error message: suggest
93005         that the version of Git may be too old.
93007 2008-08-18  Simon Josefsson  <simon@josefsson.org>
93009         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
93010         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
93012 2008-08-18  Bruno Haible  <bruno@clisp.org>
93014         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
93015         pthread_in_use().
93017 2008-08-18  Bruno Haible  <bruno@clisp.org>
93019         * lib/glthread/threadlib.c: Include <pthread.h>.
93021 2008-08-18  Bruno Haible  <bruno@clisp.org>
93023         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
93024         glthread_recursive_lock_* macros.
93025         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
93026         Fix syntax error.
93028 2008-08-18  Bruno Haible  <bruno@clisp.org>
93030         * lib/glthread/thread.c: Avoid forcing a context switch right after
93031         thread creation.
93033 2008-08-17  Bruno Haible  <bruno@clisp.org>
93035         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
93036         * lib/glthread/thread.h: Provide Win32 specific implementation.
93037         * modules/thread (Files): Add lib/glthread/thread.c.
93038         (Depends-on): Add lock.
93039         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
93041 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93043         New module 'yield'.
93044         * modules/yield: New file.
93045         * lib/glthread/yield.h: New file.
93046         * m4/yield.m4: New file.
93047         * MODULES.html.sh (Multithreading): Add yield.
93049 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93051         New module 'thread'.
93052         * modules/thread: New file.
93053         * lib/glthread/thread.h: New file.
93054         * m4/thread.m4: New file.
93055         * MODULES.html.sh (Multithreading): Add thread.
93057 2008-08-17  Bruno Haible  <bruno@clisp.org>
93059         * lib/glthread/lock.h: Include <stdlib.h> always.
93060         * lib/glthread/tls.h: Likewise.
93061         * lib/glthread/cond.h: Likewise.
93063 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93065         New module 'cond'.
93066         * modules/cond: New file.
93067         * lib/glthread/cond.h: New file.
93068         * lib/glthread/cond.c: New file.
93069         * m4/cond.m4: New file.
93070         * MODULES.html.sh (Multithreading): Add cond.
93072 2008-08-16  Eric Blake  <ebb9@byu.net>
93074         c-stack: fix regression on Irix 5.3 from 2008-06-21
93075         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
93076         sa_sigaction...
93077         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
93078         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
93079         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
93080         * modules/signal (Makefile.am): Use the value.
93081         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
93082         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
93083         * doc/posix-headers/signal.texi (signal.h): Document this
93084         portability issue.
93085         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
93086         Reported by Tom G. Christensen.
93088 2008-08-17  Bruno Haible  <bruno@clisp.org>
93090         New module 'threadlib'.
93091         * modules/threadlib: New file.
93092         * lib/glthread/threadlib.c: New file, extracted from
93093         lib/glthread/lock.c.
93094         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
93095         functions.
93096         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
93097         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
93098         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
93099         macros.
93100         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
93101         (gl_DISABLE_THREADS): Remove macro.
93102         * modules/lock (Files): Remove build-aux/config.rpath.
93103         (Depends-on): Remove havelib. Add threadlib.
93104         (configure.ac-early): Remove section.
93105         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
93106         * modules/tls (Depends-on): Remove lock. Add threadlib.
93107         (Link): New section, copied from threadlib.
93108         * MODULES.html.sh (Multithreading): Add threadlib.
93110 2008-08-14  Bruno Haible  <bruno@clisp.org>
93112         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
93113         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
93114         glthread_rwlock_unlock, glthread_rwlock_destroy,
93115         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
93116         glthread_recursive_lock_destroy): Define as macros always.
93117         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
93118         glthread_lock_lock.
93119         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
93120         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
93121         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
93122         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
93123         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
93124         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
93125         (glthread_recursive_lock_lock_func): Renamed from
93126         glthread_recursive_lock_lock.
93127         (glthread_recursive_lock_unlock_func): Renamed from
93128         glthread_recursive_lock_unlock.
93129         (glthread_recursive_lock_destroy_func): Renamed from
93130         glthread_recursive_lock_destroy.
93132 2008-08-14  Bruno Haible  <bruno@clisp.org>
93134         * lib/glthread/lock.h: Renamed from lib/lock.h.
93135         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
93136         * lib/glthread/tls.h: Renamed from lib/tls.h.
93137         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
93138         * lib/fstrcmp.c: Update includes.
93139         * lib/strsignal.c: Update includes.
93140         * modules/lock (Files, Makefile.am): Update.
93141         (Include): Change to "glthread/lock.h".
93142         * modules/tls (Files, Makefile.am): Update.
93143         (Include): Change to "glthread/tls.h".
93144         * tests/test-lock.c: Update includes.
93145         * tests/test-tls.c: Update includes.
93146         * NEWS: Mention the renamed header files.
93148 2008-08-11  Jim Meyering  <meyering@redhat.com>
93150         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
93152 2008-08-11  Eric Blake  <ebb9@byu.net>
93154         test-c-stack: avoid C99-ism
93155         * tests/test-c-stack.c (main): Fix whitespace, move declaration
93156         before statement.
93157         Reported by Alain Guibert.
93159 2008-08-10  Jim Meyering  <meyering@redhat.com>
93161         ensure that return value of uinttostr et al are not ignored
93162         * lib/inttostr.h (__GNUC_PREREQ): Define.
93163         (__attribute_warn_unused_result__): Define.
93164         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
93166 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
93168         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
93169         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
93171 2008-08-07  Jim Meyering  <meyering@redhat.com>
93173         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
93175         * modules/mkstemp (License): Relicense under LGPLv2+.
93176         * modules/tempname (License): Likewise.
93178 2008-08-06  Bruno Haible  <bruno@clisp.org>
93180         * lib/poll.c (poll): Further micro-optimization.
93182 2008-08-06  Jim Meyering  <meyering@redhat.com>
93184         inet_pton.c: use locale-independent tolower
93185         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
93186         (inet_pton6): Use c_tolower rather than tolower.
93187         * modules/inet_pton (Depends-on): Add c-ctype.
93189 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
93191         * lib/poll.c (poll): Avoid division when timeout is 0, cache
93192         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
93194 2008-08-06  Jim Meyering  <meyering@redhat.com>
93196         * modules/inet_pton (License): Relicense under LGPLv2+.
93198 2008-08-03  Bruno Haible  <bruno@clisp.org>
93200         Additional non-aborting API for lock and tls.
93201         * lib/lock.h: Include <errno.h>.
93202         (glthread_lock_init): New macro/function.
93203         (gl_lock_init): Define as wrapper around glthread_lock_init.
93204         (glthread_lock_lock): New macro/function.
93205         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
93206         (glthread_lock_unlock): New macro/function.
93207         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
93208         (glthread_lock_destroy): New macro/function.
93209         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
93210         (glthread_rwlock_init): New macro/function.
93211         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
93212         (glthread_rwlock_rdlock): New macro/function.
93213         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
93214         (glthread_rwlock_wrlock): New macro/function.
93215         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
93216         (glthread_rwlock_unlock): New macro/function.
93217         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
93218         (glthread_rwlock_destroy): New macro/function.
93219         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
93220         (glthread_recursive_lock_init): New macro/function.
93221         (gl_recursive_lock_init): Define as wrapper around
93222         glthread_recursive_lock_init.
93223         (glthread_recursive_lock_lock): New macro/function.
93224         (gl_recursive_lock_lock): Define as wrapper around
93225         glthread_recursive_lock_lock.
93226         (glthread_recursive_lock_unlock): New macro/function.
93227         (gl_recursive_lock_unlock): Define as wrapper around
93228         glthread_recursive_lock_unlock.
93229         (glthread_recursive_lock_destroy): New macro/function.
93230         (gl_recursive_lock_destroy): Define as wrapper around
93231         glthread_recursive_lock_destroy.
93232         (glthread_once): New macro/function.
93233         (gl_once): Define as wrapper around glthread_once.
93234         Update function declarations.
93235         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
93236         glthread_rwlock_init. Return error code.
93237         (glthread_rwlock_rdlock_multithreaded): Renamed from
93238         glthread_rwlock_rdlock. Return error code.
93239         (glthread_rwlock_wrlock_multithreaded): Renamed from
93240         glthread_rwlock_wrlock. Return error code.
93241         (glthread_rwlock_unlock_multithreaded): Renamed from
93242         glthread_rwlock_unlock. Return error code.
93243         (glthread_rwlock_destroy_multithreaded): Renamed from
93244         glthread_rwlock_destroy. Return error code.
93245         (glthread_recursive_lock_init_multithreaded): Renamed from
93246         glthread_recursive_lock_init. Return error code.
93247         (glthread_recursive_lock_lock_multithreaded): Renamed from
93248         glthread_recursive_lock_lock. Return error code.
93249         (glthread_recursive_lock_unlock_multithreaded): Renamed from
93250         glthread_recursive_lock_unlock. Return error code.
93251         (glthread_recursive_lock_destroy_multithreaded): Renamed from
93252         glthread_recursive_lock_destroy. Return error code.
93253         (glthread_once_call): Make static.
93254         (glthread_once_multithreaded): Renamed from glthread_once.
93255         * lib/tls.h: Include <errno.h>.
93256         (glthread_tls_key_init): New macro/function.
93257         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
93258         (glthread_tls_set): New macro/function.
93259         (gl_tls_set): Define as wrapper around glthread_tls_set.
93260         (glthread_tls_key_destroy): New macro/function.
93261         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
93262         Update function declarations.
93263         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
93264         glthread_tls_get.
93265         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
93267 2008-08-04  Eric Blake  <ebb9@byu.net>
93269         gnumakefile: use space, not TAB, outside of targets
93270         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
93272 2008-08-02  Jim Meyering  <meyering@redhat.com>
93274         getdate.y: avoid locale-dependent date parsing failure
93275         In Turkish locales, getdate would fail to recognize keywords
93276         containing a lowercase "i".  The solution is not to rely on
93277         locale-sensitive case-conversion.
93278         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
93279         (lookup_word): Use c_toupper in place of toupper.
93280         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
93281         Reported by Vefa Bicakci <bicave@superonline.com> in
93282         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
93283         * modules/getdate (Depends-on): Add c-ctype.
93285 2008-08-02  Bruno Haible  <bruno@clisp.org>
93287         * gnulib-tool (func_import): When updating or creating a .gitignore
93288         file, prepend each added line with a slash, and ignore leading slashes
93289         from the existing lines.
93290         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
93292 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93294         Portability fix for GNU make 3.79.1.
93295         * top/GNUmakefile: Avoid 'else COND', which older GNU make
93296         versions do not understand.
93298 2008-08-01  Bruno Haible  <bruno@clisp.org>
93300         Work around bug of HP-UX 10.20 cc with -0.0 literal.
93301         * tests/test-isnanf.h (zero): New variable.
93302         (main): Avoid literal -0.0f.
93303         * tests/test-isnand.h (zero): New variable.
93304         (main): Avoid literal -0.0.
93305         * tests/test-isnanl.h (zero): New variable.
93306         (main): Avoid literal -0.0L.
93307         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
93308         (test_float, test_double, test_long_double): Avoid literals -0.0f,
93309         -0.0, -0.0L.
93310         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
93311         (test_signbitd): Avoid literal -0.0.
93312         (test_signbitl): Avoid literal -0.0L.
93313         * tests/test-ceilf1.c (zero): New variable.
93314         (main): Avoid literal -0.0f.
93315         * tests/test-ceill.c (zero): New variable.
93316         (main): Avoid literal -0.0L.
93317         * tests/test-floorf1.c (zero): New variable.
93318         (main): Avoid literal -0.0f.
93319         * tests/test-floorl.c (zero): New variable.
93320         (main): Avoid literal -0.0L.
93321         * tests/test-roundf1.c (zero): New variable.
93322         (main): Avoid literal -0.0f.
93323         * tests/test-round1.c (zero): New variable.
93324         (main): Avoid literal -0.0.
93325         * tests/test-roundl.c (zero): New variable.
93326         (main): Avoid literal -0.0L.
93327         * tests/test-truncf1.c (zero): New variable.
93328         (main): Avoid literal -0.0f.
93329         * tests/test-trunc1.c (zero): New variable.
93330         (main): Avoid literal -0.0.
93331         * tests/test-truncl.c (zero): New variable.
93332         (main): Avoid literal -0.0L.
93333         * tests/test-frexp.c (zero): New variable.
93334         (main): Avoid literal -0.0.
93335         * tests/test-frexpl.c (zero): New variable.
93336         (main): Avoid literal -0.0L.
93337         * tests/test-ldexpl.c (zero): New variable.
93338         (main): Avoid literal -0.0L.
93339         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93340         (zerod, zerol): New variables.
93341         (test_function): Avoid literals -0.0, -0.0L.
93342         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
93343         (zerod, zerol): New variables.
93344         (test_function): Avoid literals -0.0, -0.0L.
93345         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93346         (zerod, zerol): New variables.
93347         (test_function): Avoid literals -0.0, -0.0L.
93348         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
93349         (zerod, zerol): New variables.
93350         (test_function): Avoid literals -0.0, -0.0L.
93351         * tests/test-strtod.c (zero): New variable.
93352         (main): Avoid literal -0.0.
93353         Reported by Jonathan C. Patschke <jp@centtech.com>.
93355 2008-07-31  Jim Meyering  <meyering@redhat.com>
93357         sha256.h: correct definition of SHA224_DIGEST_SIZE
93358         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
93359         Reported by Paulie Pena IV <paulie4@gmail.com>.
93360         Define as 224 / 8, rather than as a literal.
93361         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
93362         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
93363         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
93365 2008-07-31  Bruno Haible  <bruno@clisp.org>
93367         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
93368         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
93369         Reported by Jonathan Patschke <jp@centtech.com>.
93371 2008-07-31  Bruno Haible  <bruno@clisp.org>
93373         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
93374         Reported by Paolo Bonzini <bonzini@gnu.org>.
93376 2008-07-30  Eric Blake  <ebb9@byu.net>
93378         test-strtod: allow compilation without -lm
93379         * tests/test-strtod.c (main): Avoid link dependence on fabs.
93380         Reported by Dennis Clarke <blastwave@gmail.com>.
93382 2008-07-28  Jim Meyering  <meyering@redhat.com>
93384         bootstrap: work also when there are no .po files in po/
93385         * build-aux/bootstrap (update_po_files): Complete the change
93386         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
93388 2008-07-27  Jim Meyering  <meyering@redhat.com>
93390         * users.txt: Add zile.
93392 2008-07-26  Ben Pfaff  <blp@gnu.org>
93394         Add missing dependencies on new m4/exponent[fdl].m4 files.
93395         * modules/isnanf-nolibm: Add m4/exponentf.m4.
93396         * modules/isnand-nolibm: Add m4/exponentd.m4.
93397         * modules/isnanl-nolibm: Add m4/exponentl.m4.
93398         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
93399         m4/isnan[fdl].m4, because the macros actually used moved.
93400         Reported by Jim Meyering.
93402 2008-07-14  Ben Pfaff  <blp@gnu.org>
93404         Add isinf module.
93405         * lib/isinf.c: New file.
93406         * lib/math.in.h: Define isinf macro if we have decided to replace
93407         it.
93408         * m4/isinf.m4: New file.
93409         * m4/math_h.m4: Initialize and substitute variables for isinf
93410         module.
93411         * modules/isinf: New file.
93412         * modules/isinf-tests: New file.
93413         * modules/math: Add substitutions for new module.
93414         * tests/test-isinf.c: New file.
93415         * doc/posix-functions/isinf.texi: Mention new module.
93416         * MODULES.html.sh: Mention new module.
93418 2008-07-14  Ben Pfaff  <blp@gnu.org>
93420         Factor out some macros for use by additional modules.
93421         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
93422         exponentf.m4.
93423         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
93424         exponentd.m4.
93425         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
93426         file exponentl.m4.
93427         * m4/exponentf.m4: New file.
93428         * m4/exponentd.m4: New file.
93429         * m4/exponentl.m4: New file.
93430         * modules/isnanf: Use new file m4/exponentf.m4.
93431         * modules/isnand: Use new file m4/exponentd.m4.
93432         * modules/isnanl: Use new file m4/exponentl.m4.
93434 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
93436         mktime.c: normalize tp->tm_isdst value to -1/0/1.
93437         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
93438         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
93439         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
93441         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
93442         readlink on platforms without PATH_MAX.
93444 2008-07-21  Eric Blake  <ebb9@byu.net>
93446         Warn, not fail, on stale version.
93447         * top/GNUmakefile (_curr-ver): Tone down previous patch.
93449         Don't allow installation with stale devel version number.
93450         * top/GNUmakefile (_is-install-target): New macro.
93451         (_curr-ver): Forbid installation with stale version number.
93453 2008-07-20  Bruno Haible  <bruno@clisp.org>
93455         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
93456         TESTS_ENVIRONMENT.
93457         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
93459 2008-07-20  Bruno Haible  <bruno@clisp.org>
93461         * lib/c-stack.h (c_stack_action): Add documentation.
93462         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
93464 2008-07-20  Bruno Haible  <bruno@clisp.org>
93466         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
93467         * modules/readlink (License): Likewise.
93469 2008-07-17  Eric Blake  <ebb9@byu.net>
93471         * modules/c-stack (Link): Fix typo.
93473         Make c-stack use libsigsegv, when available.
93474         * modules/c-stack (Depends-on): Add libsigsegv.
93475         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
93476         needed.
93477         * lib/c-stack.c (SIGSTKSZ): Define fallback.
93478         (segv_handler, overflow_handler, c_stack_action)
93479         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
93480         implementation when libsigsegv is available, but only when using
93481         the library is necessary.
93482         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
93483         comment, explaining why XSI check fails on Linux.
93484         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
93485         * tests/test-c-stack2.sh: Tweak skip message.
93486         * NEWS: Document new link-time requirements.
93488 2008-07-16  Eric Blake  <ebb9@byu.net>
93490         c-stack: Expose false positives when not using libsigsegv.
93491         * modules/c-stack-tests (Files): Expand test.
93492         * tests/test-c-stack.c (main): Add means to conditionally trigger
93493         non-overflow SIGSEGV.
93494         * tests/test-c-stack2.sh: New file.
93496 2008-07-14  Bruno Haible  <bruno@clisp.org>
93498         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
93499         Reported by Eric Blake.
93501 2008-07-14  Sam Steingold  <sds@gnu.org>
93502             Bruno Haible  <bruno@clisp.org>
93504         New module libsigsegv.
93505         * modules/libsigsegv: New file.
93506         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
93507         modifications.
93508         * MODULES.html.sh (Signal handling): New section.
93510 2008-07-14  Bruno Haible  <bruno@clisp.org>
93512         * modules/unictype/ctype-* (Description): Add the word "function".
93513         Improves the resulting doc in MODULES.html.
93515 2008-07-12  Ben Pfaff  <blp@gnu.org>
93517         Add longlong module.
93518         * modules/longlong: New file.
93520 2008-07-12  Bruno Haible  <bruno@clisp.org>
93522         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
93523         to empty.
93525 2008-07-10  Ben Pfaff  <blp@gnu.org>
93527         Add isnan module.
93528         * doc/posix-functions/isnan.texi: Mention new module.
93529         * lib/math.in.h: Define isnan macro if we have decided to replace
93530         it.
93531         * m4/isnan.m4: New file.
93532         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
93533         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
93534         also.
93535         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
93536         redundancy.
93537         * m4/math_h.m4: Initialize and substitute variables for isnan
93538         module.
93539         * modules/isnan: New file.
93540         * modules/isnan-tests: New file.
93541         * modules/math: Add substitutions for new module.
93542         * tests/test-isnan.c: New file.
93543         * MODULES.html.sh: Mention new module.
93545 2008-07-10  Ben Pfaff  <blp@gnu.org>
93547         Add isnanf module.
93548         * lib/isnanf.m4: New file.
93549         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
93550         (gl_HAVE_ISNANF_IN_LIBM): New macro.
93551         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
93552         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
93553         * modules/isnanf: New file.
93554         * modules/isnanf-tests: New file.
93555         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
93556         files.
93557         * tests/test-isnanf-nolibm.c: factored most of its contents into
93558         new file tests/test-isnanf.h.
93559         * tests/test-isnanf.h: New file.
93560         * tests/test-isnanf.c: New file.
93561         * MODULES.html.sh: Mention new module.
93562         * doc/glibc-functions/isnanf.texi: Mention new module.
93564 2008-07-10  Ben Pfaff  <blp@gnu.org>
93566         Add isnand module.
93567         * lib/isnand.h: New file.
93568         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
93569         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
93570         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
93571         functionality also.
93572         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
93573         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
93574         (gl_HAVE_ISNAND_IN_LIBM): New macro.
93575         * modules/isnand: New file.
93576         * modules/isnand-tests: New file.
93577         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
93578         files.
93579         * tests/test-isnand-nolibm.c: factored most of its contents into
93580         new file tests/test-isnand.h.
93581         * tests/test-isnand.h: New file.
93582         * tests/test-isnand.c: New file.
93583         * MODULES.html.sh: Mention new module.
93585 2008-07-10  Ben Pfaff  <blp@gnu.org>
93587         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
93588         * lib/isnand.h: Rename lib/isnand-nolibm.h.
93589         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
93590         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
93591         * modules/isnanf-nolibm: Update references to renamed files.
93592         * modules/isnand-nolibm: Likewise.
93593         * modules/isnanf-nolibm-tests: Likewise.
93594         * modules/isnand-nolibm-tests: Likewise.
93595         * lib/frexp.c: Likewise.
93596         * lib/isfinite.c: Likewise.
93597         * lib/signbitd.c: Likewise.
93598         * lib/signbitf.c: Likewise.
93599         * lib/vasnprintf.c: Likewise.
93600         * tests/test-ceilf1.c: Likewise.
93601         * tests/test-ceilf2.c: Likewise.
93602         * tests/test-floorf1.c: Likewise.
93603         * tests/test-floorf2.c: Likewise.
93604         * tests/test-frexp.c: Likewise.
93605         * tests/test-round1.c: Likewise.
93606         * tests/test-round2.c: Likewise.
93607         * tests/test-roundf1.c: Likewise.
93608         * tests/test-strtod.c: Likewise.
93609         * tests/test-trunc1.c: Likewise.
93610         * tests/test-trunc2.c: Likewise.
93611         * tests/test-truncf1.c: Likewise.
93612         * tests/test-truncf2.c: Likewise.
93613         * NEWS: Mention the renamed header files.
93615 2008-07-11  Jim Meyering  <meyering@redhat.com>
93617         vc-list-files: make the last-resort awk code more portable
93618         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
93619         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
93620         does not support it.
93622 2008-07-10  Eric Blake  <ebb9@byu.net>
93624         Work with tar's bootstrap.
93625         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
93626         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
93627         an m4 comment.
93629 2008-07-09  Jim Meyering  <meyering@redhat.com>
93631         posix-shell.m4: fix typo that made this test malfunction
93632         * m4/posix-shell.m4: Remove capitalization in variable name.
93634 2008-07-08  Bruno Haible  <bruno@clisp.org>
93636         * m4/onceonly.m4: Update comments.
93637         Reported by Ben Pfaff <blp@cs.stanford.edu>.
93639 2008-07-04  Jim Meyering  <meyering@redhat.com>
93641         * users.txt: Add vc-dwim.
93642         (bison, coreutils): Use the gitweb URL.
93644 2008-07-03  Jim Meyering  <meyering@redhat.com>
93646         * users.txt: Add libffcall.  From Sam Steingold.
93648 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
93650         getdate.y: do not ignore TZ with relative day, month or year offset
93651         * lib/getdate.y (get_date): Move the tz-handling block to follow the
93652         relative-date-handling, since otherwise, the latter would clobber the
93653         sole output (an updated Start value) of the tz-handling block.
93654         * tests/test-getdate.c: Tests for the fix
93656 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93658         Recognize 'foo_LIBRARIES += libgnu.a'.
93659         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
93660         makefile snippet has already specified an installation location,
93661         also using '+='.
93663 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
93665         getdate.y: factor out common actions
93666         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
93667         Use them in place of open-coded actions.
93669 2008-07-01  Simon Josefsson  <simon@josefsson.org>
93671         Add self-test for getdate module.
93672         * modules/getdate-tests: New file.
93673         * tests/test-getdate.c: New file.
93675 2008-06-29  Bruno Haible  <bruno@clisp.org>
93677         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
93678         .gitignore.
93679         Reported by Sylvain Beucler <beuc@beuc.net>.
93681 2008-06-29  Bruno Haible  <bruno@clisp.org>
93683         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
93684         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
93686 2008-06-29  Bruno Haible  <bruno@clisp.org>
93688         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
93689         EXTRA_DIST.
93690         Reported by Sylvain Beucler <beuc@beuc.net>.
93692 2008-06-26  Jim Meyering  <meyering@redhat.com>
93694         make several modules depend on the "open" module
93695         This provides slightly increased consistency when opening-for-write
93696         the name of a non-directory spelled with a trailing slash.
93697         * modules/chdir-safer: Likewise.
93698         * modules/chown: Likewise.
93699         * modules/clean-temp: Likewise.
93700         * modules/copy-file: Likewise.
93701         * modules/fchdir: Likewise.
93702         * modules/fcntl-safer: Likewise.
93703         * modules/pipe: Likewise.
93704         * modules/utime: Likewise.
93705         Prompted by Eric Blake and Bruno Haible.
93707 2008-06-24  Andreas Schwab  <schwab@suse.de>
93709         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
93710         literals can be used as initializers for global variables.
93712 2008-06-23  Eric Blake  <ebb9@byu.net>
93714         Make gnulib-cache.m4 easier to diff.
93715         * gnulib-tool (func_import): Allow newlines when reading cached
93716         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
93718 2008-06-23  Bruno Haible  <bruno@clisp.org>
93720         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
93721         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
93722         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
93723         m4/signalblocking.m4.
93724         (gl_PREREQ_SIGACTION): Don't invoke it.
93725         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
93726         gl_PREREQ_SIG_HANDLER_H.
93727         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93728         Don't check for sigaction here.
93730 2008-06-23  Bruno Haible  <bruno@clisp.org>
93732         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
93733         (install_handlers): Don't set the SA_RESETHAND flag.
93735 2008-06-23  Bruno Haible  <bruno@clisp.org>
93737         * m4/sigaction.m4: Comment fixes.
93738         * lib/signal.in.h: Likewise.
93740 2008-06-23  Eric Blake  <ebb9@byu.net>
93742         Fix typo.
93743         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
93745         Avoid SA_ namespace.
93746         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
93747         Reported by Ralf Wildenhues.
93749         Avoid test failure due to SA_RESTORER.
93750         * tests/test-sigaction.c (SA_MASK): New macro.
93751         (main): Avoid failing due to extension flags being set.
93752         Reported by Jim Meyering.
93754         Revert use of sig-handler.h in sigprocmask.c.
93755         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
93756         it requires the existence of struct sigaction.
93757         * lib/sigprocmask.c (handler_t): Restore typedef.
93758         (rpl_signal, old_handlers): Use local type.
93760 2008-06-22  Bruno Haible  <bruno@clisp.org>
93762         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
93763         conditionally.
93764         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93766 2008-06-22  Bruno Haible  <bruno@clisp.org>
93768         * doc/posix-functions/siginterrupt.texi: Move note.
93770         * lib/signal.in.h (SA_RESTART): New macro.
93771         * lib/sigaction.c: Update comment.
93773         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
93775         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
93776         (gl_PREREQ_SIGPROCMASK): Invoke it.
93777         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
93779         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
93781         * lib/sigprocmask.c: Update a comment.
93783 2008-06-21  Eric Blake  <ebb9@byu.net>
93785         Use sigaction module rather than signal().
93786         * modules/c-stack (Depends-on): Add sigaction.
93787         * modules/fatal-signal (Depends-on): Likewise.
93788         * modules/nanosleep (Depends-on): Likewise.
93789         * modules/sigprocmask (Files): Add sig-handler.h.
93790         * modules/sigaction (Files): Likewise.
93791         * lib/sig-handler.h (get_handler): New file, suggested by Paul
93792         Eggert.
93793         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
93794         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
93795         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
93796         (init_fatal_signals): Likewise.
93797         * lib/nanosleep.c (rpl_nanosleep): Likewise.
93798         (siginterrupt): Delete fallback.
93799         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
93800         instead.
93801         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
93802         siginterrupt.
93804         New module sigaction, for mingw.
93805         * modules/sigaction: New module...
93806         * modules/sigaction-tests: ...and its test.
93807         * m4/sigaction.m4: New file.
93808         * lib/sigaction.c: Likewise.
93809         * tests/test-sigaction.c: Likewise.
93810         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
93811         * modules/signal (Makefile.am): Likewise.
93812         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
93813         needed.
93814         * doc/posix-headers/signal.texi (signal.h): Mention provided
93815         types.
93816         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
93817         that sigaction is preferable.
93818         * doc/posix-functions/sigaction.texi (sigaction): Mention new
93819         module.
93820         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93821         sigaction.
93823         Improve robustness of sigprocmask by overriding signal.
93824         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
93825         is in use.
93826         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
93827         (SIGKILL, SIGSTOP): Provide fallbacks.
93828         (rpl_signal): Implement.
93829         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
93830         signal can be called inside handlers.
93832         Fix nanosleep module on mingw.
93833         * modules/nanosleep (Depends-on): Add sys_select.
93834         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
93836         Fix licensing of sigprocmask.
93837         * modules/raise (License): Relicense as LGPL.
93839 2008-06-21  Bruno Haible  <bruno@clisp.org>
93841         * lib/propername.c (proper_name_utf8): Don't use the transliterated
93842         result if it contains question marks.
93843         Reported by Michael Geng <linux@michaelgeng.de>.
93845 2008-06-19  Bruno Haible  <bruno@clisp.org>
93847         Fix CVS-ism.
93848         * doc/gnulib.texi: Include updated-stamp.texi.
93849         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
93850         (updated-stamp.texi): New rule.
93851         (gnulib.info): Depend on it.
93852         * doc/.gitignore: Add updated-stamp.texi.
93853         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
93855 2008-06-19  Bruno Haible  <bruno@clisp.org>
93857         * doc/Makefile (gnulib.info): Update and simplify dependencies.
93858         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
93860 2008-06-19  Eric Blake  <ebb9@byu.net>
93862         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
93863         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
93864         Reported by Stepan Kasal.
93866 2008-06-18  Bruno Haible  <bruno@clisp.org>
93868         * lib/fatal-signal.c (init_fatal_signals): Add comment.
93869         Reported by Eric Blake.
93871 2008-06-18  Eric Blake  <ebb9@byu.net>
93873         Work around cygwin 1.5.25 strsignal bug.
93874         * tests/test-strsignal.c: Allow for const char *.
93875         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
93877 2008-06-18  Simon Josefsson  <simon@josefsson.org>
93879         * users.txt: Update URL to article and add author/date
93880         information.
93882 2008-06-17  Bruno Haible  <bruno@clisp.org>
93884         New macro gl_DISABLE_THREADS.
93885         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
93886         if the user did not pass --enable-threads or --disable-threads option.
93887         (gl_DISABLE_THREADS): New macro.
93888         Reported by Eric Blake <ebb9@byu.net>.
93890 2008-06-17  Bruno Haible  <bruno@clisp.org>
93892         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
93893         when the macro ignores it.
93894         Based on a patch by Eric Blake <ebb9@byu.net>.
93896 2008-06-17  Bruno Haible  <bruno@clisp.org>
93898         * modules/tls (License): Change to LGPLv2+.
93899         Reported by Eric Blake.
93901 2008-06-17  Eric Blake  <ebb9@byu.net>
93903         Simplify c-stack prerequisites.
93904         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
93905         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
93906         no longer requires <ucontext.h> to exist.  Optimize setrlimit
93907         check.
93908         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
93909         <sys/resource.h>.
93911         Move c-stack test into testsuite.
93912         * modules/c-stack-tests: New file.
93913         * lib/c-stack.c [DEBUG]: Move test program...
93914         * tests/test-c-stack.c: ...into this new file.  Skip rather than
93915         fail test if sigaltstack is lacking.
93916         * tests/test-c-stack.sh: New driver file.
93918 2008-06-16  Eric Blake  <ebb9@byu.net>
93920         Use raise module consistently.
93921         * modules/fatal-signal (Depends-on): Add raise.
93922         * modules/sigprocmask (Depends-on): Likewise.
93923         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
93924         * lib/sigprocmask.c (sigprocmask): Likewise.
93925         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93926         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
93928         Fix compliance bug in sigpending.
93929         * lib/sigprocmask.c (sigpending): Return pending array via
93930         parameter, not return value.
93932 2008-06-14  Eric Blake  <ebb9@byu.net>
93934         Improve obstack-printf test code.
93935         * tests/test-obstack-printf.c (test_function): Fix comment, and
93936         simplify usage of obstack_* in macros.  Add a test for coverage.
93937         Reported by Bruno Haible.
93939 2008-06-14  Bruno Haible  <bruno@clisp.org>
93941         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
93942         array size as a constant, not as a const variable.
93943         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
93944         AC_USE_SYSTEM_EXTENSIONS.
93945         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
93946         Test whether the obstack_printf function actually exists.
93947         * modules/obstack-printf (Depends-on): Add extensions.
93948         (Include): Remove obstack.h.
93949         * modules/obstack-printf-posix (Depends-on): Add extensions.
93950         (Include): Remove obstack.h.
93952 2008-06-13  Eric Blake  <ebb9@byu.net>
93954         Add obstack-printf and obstack-printf-posix modules.
93955         * modules/obstack-printf: New file.
93956         * modules/obstack-printf-posix: Likewise.
93957         * MODULES.html.sh (Misc): Mention them.
93958         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
93959         Likewise.
93960         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
93961         Likewise.
93962         * modules/stdio (Makefile.am): Accomodate new modules.
93963         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
93964         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
93965         Declare.
93966         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
93967         functions.
93968         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
93969         (gl_REPLACE_OBSTACK_PRINTF): New macros
93970         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
93971         * tests/test-obstack-printf.c: New file.
93972         * modules/obstack-printf-tests: Likewise.
93973         * modules/obstack-printf-posix-tests: Likewise.
93975 2008-06-11  Bruno Haible  <bruno@clisp.org>
93977         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
93978         * lib/open.c: Include errno.h.
93979         (open): Fail when attempting to write to a file that has a trailing
93980         slash.
93981         * tests/test-open.c (main): Test against trailing slash bug.
93982         * doc/posix-functions/open.texi: Mention the trailing slash bug.
93984 2008-06-10  Bruno Haible  <bruno@clisp.org>
93986         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
93987         for $? to work inside the trap command, with various /bin/sh-s.
93988         * tests/test-vc-list-files-cvs.sh: Likewise.
93990 2008-06-10  Bruno Haible  <bruno@clisp.org>
93992         * lib/acl-internal.h: Don't include gettext.h here.
93993         * lib/set-mode-acl.c: Include gettext.h here.
93994         * lib/copy-acl.c: Likewise.
93996 2008-06-10  Bruno Haible  <bruno@clisp.org>
93998         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
93999         * lib/wait-process.c (wait_subprocess): Likewise.
94000         * lib/execute.h (execute): Add termsigp argument.
94001         * lib/execute.c (execute): Likewise.
94002         * lib/csharpcomp.c (compile_csharp_using_pnet,
94003         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
94004         * lib/csharpexec.c (execute_csharp_using_pnet,
94005         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
94006         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
94007         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
94008         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
94009         is_jikes_present): Update.
94010         * lib/javaexec.c (execute_java_class): Update.
94011         * lib/javaversion.c (execute_and_read_line): Update.
94012         * NEWS: Document the changes.
94013         Reported by Eric Blake.
94015 2008-06-10  Eric Blake  <ebb9@byu.net>
94017         Add missing include.
94018         * tests/test-strstr.c (includes): Add <signal.h>.
94019         * tests/test-strcasestr.c (includes): Likewise.
94020         * tests/test-memmem.c (includes): Likewise.
94022 2008-06-10  Bruno Haible  <bruno@clisp.org>
94024         * lib/wait-process.c (wait_subprocess): Add an assertion.
94026 2008-06-10  Bruno Haible  <bruno@clisp.org>
94028         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
94030 2008-06-10  Bruno Haible  <bruno@clisp.org>
94032         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
94033         using alarm().
94034         * tests/test-strcasestr.c (main): Likewise.
94035         * tests/test-strstr.c (main): Likewise.
94037 2008-06-09  Bruno Haible  <bruno@clisp.org>
94039         Work around the Solaris 10 ACE ACLs ABI change.
94040         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
94041         declare if ACL_NO_TRIVIAL is present.
94042         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
94043         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
94044         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
94045         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
94046         define if ACL_NO_TRIVIAL is present.
94047         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
94048         and use the current ABI.
94049         (file_has_acl): Use same #if condition as elsewhere.
94050         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
94051         in use, and use the current ABI.
94052         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
94053         Reported by Jim Meyering.
94055 2008-06-09  Eric Blake  <ebb9@byu.net>
94057         Work around environments that (stupidly) ignore SIGALRM.
94058         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
94059         before using alarm().
94060         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94061         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94062         Reported by Ian Beckwith <ianb@erislabs.net>.
94064         Produce autobuild blurb earlier in log.
94065         * modules/autobuild (configure.ac-early): Move AB_INIT here.
94067 2008-06-09  Jim Meyering  <meyering@redhat.com>
94068         and Ondřej Vašík  <ovasik@redhat.com>
94070         utimens.c: correct kernel bug work-around
94071         Ondřej Vašík found that the invalid return value of 280 indicates
94072         failure, not success, and the kernel bug we're trying to work
94073         around affects not just the utimensat call, but also the fallback
94074         futimens call.
94075         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
94076         not success.
94077         [HAVE_FUTIMENS]: Use the same work-around, here.
94079 2008-06-09  Jim Meyering  <meyering@redhat.com>
94081         add more guards around definition of ACE_-related code
94082         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
94083         ALLOW and ACE_OWNER are also defined.
94085 2008-06-08  Bruno Haible  <bruno@clisp.org>
94087         * lib/acl-internal.h: Add me as co-author.
94088         * lib/file-has-acl.c: Likewise.
94089         * lib/set-mode-acl.c: Likewise.
94090         * lib/copy-acl.c: Likewise.
94092 2008-06-08  Bruno Haible  <bruno@clisp.org>
94094         Add support for AIX ACLs.
94095         * lib/acl-internal.h (acl_nontrivial): New declaration.
94096         * lib/file-has-acl.c (acl_nontrivial): New function.
94097         (file_has_acl): Add implementation using AIX 4 ACL API.
94098         * lib/set-mode-acl.c (qset_acl): Likewise.
94099         * lib/copy-acl.c (qcopy_acl): Likewise.
94101 2008-06-08  Bruno Haible  <bruno@clisp.org>
94103         Add support for HP-UX ACLs.
94104         * lib/acl-internal.h (acl_nontrivial): New declaration.
94105         * lib/file-has-acl.c (acl_nontrivial): New function.
94106         (file_has_acl): Add implementation using HP-UX 11 ACL API.
94107         * lib/set-mode-acl.c (qset_acl): Likewise.
94108         * lib/copy-acl.c (qcopy_acl): Likewise.
94110 2008-06-08  Bruno Haible  <bruno@clisp.org>
94112         Add support for Cygwin ACLs.
94113         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
94114         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
94115         the chmod_or_fchmod call.
94116         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
94118 2008-06-08  Bruno Haible  <bruno@clisp.org>
94120         Fix bug with setuid modes in Solaris 10+ code.
94121         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
94122         succeeded, when the mode contains some special bits.
94124 2008-06-08  Bruno Haible  <bruno@clisp.org>
94126         Add support for Solaris 7..10 ACLs.
94127         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
94128         declarations.
94129         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
94130         functions.
94131         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
94132         * lib/set-mode-acl.c (qset_acl): Likewise.
94133         * lib/copy-acl.c (qcopy_acl): Likewise.
94135 2008-06-08  Bruno Haible  <bruno@clisp.org>
94137         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
94138         declaration.
94139         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
94140         (acl_access_nontrivial): Remove MacOS X case.
94141         (file_has_acl): Use acl_extended_nontrivial.
94142         * lib/copy-acl.c (qcopy_acl): Likewise.
94144 2008-06-08  Bruno Haible  <bruno@clisp.org>
94146         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
94148 2008-06-08  Jim Meyering  <meyering@redhat.com>
94150         * modules/acl (Maintainer): Add Bruno Haible.
94152 2008-06-07  Bruno Haible  <bruno@clisp.org>
94154         Improve support for Tru64 ACLs.
94155         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
94156         ACL on OSF/1.
94158 2008-06-07  Bruno Haible  <bruno@clisp.org>
94160         Add support for MacOS X ACLs.
94161         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
94162         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
94163         * lib/set-mode-acl.c (qset_acl): Likewise.
94164         * lib/copy-acl.c (qcopy_acl): Likewise.
94166 2008-06-07  Bruno Haible  <bruno@clisp.org>
94168         Fix memory leak introduced on 2008-05-22.
94169         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
94170         use.
94172 2008-06-07  Bruno Haible  <bruno@clisp.org>
94174         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
94175         to construct an empty ACL.
94177 2008-06-07  Bruno Haible  <bruno@clisp.org>
94179         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
94180         precisely.
94181         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
94183 2008-06-07  Bruno Haible  <bruno@clisp.org>
94185         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
94186         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
94188 2008-06-07  Bruno Haible  <bruno@clisp.org>
94190         * doc/posix-functions/_setjmp.texi: Explain the use of this function
94191         regardless of POSIX.
94192         * doc/posix-functions/_longjmp.texi: Likewise.
94193         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
94194         SystemV platform in this case.
94196 2008-06-06  Eric Blake  <ebb9@byu.net>
94198         Document abort() bugs.
94199         * doc/posix-functions/abort.texi (abort): Mention anomalies.
94201         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
94202         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
94203         sigsetjmp.
94204         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
94205         siglongjmp, but only as a macro.
94206         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
94207         is obsolete.
94208         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
94210         Tweak documentation to cover cygwin argz bugs.
94211         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
94212         argz bug fix; no code change needed since no cygwin releases
94213         occurred between the last fix and the bug being tested.
94214         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
94215         module and recently fixed cygwin bugs.
94216         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
94217         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
94218         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
94219         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
94220         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
94221         Likewise.
94222         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
94223         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
94224         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
94225         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
94226         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
94227         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
94228         Likewise.
94230         Avoid gcc warning on cygwin.
94231         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
94232         !ACL_NO_TRIVIAL]: Avoid unused variable.
94234 2008-06-05  Eric Blake  <ebb9@byu.net>
94236         Be tolerant of UNKNOWN version in gnulib-tool test dir.
94237         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
94238         git-version-gen fails to come up with a version.
94239         Reported by Simon Josefsson.
94241 2008-06-05  Jim Meyering  <meyering@redhat.com>
94242             Paul Eggert  <eggert@cs.ucla.edu>
94244         utimens.c: work around a probable Linux kernel bug
94245         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
94246         appears to be a kernel bug that causes utimensat to return 280
94247         instead of 0, indicating success.
94249 2008-06-04  Bruno Haible  <bruno@clisp.org>
94251         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
94252         2008-06-01 commit.
94254 2008-06-04  Bruno Haible  <bruno@clisp.org>
94256         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
94257         * lib/file-has-acl.c (acl_access_nontrivial): New function.
94258         (file_has_acl): Use it. Save errno afterwards.
94259         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
94261 2008-06-03  Bruno Haible  <bruno@clisp.org>
94263         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
94264         draft code. Simplify #ifs.
94265         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
94266         Put Solaris code after POSIX-draft code. Fix comments regarding
94267         Solaris 10, HP-UX. Mention Cygwin.
94268         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
94270 2008-06-03  Eric Blake  <ebb9@byu.net>
94272         Provide fallback for older kernels.
94273         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
94274         Provide runtime fallback if kernel lacks support.
94275         Reported by Mike Frysinger.
94277 2008-06-02  Bruno Haible  <bruno@clisp.org>
94279         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
94280         it exists.
94282 2008-06-02  Bruno Haible  <bruno@clisp.org>
94284         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
94285         * lib/copy-acl.c (qcopy_acl): Update comment.
94287 2008-06-02  Bruno Haible  <bruno@clisp.org>
94289         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
94290         like ACL APIs.
94292 2008-06-02  Bruno Haible  <bruno@clisp.org>
94294         * tests/test-file-has-acl.sh: Use different code for Cygwin.
94295         * tests/test-set-mode-acl.sh: Likewise.
94296         * tests/test-copy-acl.sh: Likewise.
94297         * tests/test-copy-file.sh: Likewise.
94299 2008-06-02  Bruno Haible  <bruno@clisp.org>
94301         * tests/test-file-has-acl.sh: Remove unused code.
94303 2008-06-01  Bruno Haible  <bruno@clisp.org>
94305         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
94306         (copy_acl): Just a wrapper around qcopy_acl that emits the error
94307         messages.
94308         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
94310 2008-06-01  Bruno Haible  <bruno@clisp.org>
94312         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
94313         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
94314         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
94315         APIs.
94316         * modules/acl-tests (configure.ac): Remove tests now contained in
94317         m4/acl.m4.
94319 2008-06-02  Jim Meyering  <meyering@redhat.com>
94321         announce-gen: use a better key-server host name
94322         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
94323         it may be more consistently reliable.  Suggested by Werner Koch
94324         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
94326 2008-06-01  Bruno Haible  <bruno@clisp.org>
94328         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
94329         Reported by Voroskoi Andras <voroskoi@gmail.com>.
94331 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
94333         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
94335 2008-06-01  Bruno Haible  <bruno@clisp.org>
94337         New ACL tests.
94338         * tests/test-file-has-acl.sh: New file.
94339         * tests/test-file-has-acl.c: New file.
94340         * tests/test-set-mode-acl.sh: New file.
94341         * tests/test-set-mode-acl.c: New file.
94342         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
94343         * tests/test-copy-acl.c: New file.
94344         * modules/acl-tests: New file, based on modules/copy-file-tests.
94345         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
94346         (Depends-on): Add acl-tests.
94347         (configure.ac): Remove checks.
94348         (Makefile.am): Don't create test-sameacls program here any more.
94350 2008-06-01  Bruno Haible  <bruno@clisp.org>
94352         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
94353         * tests/test-sameacls.c: Include progname.h.
94354         (main): Invoke set_program_name. Portability fixes for MacOS X,
94355         Solaris, HP-UX.
94357 2008-06-01  Bruno Haible  <bruno@clisp.org>
94359         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
94360         function.
94361         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
94363 2008-06-01  Bruno Haible  <bruno@clisp.org>
94365         * modules/rpmatch (Depends-on): Add strdup.
94367 2008-06-01  Bruno Haible  <bruno@clisp.org>
94369         * lib/pipe.c: Include unistd-safer.h.
94370         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
94371         * modules/pipe (Depends-on): Add unistd-safer.
94373 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94375         * modules/autobuild (configure.ac): Call AB_INIT.
94377 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94379         * tests/test-getaddrinfo.c: Don't print debug messages by default.
94380         Suggested by Bruno Haible <bruno@clisp.org>.
94382 2008-05-30  Simon Josefsson  <simon@josefsson.org>
94384         * tests/test-base64.c: Cast size_t to unsigned long when invoking
94385         printf.  Use %lu instead of %d.  Reported by Bruno Haible
94386         <bruno@clisp.org>.
94388 2008-05-29  Eric Blake  <ebb9@byu.net>
94390         Prefer new POSIX 200x interfaces over futimesat.
94391         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
94392         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
94393         when available.
94394         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
94396 2008-05-28  Bruno Haible  <bruno@clisp.org>
94398         * modules/stpcpy (License): Change to LGPLv2+.
94399         Requested by David Lutterkort <dlutter@redhat.com>.
94401 2008-05-27  Bruno Haible  <bruno@clisp.org>
94403         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
94404         current mingw.
94405         Reported by Jose E. Marchesi <jemarch@gnu.org>.
94407 2008-05-27  Bruno Haible  <bruno@clisp.org>
94409         * modules/iconv_open (Link): New section, from module 'iconv'.
94410         * modules/striconv (Link): Likewise.
94411         * modules/striconveh (Link): Likewise.
94412         * modules/xstriconv (Link): Likewise.
94413         * modules/unicodeio (Link): Likewise.
94414         * modules/propername (Link): Likewise.
94415         Reported by Jim Meyering.
94417 2008-05-26  Jim Meyering  <meyering@redhat.com>
94419         sha256: do not artificially restrict buffer length to be < 2^32
94420         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
94421         uint32_t to size_t.
94422         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
94423         to match.
94425         avoid unaligned access errors, e.g., on sparc
94426         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
94427         direct access through a possibly-unaligned uint64* pointer.
94428         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
94429         direct access through a possibly-unaligned uint32* pointer.
94430         Prompted by this patch from Tom "spot" Callaway:
94431         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
94433         sha512.c: fix typo in comment
94434         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
94436 2008-05-25  Bruno Haible  <bruno@clisp.org>
94438         * lib/set-mode-acl.c: Renamed from lib/acl.c.
94439         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
94440         (Makefile.am): Update lib_SOURCES.
94442 2008-05-25  Bruno Haible  <bruno@clisp.org>
94444         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
94446 2008-05-25  Jim Meyering  <meyering@redhat.com>
94448         useless-if-before-free: freed expr may have white-space differences
94449         * build-aux/useless-if-before-free: Recognize cases in which the
94450         freed expression differs from the tested one in embedded white
94451         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
94452         $1 was used, so we can't make any regexp shy.  Improved tests now
94453         detect this.
94455         useless-if-before-free: accept white space in the expression.
94456         * build-aux/useless-if-before-free: For now, any white space
94457         in the expression must be identical in the free argument.
94459         useless-if-before-free: efficiency tweak
94460         * build-aux/useless-if-before-free: Make the expression-matching
94461         regexp "shy".
94462         Make the *outer* regexp shy, not the expr-matching one.
94464         update code-in-comment to accept cast of free arg
94465         * build-aux/useless-if-before-free: Update regexp.
94467 2008-05-25  Bruno Haible  <bruno@clisp.org>
94469         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
94470         * modules/copy-file-tests (Files, Makefile.am): Update.
94471         * tests/test-copy-file.c (func_test_copy): Update.
94473 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
94475         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
94477 2008-05-23  Bruno Haible  <bruno@clisp.org>
94479         Improve support for ACLs on OSF/1.
94480         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
94481         Remove fallback for unknown flavors of ACLs.
94483 2008-05-22  Bruno Haible  <bruno@clisp.org>
94485         Add support for ACLs on OSF/1.
94486         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
94487         replacements.
94488         (acl_free_text): New macro fallback.
94489         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
94490         acl_free.
94491         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
94492         acl_free_text function. Require AC_C_INLINE.
94494 2008-05-22  Bruno Haible  <bruno@clisp.org>
94496         Make copy_acl work on MacOS X 10.5.
94497         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
94498         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
94499         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
94500         If MODE_INSIDE_ACL, don't assume that every system has the same text
94501         representation for ACLs as FreeBSD.
94502         * lib/copy-acl.c (copy_acl): Add support for platforms with
94503         !MODE_INSIDE_ACL.
94504         * lib/file-has-acl.c (file_has_acl): Likewise.
94505         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
94506         FreeBSD, MacOS X, or IRIX, respectively.
94508 2008-05-22  Bruno Haible  <bruno@clisp.org>
94510         * lib/acl.h: Don't include <sys/acl.h>.
94511         (GETACLCNT): Move fallback to lib/acl-internal.h.
94512         * lib/acl-internal.h: Include <sys/acl.h> here.
94513         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
94515 2008-05-22  Bruno Haible  <bruno@clisp.org>
94517         Split off copy_acl function to separate file.
94518         * lib/copy-acl.c: New file, extracted from lib/acl.c.
94519         * lib/acl.c (copy_acl): Moved function to separate file.
94520         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
94521         * modules/acl (Files): Add lib/copy-acl.c.
94522         (Makefiles.am): Augment lib_SOURCES.
94524 2008-05-22  Bruno Haible  <bruno@clisp.org>
94526         * modules/copy-file-tests: New file.
94527         * tests/test-copy-file.sh: New file.
94528         * tests/test-copy-file.c: New file.
94529         * tests/test-copy-file-sameacls.c: New file.
94531 2008-05-22  Eric Blake  <ebb9@byu.net>
94533         Avoid gcc warning.
94534         * tests/test-memcmp.c (main): Pass NULL indirectly.
94536 2008-05-21  Bruno Haible  <bruno@clisp.org>
94538         Add reference doc about ACLs.
94539         * doc/acl-resources.txt: New file.
94540         * doc/acl-cygwin.txt: New file.
94542 2008-05-21  Bruno Haible  <bruno@clisp.org>
94544         Avoid one more warning from gcc.
94545         * lib/vasnprintf.c (IF_LINT): Update comments.
94546         (VASNPRINTF): Use it also for the 'prefix' array initializer.
94548 2008-05-21  Jim Meyering  <meyering@redhat.com>
94550         avoid a warning from gcc
94551         * lib/vasnprintf.c (IF_LINT): Define.
94552         (scale10_round_decimal_long_double):
94553         Use it to avoid a "may be used uninitialized" warning.
94554         (scale10_round_decimal_double): Likewise.
94556 2008-05-21  Simon Josefsson  <simon@josefsson.org>
94558         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
94559         declared.
94561 2008-05-20  Bruno Haible  <bruno@clisp.org>
94563         * tests/test-memcmp.c (main): Test also the sign of the result. Test
94564         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
94566 2008-05-20  Simon Josefsson  <simon@josefsson.org>
94568         * modules/memcmp-tests: New file.
94569         * tests/test-memcmp.c: New file.
94571 2008-05-19  Bruno Haible  <bruno@clisp.org>
94573         * modules/propername (Notice, configure.ac): Put quoted "..." into
94574         --keyword option.
94575         * lib/propername.h: Update comments accordingly.
94576         Reported by Eric Blake.
94578 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
94580         * modules/getpass-gnu (Depends-on): Add fseeko.
94582 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94584         * modules/base64-tests: New file.
94586 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
94588         * lib/base64.c (base64_decode_ctx): If a decode context structure
94589         was passed in use it to ignore newlines.  If a context structure
94590         was _not_ passed in, continue to treat newlines as garbage (this
94591         is the historical behavior).  Formerly base64_decode.
94592         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94593         takes a decode context structure.
94594         * lib/base64.h (base64_decode): Macro for four-argument calls.
94595         (base64_decode_alloc): Likewise.
94596         * lib/base64.c (base64_decode_ctx): If a decode context structure
94597         was passed in use it to ignore newlines.  If a context structure
94598         was _not_ passed in, continue to treat newlines as garbage (this
94599         is the historical behavior).  Formerly base64_decode.
94600         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94601         takes a decode context structure.
94602         * lib/base64.h (base64_decode): Macro for four-argument calls.
94603         (base64_decode_alloc): Likewise.
94605 2008-05-19  Jim Meyering  <meyering@redhat.com>
94607         avoid a warning from gcc
94608         * lib/trim.c (IF_LINT): Define.
94609         (trim2): Use it to avoid a "may be used uninitialized" warning.
94611         Fix doc typo.
94612         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
94614 2008-05-19  Bruno Haible  <bruno@clisp.org>
94616         * doc/glibc-functions/getpass.texi: Document limits of other
94617         implementations.
94619 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94620             Bruno Haible <bruno@clisp.org>
94622         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
94624 2008-05-18  Bruno Haible  <bruno@clisp.org>
94626         * modules/propername: New file, from GNU gettext.
94627         * lib/propername.h: New file, from GNU gettext.
94628         * lib/propername.c: New file, from GNU gettext.
94629         * MODULES.html.sh (Internationalization functions): Add propername.
94631 2008-05-16  Jim Meyering  <meyering@redhat.com>
94632             Bruno Haible  <bruno@clisp.org>
94634         Avoid some warnings from "gcc -Wshadow".
94635         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
94637 2008-05-15  Eric Blake  <ebb9@byu.net>
94639         Extend previous patch to cygwin 1.7.0.
94640         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
94641         fast implementation in cygwin >= 1.7.0.
94642         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94643         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94645 2008-05-15  Bruno Haible  <bruno@clisp.org>
94647         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
94648         implementation in glibc >= 2.9.
94649         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94650         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94652 2008-05-15  Bruno Haible  <bruno@clisp.org>
94654         * MODULES.html.sh (Internationalization functions): Remove linebreak.
94655         (Unicode string functions): Add unilbrk/*.
94656         Reported by Karl Berry.
94658 2008-05-15  Eric Blake  <ebb9@byu.net>
94660         Fix violation of <stdbool.h> replacement in regex.
94661         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
94662         * lib/regexec.c (re_search_internal): Likewise.
94663         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
94665 2008-05-15  Jim Meyering  <meyering@redhat.com>
94667         avoid distracting test output when git or cvs is not found
94668         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
94669         * tests/test-vc-list-files-git.sh: Likewise.
94671 2008-05-15  Eric Blake  <ebb9@byu.net>
94673         Glibc finally accepted the memmem speedup code, bugzilla #5514.
94674         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
94675         glibc version.
94676         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
94677         * doc/posix-functions/strstr.texi (strstr): Likewise.
94678         * lib/str-two-way.h (MAX): Sychronize with glibc.
94680 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
94682         * lib/regcomp.c (optimize_utf8): Add a note on why we test
94683         opr.ctx_type.
94684         (calc_first): Initialize constraint field.
94685         (duplicate_node_closure): Use it instead of special casing ANCHORS.
94686         Fix grammar.
94687         (duplicate_node): Merge constraint field for all node types.
94688         (calc_eclosure_iter): Look at constraint field for all node types.
94689         * lib/regex_internal.c (create_cd_newstate): Don't look at
94690         opr.ctx_type.
94692 2008-05-14  Bruno Haible  <bruno@clisp.org>
94694         Help GCC to do better code generation.
94695         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
94696         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
94697         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
94698         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
94699         Declare with attribute 'malloc' if supported.
94701 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
94703         use "echo STR|wc -c" rather than unportable "expr length STR"
94704         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
94705         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
94707 2008-05-14  Jim Meyering  <meyering@redhat.com>
94709         use dd ibs=$n count=1 ... rather than less-portable head -c$n
94710         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
94711         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
94712         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
94713         via Collin Lasse.
94715 2008-05-14  Eric Blake  <ebb9@byu.net>
94717         Avoid quadratic growth in gl_LIBSOURCES.
94718         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
94719         Suggested by Bruno Haible.
94721         Test xmemdup0.
94722         * modules/xmemdup0-tests: New file.
94723         * tests/test-xmemdup0.c: Likewise.
94725 2008-05-13  Eric Blake  <ebb9@byu.net>
94727         Split xmemdup0 into its own module.
94728         * modules/xmemdup0: New file.
94729         * lib/xmemdup0.h: Likewise.
94730         * lib/xmemdup0.c: Likewise.
94731         * MODULES.html.sh (Memory management functions): Add xmemdup0.
94732         * lib/xalloc.h (xmemdup0): Remove.
94733         * lib/xmalloc.c (xmemdup0): Likewise.
94735 2008-05-13  Eric Blake  <ebb9@byu.net>
94736             Bruno Haible  <bruno@clisp.org>
94738         Reduce number of forks required during autoconf.
94739         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
94740         and gl_LIBSOURCES_DIR.
94741         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
94742         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
94743         m4_syscmd per file.
94744         <m4_foreach_w>: Move...
94745         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
94747 2008-05-13  Eric Blake  <ebb9@byu.net>
94749         * gnulib-tool: Fix various comment typos.
94751 2008-05-12  Bruno Haible  <bruno@clisp.org>
94753         Tailor the linebreaking algorithm.
94754         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
94756 2008-05-12  Bruno Haible  <bruno@clisp.org>
94758         Update to Unicode 5.0.0.
94759         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94760         LBP_JV, LBP_JT. Redistribute values.
94761         (unilbrk_table): Change size.
94762         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
94763         Unicode TR#14 rev. 22.
94764         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94765         LBP_JV, LBP_JT. Redistribute values.
94766         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
94767         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
94768         Update.
94769         * lib/unilbrk/lbrkprop1.h: Regenerated.
94770         * lib/unilbrk/lbrkprop2.h: Regenerated.
94771         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
94772         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
94773         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
94774         Likewise.
94775         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
94776         Likewise.
94777         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
94778         result.
94779         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
94780         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
94781         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
94782         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
94783         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
94784         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
94786 2008-05-11  Bruno Haible  <bruno@clisp.org>
94788         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
94790 2008-05-11  Bruno Haible  <bruno@clisp.org>
94792         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
94793         * modules/unilbrk/gen-lbrk: New file.
94795 2008-05-11  Bruno Haible  <bruno@clisp.org>
94797         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
94798         * m4/sha512.m4 (gl_SHA512): Likewise.
94800 2008-05-11  Jim Meyering  <meyering@redhat.com>
94802         New modules: crypto/sha256, crypto/sha512 (from coreutils)
94803         * modules/crypto/sha256: New file.
94804         * modules/crypto/sha512: Likewise.
94805         * lib/sha256.c: Likewise.
94806         * lib/sha256.h: Likewise.
94807         * lib/sha512.c: Likewise.
94808         * lib/sha512.h: Likewise.
94809         * lib/u64.h: Likewise.
94810         * m4/sha256.m4: Likewise.
94811         * m4/sha512.m4: Likewise.
94812         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
94814 2008-05-10  Bruno Haible  <bruno@clisp.org>
94816         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
94817         (Input/Output <stdio.h>): Add xprintf.
94818         (Signal handling <signal.h>): Add strsignal.
94819         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
94820         (Core language properties): Add func.
94821         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
94822         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
94823         strings.
94824         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
94825         (Input/output): New section.
94826         (File system functions): Add openat-die, stat-macros.
94827         (Networking functions): Add sockets.
94828         (Unicode string functions): Add unictype/*.
94829         (Support for building libraries and executables): Add gperf.
94830         (Support for building documentation): Add agpl-3.0.
94831         (Misc): Add nocrash.
94833 2008-05-10  Bruno Haible  <bruno@clisp.org>
94835         * modules/unictype/gen-ctype: New file.
94837 2008-05-10  Jim Meyering  <meyering@redhat.com>
94839         Make chdir-safer.c more efficient on a system with no symlinks.
94840         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
94841         also if ELOOP is zero.  Suggested by Bruno Haible.
94843         Make chdir-safer.c slightly safer.
94844         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
94845         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
94847         Avoid compile failure on systems without ELOOP (like mingw).
94848         * lib/chdir-safer.c (ELOOP): Define if not already defined.
94849         Reported by Bruno Haible.
94851 2008-05-10  Bruno Haible  <bruno@clisp.org>
94853         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
94854         (is_utf8_encoding): Use a case-insensitive comparison.
94855         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
94856         streq.
94858 2008-05-10  Bruno Haible  <bruno@clisp.org>
94860         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
94861         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
94862         * lib/unilbrk/ulc-common.h (iconv_string_length,
94863         iconv_string_keeping_offsets): Remove declarations.
94864         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
94865         Don't include <iconv.h>, streq.h, xsize.h.
94866         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
94867         conversion.
94868         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
94869         <iconv.h>, streq.h, xsize.h.
94870         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
94871         conversion.
94872         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
94873         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
94874         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
94875         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
94877 2008-05-10  Bruno Haible  <bruno@clisp.org>
94879         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
94880         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
94882         * modules/unilbrk/u32-width-linebreaks-tests: New file.
94883         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
94885         * modules/unilbrk/u16-width-linebreaks-tests: New file.
94886         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
94888         * modules/unilbrk/u8-width-linebreaks-tests: New file.
94889         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
94891         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
94892         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
94894         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
94895         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
94897         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
94898         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
94900         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
94901         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
94903 2008-05-10  Bruno Haible  <bruno@clisp.org>
94905         Split up 'linebreak' module.
94906         * lib/unilbrk.h: New file, based on lib/linebreak.h.
94907         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
94908         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
94909         modifications.
94910         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
94911         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
94912         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
94913         lib/linebreak.c.
94914         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
94915         lib/linebreak.c.
94916         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
94917         lib/linebreak.c.
94918         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
94919         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
94920         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
94921         lib/linebreak.c.
94922         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
94923         lib/linebreak.c.
94924         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
94925         lib/linebreak.c.
94926         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
94927         lib/linebreak.c.
94928         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
94929         lib/linebreak.c.
94930         * modules/unilbrk/base: New file.
94931         * modules/unilbrk/tables: New file.
94932         * modules/unilbrk/u8-possible-linebreaks: New file.
94933         * modules/unilbrk/u16-possible-linebreaks: New file.
94934         * modules/unilbrk/u32-possible-linebreaks: New file.
94935         * modules/unilbrk/ulc-common: New file.
94936         * modules/unilbrk/ulc-possible-linebreaks: New file.
94937         * modules/unilbrk/u8-width-linebreaks: New file.
94938         * modules/unilbrk/u16-width-linebreaks: New file.
94939         * modules/unilbrk/u32-width-linebreaks: New file.
94940         * modules/unilbrk/ulc-width-linebreaks: New file.
94941         * lib/linebreak.h: Remove file.
94942         * lib/linebreak.c: Remove file.
94943         * m4/linebreak.m4: Remove file.
94944         * modules/linebreak: Remove file.
94945         * NEWS: Mention the changes.
94947 2008-05-09  Eric Blake  <ebb9@byu.net>
94949         Add xmemdup0.
94950         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
94951         implementation.
94952         * lib/xmalloc.c (xmemdup0): New C implementation.
94954 2008-05-08  Bruno Haible  <bruno@clisp.org>
94956         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
94958 2008-05-07  Eric Blake  <ebb9@byu.net>
94960         Support cross-compilation of <wctype.h>.
94961         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
94962         AC_CACHE_CHECK.
94964 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
94966         * build-aux/vc-list-files: Add support for bzr.
94968 2008-05-03  Jim Meyering  <meyering@redhat.com>
94970         avoid failed assertion with tight malloc
94971         * tests/test-getndelim2.c: Correct an off-by-one assertion.
94973 2008-05-03  Simon Josefsson  <simon@josefsson.org>
94975         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
94976         are needed from arpa/inet.h.
94977         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
94978         Reported by Bruno Haible.
94980 2008-05-02  Jim Meyering  <meyering@redhat.com>
94982         avoid compilation error on FreeBSD 6
94983         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
94985 2008-05-01  Jim Meyering  <meyering@redhat.com>
94987         useless-if-before-free: correct --help's exit status description
94988         * build-aux/useless-if-before-free (usage): Like grep, exit 0
94989         for one or more matches, etc.  Reported by Bruno Haible.
94991         vc-list-files: make the stand-alone gnulib test work
94992         * modules/vc-list-files-tests (configure.ac):
94993         Define and AC_SUBST abs_aux_dir.
94994         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
94995         $(abs_top_srcdir) to each script and having each of them
94996         duplicate the work of setting PATH, set PATH here, using
94997         the new variable, abs_aux_dir instead.
94998         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
94999         * tests/test-vc-list-files-git.sh: Likewise.
95000         Reported by Bruno Haible.
95002 2008-05-01  Bruno Haible  <bruno@clisp.org>
95004         * lib/getndelim2.c (getndelim2): Fix newsize computation during
95005         reallocation. Rename 'done' to 'found_delimiter'.
95007 2008-05-01  Jim Meyering  <meyering@redhat.com>
95009         vc-list-files: accommodate /bin/sh like the one from Solaris 10
95010         * build-aux/vc-list-files: Use `...`, not $(...).
95012 2008-04-30  Jim Meyering  <meyering@redhat.com>
95014         add tests for vc-list-files
95015         * modules/vc-list-files-tests: New module.
95016         * tests/test-vc-list-files-cvs.sh: New file.
95017         * tests/test-vc-list-files-git.sh: New file.
95019         avoid a warning from gcc
95020         * lib/getndelim2.c (IF_LINT): Define.
95021         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
95023         vc-list-files: work properly with build-aux/cvsu, too
95024         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
95025         to all cvs-based clauses.
95027         vc-list-files: work properly in the CVS+awk case, too
95028         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
95030         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
95031         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
95032         take more than one file argument, so .  Add quotes, just in case $dir
95033         ever contains a shell meta-character.  Prompted by Soren Hansen in
95034         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
95036 2008-04-29  Eric Blake  <ebb9@byu.net>
95038         Optimize getndelim2 to use block operations when possible.
95039         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
95040         freadseek, and memchr2.
95041         * lib/getndelim2.c (getndelim2): Use them for block reads.
95043 2008-04-29  Bruno Haible  <bruno@clisp.org>
95045         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
95046         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95047         * modules/inet_ntop (Depends-on): Add extensions.
95048         * modules/inet_pton (Depends-on): Likewise.
95049         Reported by Simon Josefsson.
95051 2008-04-29  Jim Meyering  <meyering@redhat.com>
95053         When the is more than one match in a block, match all of them.
95054         * build-aux/useless-if-before-free: Iterate through each block
95055         until there are no more matches.
95057         Fix broken useless-if-before-free script.
95058         * build-aux/useless-if-before-free: Fix typo: missing "?" after
95059         the expression to match cast of argument to free-like function.
95061 2008-04-29  Eric Blake  <ebb9@byu.net>
95063         Use new header.
95064         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
95066 2008-04-29  Jim Meyering  <meyering@redhat.com>
95068         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
95069         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
95070         by gnulib to exist and to declare e.g., inet_ntop.
95071         Don't include "inet_ntop.h", now removed.
95073         * m4/arpa_inet_h.m4: Remove trailing blanks.
95075 2008-04-29  Eric Blake  <ebb9@byu.net>
95077         Silence valgrind on safe reads beyond potential array bounds.
95078         * lib/rawmemchr.valgrind: New file.
95079         * lib/strchrnul.valgrind: Likewise.
95080         * modules/rawmemchr (Files): Distribute new file.
95081         * modules/strchrnul (Files): Likewise.
95082         Suggested by Bruno Haible.
95084 2008-04-29  Bruno Haible  <bruno@clisp.org>
95086         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
95087         (inet_ntop, inet_pton): Change portability warning's wording.
95088         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
95089         Invoke gl_CHECK_NEXT_HEADERS.
95090         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
95091         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
95092         set ARPA_INET_H.
95093         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
95094         * modules/arpa_inet (Description): No longer only for systems that
95095         lack it.
95096         (Depends-on): Add include_next.
95097         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
95098         HAVE_ARPA_INET_H.
95100 2008-04-29  Jim Meyering  <meyering@redhat.com>
95102         * modules/mkdir (License): Re-license as LGPLv2+.
95104 2008-04-29  Bruno Haible  <bruno@clisp.org>
95106         * modules/rawmemchr (Maintainer): Set to Eric.
95107         * modules/strchrnul (Maintainer): Likewise.
95109 2008-04-29  Simon Josefsson  <simon@josefsson.org>
95111         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
95112         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
95114         * modules/arpa_inet (arpa/inet.h): Use them.
95116 2008-04-28  Eric Blake  <ebb9@byu.net>
95118         Test getndelim2.
95119         * modules/getndelim2-tests: New file.
95120         * tests/test-getndelim2.c: Likewise.
95121         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
95122         stream.
95123         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
95125         * MODULES.html.sh: Document new module.
95127 2008-04-20  Bruno Haible  <bruno@clisp.org>
95129         * lib/c-stack.c (die): Use raise.
95130         * modules/c-stack (Depends-on): Add raise.
95132 2008-04-28  Bruno Haible  <bruno@clisp.org>
95134         Expect rpmatch to be declared.
95135         * lib/yesno.c (rpmatch): Remove declaration.
95137         Declare rpmatch.
95138         * lib/stdlib.in.h (rpmatch): New declaration.
95139         * lib/rpmatch.c: Include <stdlib.h> first.
95140         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
95141         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
95142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
95143         HAVE_RPMATCH.
95144         * modules/rpmatch (Depends-on): Add stdlib, extensions.
95145         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
95146         (Include): Set to <stdlib.h>.
95147         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
95148         HAVE_RPMATCH.
95149         * NEWS: Document the change.
95151 2008-04-28  Bruno Haible  <bruno@clisp.org>
95153         Change rpmatch to use nl_langinfo when appropriate.
95154         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
95155         (N_): New macro.
95156         (localized_pattern): New function/macro.
95157         (try): Remove match, nomatch arguments. Copy the pattern into safe
95158         memory before caching it.
95159         (rpmatch): Use localized_pattern. Add translator comments.
95160         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
95161         Suggested by Eric Blake.
95162         * modules/rpmatch (Depends-on): Add stdbool.
95164 2008-04-28  Eric Blake  <ebb9@byu.net>
95166         Add rawmemchr module, matching glibc.
95167         * modules/string (Makefile.am): New indicator.
95168         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
95169         * lib/string.in.h (rawmemchr): Declare when appropriate.
95170         * modules/rawmemchr: New file.
95171         * m4/rawmemchr.m4: Likewise.
95172         * lib/rawmemchr.c: Likewise.
95173         * modules/rawmemchr-tests: Likewise.
95174         * tests/test-rawmemchr.c: Likewise.
95175         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
95176         module.
95177         * modules/strchrnul (Depends-on): Add rawmemchr.
95178         * lib/strchrnul.c (strchrnul): Optimize a corner case.
95180         Whitespace cleanup.
95181         * tests/test-strchrnul.c: Reindent.
95182         * lib/strchrnul.c: Likewise.
95184         Optimize and test strchrnul.
95185         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
95186         * modules/strchrnul-tests: New file.
95187         * tests/test-strchrnul.c: Likewise.
95189         Remove intprops dependency.
95190         * modules/memchr (Depends-on): Remove intprops.
95191         * modules/memrchr (Depends-on): Likewise.
95192         * modules/memchr2 (Depends-on): Likewise.
95193         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
95194         * lib/memrchr.c (__memrchr): Likewise.
95195         * lib/memrchr2.c (memchr2): Likewise.
95196         Reported by Simon Josefsson.
95198 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95200         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
95201         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95203 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95205         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
95207         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
95209         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
95211         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
95212         declarations.
95213         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
95215         * m4/inet_pton.m4: Don't check for header files.
95217         * m4/inet_ntop.m4: Don't check for header files.
95219 2008-04-28  Simon Josefsson  <simon@josefsson.org>
95221         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
95222         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
95223         trigger for cygwin).
95224         Reported by Bruno Haible  <bruno@clisp.org>.
95226 2008-04-28  Bruno Haible  <bruno@clisp.org>
95228         * doc/posix-functions/strdup.texi: Mention mingw problem.
95230 2008-04-27  Bruno Haible  <bruno@clisp.org>
95232         * modules/stat-time-tests (Depends-on): Add sleep.
95233         * tests/test-stat-time.c (force_unlink): New function.
95234         (cleanup): Use it.
95235         (test_mtime): Remove the ctime related tests.
95236         (test_ctime): New function, containing the ctime related tests.
95237         (main): Call test_ctime, except on native Windows platforms.
95239 2008-04-27  Bruno Haible  <bruno@clisp.org>
95241         * lib/rpmatch.c (rpmatch): Add some comments.
95242         Reported by James Youngman <jay@gnu.org>.
95244 2008-04-27  Bruno Haible  <bruno@clisp.org>
95246         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
95247         quiet NaNs.
95249 2008-04-27  Bruno Haible  <bruno@clisp.org>
95251         Make test-yesno.sh work on mingw.
95252         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
95253         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
95254         (main): Set stdin to binary mode.
95255         * modules/yesno-tests (Depends-on): Add binary-io.
95257 2008-04-27  Bruno Haible  <bruno@clisp.org>
95259         Fix 'isfinite' on x86, x86_64, ia64 platforms.
95260         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
95261         argument that lie outside the IEEE 854 domain.
95262         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
95263         (gl_ISFINITE): Use it.
95264         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
95266 2008-04-27  Bruno Haible  <bruno@clisp.org>
95268         Allow local renaming in config.h.
95269         * lib/memrchr.c (memrchr): Don't undefine outside libc.
95271 2008-04-27  Bruno Haible  <bruno@clisp.org>
95273         * lib/memchr.c (__memchr): Change type of 'i'.
95274         * lib/memchr2.c (memchr2): Likewise.
95276 2008-04-26  Eric Blake  <ebb9@byu.net>
95277         and Bruno Haible  <bruno@clisp.org>
95279         Optimize and test memrchr.
95280         * modules/memrchr (Depends-on): Add intprops.
95281         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
95282         * modules/memrchr-tests: New file.
95283         * tests/test-memrchr.c: New file.
95285 2008-04-26  Bruno Haible  <bruno@clisp.org>
95287         Add tentative support for DragonFly BSD.
95288         * lib/stdio-impl.h: Add macros for DragonFly BSD.
95289         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
95290         fp.
95291         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95292         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
95293         * lib/fpurge.c (fpurge): Likewise.
95294         * lib/freadable.c (freaadable): Likewise.
95295         * lib/freadahead.c (freadahead): Likewise.
95296         * lib/freading.c (freading): Likewise.
95297         * lib/freadptr.c (freadptr): Likewise.
95298         * lib/freadseek.c (freadptrinc): Likewise.
95299         * lib/fseeko.c (fseeko): Likewise.
95300         * lib/fseterr.c (fseterr): Likewise.
95301         * lib/fwritable.c (fwritable): Likewise.
95302         * lib/fwriting.c (fwriting): Likewise.
95304 2008-04-26  Bruno Haible  <bruno@clisp.org>
95306         * lib/stdio-impl.h: New file.
95307         * lib/fbufmode.c: Include stdio-impl.h.
95308         (fbufmode): Use fp_, remove redundant #defines.
95309         * lib/fflush.c: Include stdio-impl.h.
95310         (clear_ungetc_buffer): Remove redundant #defines.
95311         * lib/fpurge.c: Include stdio-impl.h.
95312         (fpurge): Remove redundant #defines.
95313         * lib/freadable.c: Include stdio-impl.h.
95314         (freadable): Remove redundant #defines.
95315         * lib/freadahead.c: Include stdio-impl.h.
95316         (freadahead): Remove redundant #defines.
95317         * lib/freading.c: Include stdio-impl.h.
95318         (freading): Remove redundant #defines.
95319         * lib/freadptr.c: Include stdio-impl.h.
95320         (freadptr): Remove redundant #defines.
95321         * lib/freadseek.c: Include stdio-impl.h.
95322         (freadptrinc): Remove redundant #defines.
95323         * lib/fseeko.c: Include stdio-impl.h.
95324         (rpl_fseeko): Remove redundant #defines.
95325         * lib/fseterr.c: Include stdio-impl.h.
95326         (fseterr): Remove redundant #defines.
95327         * lib/fwritable.c: Include stdio-impl.h.
95328         (fwritable: Remove redundant #defines.
95329         * lib/fwriting.c: Include stdio-impl.h.
95330         (fwriting): Remove redundant #defines.
95331         * modules/fbufmode (Files): Add lib/stdio-impl.h.
95332         * modules/fflush (Files): Likewise.
95333         * modules/fpurge (Files): Likewise.
95334         * modules/freadable (Files): Likewise.
95335         * modules/freadahead (Files): Likewise.
95336         * modules/freading (Files): Likewise.
95337         * modules/freadptr (Files): Likewise.
95338         * modules/freadseek (Files): Likewise.
95339         * modules/fseeko (Files): Likewise.
95340         * modules/fseterr (Files): Likewise.
95341         * modules/fwritable (Files): Likewise.
95342         * modules/fwriting (Files): Likewise.
95344 2008-04-26  Bruno Haible  <bruno@clisp.org>
95346         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
95347         restore_seek_optimization, update_fpos_cache): New functions, extracted
95348         from rpl_fflush.
95349         (rpl_fflush): Use them.
95350         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
95351         (gl_REPLACE_FFLUSH): Use it.
95353 2008-04-26  Bruno Haible  <bruno@clisp.org>
95355         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
95356         on Solaris.
95357         * tests/test-xstrtoimax.sh: Likewise.
95358         * tests/test-xstrtoumax.sh: Likewise.
95359         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95361 2008-04-26  Bruno Haible  <bruno@clisp.org>
95363         * modules/memchr-tests: New file.
95364         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
95366 2008-04-26  Eric Blake  <ebb9@byu.net>
95367             Bruno Haible  <bruno@clisp.org>
95369         * lib/memchr.c: Include intprops.h.
95370         (__memchr): Optimize parallel detection of matching bytes. Rename local
95371         variables. Add explanatory comments.
95373 2008-04-26  Bruno Haible  <bruno@clisp.org>
95375         Fix module 'memchr', broken since 2000-10-28.
95376         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
95378 2008-04-26  Bruno Haible  <bruno@clisp.org>
95380         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
95381         comments.
95383 2008-04-25  Eric Blake  <ebb9@byu.net>
95385         Use native fstatat on cygwin 1.7.0.
95386         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
95387         first.
95389 2008-04-23  Eric Blake  <ebb9@byu.net>
95391         Improve memchr2 performance.
95392         * lib/memchr2.c (memchr2): Further optimize parallel detection of
95393         NUL bytes.
95394         * modules/memchr2 (Depends-on): Use intprops.h.
95396 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95398         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
95399         an inline function instead of a CPP macro.  Patch by Ben Pfaff
95400         <blp@cs.stanford.edu>.
95402 2008-04-23  Simon Josefsson  <simon@josefsson.org>
95404         * lib/arpa_inet.in.h: New file.
95406         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
95407         (Makefile.am): Sed in substitute header file.
95409         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
95410         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
95412         * modules/inet_ntop (configure.ac): Use
95413         gl_ARPA_INET_MODULE_INDICATOR.
95415         * modules/inet_pton (configure.ac): Use
95416         gl_ARPA_INET_MODULE_INDICATOR.
95418 2008-04-22  Jim Meyering  <meyering@redhat.com>
95420         * modules/verify (License): Re-license as LGPLv2+.
95422 2008-04-22  Simon Josefsson  <simon@josefsson.org>
95424         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
95425         parameter to void* as per POSIX standard (MinGW uses char*).
95427 2008-04-21  Bruno Haible  <bruno@clisp.org>
95429         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
95430         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
95431         Define to replacements if REPLACE_ISWCNTRL is 1.
95432         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
95433         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
95434         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
95435         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
95436         what it fixes.
95437         * doc/posix-functions/iswalpha.texi: Likewise.
95438         * doc/posix-functions/iswblank.texi: Likewise.
95439         * doc/posix-functions/iswcntrl.texi: Likewise.
95440         * doc/posix-functions/iswdigit.texi: Likewise.
95441         * doc/posix-functions/iswgraph.texi: Likewise.
95442         * doc/posix-functions/iswlower.texi: Likewise.
95443         * doc/posix-functions/iswprint.texi: Likewise.
95444         * doc/posix-functions/iswpunct.texi: Likewise.
95445         * doc/posix-functions/iswspace.texi: Likewise.
95446         * doc/posix-functions/iswupper.texi: Likewise.
95447         * doc/posix-functions/iswxdigit.texi: Likewise.
95448         Reported by Alain Guibert.
95450 2008-04-21  Bruno Haible  <bruno@clisp.org>
95452         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
95453         Patch by Alain Guibert.
95455 2008-04-21  Bruno Haible  <bruno@clisp.org>
95457         Fix test failures on mingw.
95458         * tests/test-xstrtol.c (print_no_progname): New function.
95459         (main): Install it in error_print_progname hook.
95460         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
95461         * tests/test-xstrtoimax.sh: Likewise.
95462         * tests/test-xstrtoumax.sh: Likewise.
95464 2008-04-21  Bruno Haible  <bruno@clisp.org>
95466         Fix test failure on mingw.
95467         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
95469 2008-04-21  Bruno Haible  <bruno@clisp.org>
95471         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
95472         Actually assign a value.
95474 2008-04-20  Bruno Haible  <bruno@clisp.org>
95476         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
95477         take 2.
95478         * lib/canonicalize.c (canonicalize_file_name): Elide if the
95479         'canonicalize-lgpl' module is also used.
95480         * lib/canonicalize-lgpl.c: Undo last change.
95481         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
95483 2008-04-20  Bruno Haible  <bruno@clisp.org>
95485         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
95486         config.h. Provide _mkdir based fallback for mingw.
95487         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
95488         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
95489         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
95490         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
95491         rather than defining mkdir in config.h.
95492         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
95493         (gl_SYS_STAT_H_DEFAULTS): New macro.
95494         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
95495         HAVE_IO_H any more.
95496         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
95497         HAVE_DECL_MKDIR and HAVE_IO_H.
95499 2008-04-20  Bruno Haible  <bruno@clisp.org>
95501         * lib/isapipe.c: Port to native Windows platforms.
95503 2008-04-20  Bruno Haible  <bruno@clisp.org>
95505         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
95507 2008-04-21  Eric Blake  <ebb9@byu.net>
95509         Work around preprocessors that don't handle UINTMAX_MAX.
95510         * lib/memchr2.c (memchr2): Avoid embedded #if.
95511         Reported by Alain Guibert, fix suggested by Bruno Haible.
95513 2008-04-21  Simon Josefsson  <simon@josefsson.org>
95515         * doc/posix-functions/strftime.texi (strftime): Explain better
95516         Windows incompatibility.  Suggested by Micah Cowan
95517         <micah@cowan.name>.
95519 2008-04-20  Bruno Haible  <bruno@clisp.org>
95521         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
95522         unistr/u8-mblen.
95524 2008-04-20  Bruno Haible  <bruno@clisp.org>
95526         Fix test failure on platforms with non-GNU iconv.
95527         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
95528         (U_TO_U8): Use it, rather than u16_to_u8.
95529         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
95530         units at the end of the input string.
95531         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
95533 2008-04-20  Bruno Haible  <bruno@clisp.org>
95535         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
95536         when the resulting length is 0.
95537         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
95539 2008-04-20  Bruno Haible  <bruno@clisp.org>
95541         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
95542         works.
95543         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
95545 2008-04-20  Bruno Haible  <bruno@clisp.org>
95547         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
95548         * modules/tsearch-tests (configure.ac): Test for initstate function.
95550 2008-04-20  Bruno Haible  <bruno@clisp.org>
95552         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
95553         for nlink_t if missing.
95554         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
95556 2008-04-19  Bruno Haible  <bruno@clisp.org>
95558         Work around snprintf bug on Linux libc5.
95559         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
95560         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
95561         gl_SNPRINTF_SIZE1.
95562         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
95563         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
95564         that test failed.
95565         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
95566         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
95567         * modules/snprintf (Files): Add m4/printf.m4.
95568         * modules/vsnprintf (Files): Likewise.
95569         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
95570         * doc/posix-functions/vsnprintf.texi: Likewise.
95572 2008-04-19  Bruno Haible  <bruno@clisp.org>
95574         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
95575         from 0.0058 to less than 10^-7.
95577 2008-04-19  Bruno Haible  <bruno@clisp.org>
95579         Fix rounding when a precision is given.
95580         * lib/vasnprintf.c (is_borderline): New function.
95581         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
95582         9...9x.
95583         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
95584         %e, %g.
95585         * tests/test-vasprintf-posix.c (test_function): Likewise.
95586         * tests/test-snprintf-posix.h (test_function): Likewise.
95587         * tests/test-sprintf-posix.h (test_function): Likewise.
95588         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
95589         * tests/test-printf-posix.h (test_function): Likewise.
95590         * tests/test-printf-posix.output: Update.
95591         Reported by John Darrington <john@darrington.wattle.id.au> via
95592         Ben Pfaff <blp@cs.stanford.edu>.
95594 2008-04-18  Simon Josefsson  <simon@josefsson.org>
95596         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
95597         Suggested by Bruno Haible <bruno@clisp.org>.
95599 2008-04-17  Bruno Haible  <bruno@clisp.org>
95601         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
95602         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
95603         implementation.
95604         Patch by Bruce Merry <bmerry@gmail.com>.
95606 2008-04-17  Simon Josefsson  <simon@josefsson.org>
95608         * doc/posix-functions/strftime.texi (strftime): Mention that %e
95609         doesn't work under Windows.
95611 2008-04-16  Bruno Haible  <bruno@clisp.org>
95613         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
95614         New macros.
95615         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
95616         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
95617         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
95618         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
95619         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
95620         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
95621         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
95622         macros.
95623         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
95624         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
95625         Northern Sotho, Uighur.
95627 2008-04-16  Bruno Haible  <bruno@clisp.org>
95629         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
95630         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
95631         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
95632         Reported by Daniel Bergström <daniel@octocode.com>.
95634 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
95635             Bruno Haible  <bruno@clisp.org>
95637         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
95638         function.
95639         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
95640         New functions, mostly extracted from gl_locale_name_default.
95641         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
95643 2008-04-16  Eric Blake  <ebb9@byu.net>
95645         Adjust strtod detection to catch glibc 2.7 bug.
95646         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
95647         Reported by John Gatewood Ham.
95649 2008-04-16  Bruno Haible  <bruno@clisp.org>
95651         Add tentative support for Linux libc5.
95652         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
95653         * lib/fpurge.c (fpurge): Likewise.
95654         * lib/freadable.c (freadable): Likewise.
95655         * lib/freadahead.c (freadahead): Likewise.
95656         * lib/freading.c (freading): Likewise.
95657         * lib/freadptr.c (freadptr): Likewise.
95658         * lib/freadseek.c (freadptrinc): Likewise.
95659         * lib/fseeko.c (rpl_fseeko): Likewise.
95660         * lib/fseterr.c (fseterr): Likewise.
95661         * lib/fwritable.c (fwritable): Likewise.
95662         * lib/fwriting.c (fwriting): Likewise.
95663         Reported by Alain Guibert <alguibert+bts@free.fr>.
95665 2008-04-15  Bruno Haible  <bruno@clisp.org>
95667         * modules/mathl (configure.ac): Define module indicator.
95669 2008-04-15  Bruno Haible  <bruno@clisp.org>
95671         * lib/logl.c (logl): Remove unused variables.
95673 2008-04-15  Bruno Haible  <bruno@clisp.org>
95675         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
95676         fails.
95678 2008-04-15  Bruno Haible  <bruno@clisp.org>
95680         * lib/trim.c (trim2): Fix argument of isspace() macro.
95682 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
95684         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
95685         to 0.
95686         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
95688 2008-04-14  Bruno Haible  <bruno@clisp.org>
95690         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
95691         AC_LANG_PROGRAM argument.
95692         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
95693         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
95694         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
95695         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
95696         * m4/math_h.m4 (gl_MATH_H): Likewise.
95697         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
95698         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
95699         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
95700         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
95701         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
95702         * m4/regex.m4 (gl_REGEX): Likewise.
95703         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
95704         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
95705         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95706         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
95707         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
95708         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95709         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
95710         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
95712 2008-04-14  Jim Meyering  <meyering@redhat.com>
95714         test-strtod: fix typos: s/abs/fabs/
95715         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
95717 2008-04-13  Bruno Haible  <bruno@clisp.org>
95719         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
95720         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
95721         module is also used and while not building the reloc-wrapper.
95723 2008-04-13  Bruno Haible  <bruno@clisp.org>
95725         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
95727 2008-04-13  Bruno Haible  <bruno@clisp.org>
95729         Fix AIX compilation failure introduced on 2008-04-02.
95730         * tests/test-frexp.c (exp): Undefine before redefining.
95731         * tests/test-frexpl.c (exp): Likewise.
95733 2008-04-13  Bruno Haible  <bruno@clisp.org>
95735         Work around a HP-UX stdio bug.
95736         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
95737         * tests/test-ftello.c (main): Likewise.
95738         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
95739         * doc/posix-functions/ftello.texi: Likewise.
95741 2008-04-13  Bruno Haible  <bruno@clisp.org>
95743         Make test-signbit pass on HP-UX/hppa.
95744         * tests/test-signbit.c (minus_zerol): New variable.
95745         (test_signbitl): Use it.
95747 2008-04-13  Bruno Haible  <bruno@clisp.org>
95749         Make truncl work on OSF/1 4.0.
95750         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
95751         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95752         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95753         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
95754         HAVE_DECL_TRUNCL.
95755         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
95756         HAVE_DECL_TRUNCL.
95757         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
95759 2008-04-13  Bruno Haible  <bruno@clisp.org>
95761         * lib/unictype.h: Remove trailing comma from enumeration definitions.
95763 2008-04-13  Bruno Haible  <bruno@clisp.org>
95765         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
95766         expression, so as to avoid HP-UX 11 cc compiler bug.
95768 2008-04-13  Bruno Haible  <bruno@clisp.org>
95770         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
95772 2008-04-13  Bruno Haible  <bruno@clisp.org>
95774         * lib/git-merge-changelog.c: Remove empty declaration outside of
95775         functions.
95777 2008-04-13  Bruno Haible  <bruno@clisp.org>
95779         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
95781 2008-04-13  Bruno Haible  <bruno@clisp.org>
95783         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
95784         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
95785         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
95786         also if it exists but lacks definitions of the SHUT_* macros.
95787         * modules/sys_socket (Description): Update.
95788         Reported by Elbert Pol <e.pol@chello.nl>.
95790 2008-04-13  Bruno Haible  <bruno@clisp.org>
95792         * lib/localcharset.c (OS2): Don't redefine if already defined.
95793         Reported by Elbert Pol <e.pol@chello.nl>.
95795 2008-04-13  Bruno Haible  <bruno@clisp.org>
95797         * lib/binary-io.h [__EMX__]: Include <io.h>.
95798         Reported by Elbert Pol <e.pol@chello.nl>.
95800 2008-04-12  Bruno Haible  <bruno@clisp.org>
95802         * lib/fpucw.h: Enable the definitions also for x86_64.
95803         Needed for NetBSD/x86_64.
95804         Reported by Thomas Klausner <tk@giga.or.at>.
95806 2008-04-12  Bruno Haible  <bruno@clisp.org>
95808         * tests/test-strtod.c: Include isnand.h.
95809         (main): Use isnand instead of isnan.
95810         Reported by Jim Meyering.
95812 2008-04-12  Bruno Haible  <bruno@clisp.org>
95814         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
95815         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
95817 2008-04-12  Jim Meyering  <meyering@redhat.com>
95819         * m4/math_h.m4 (gl_MATH_H): Fix typos.
95821 2008-04-12  Bruno Haible  <bruno@clisp.org>
95823         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
95824         Reported by Elbert Pol <e.pol@chello.nl>.
95826 2008-04-12  Eric Blake  <ebb9@byu.net>
95828         Work around Solaris 10 math.h bug.
95829         * m4/math_h.m4 (gl_MATH_H): Check for bug.
95830         (gl_MATH_H_DEFAULTS): Set up default.
95831         * modules/math (Makefile.am): Replace new indicators.
95832         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
95833         * tests/test-math.c (main): Test this.
95834         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
95835         * doc/posix-headers/math.texi (math.h): Mention bug.
95836         Reported by Nelson H. F. Beebe and Jim Meyering.
95838 2008-04-11  Bruno Haible  <bruno@clisp.org>
95840         Adapt to future versions of Apple GCC.
95841         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
95842         Reported by Peter O'Gorman <peter@pogma.com>.
95844 2008-04-11  Bruno Haible  <bruno@clisp.org>
95846         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
95848 2008-04-11  Bruno Haible  <bruno@clisp.org>
95850         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
95852         * modules/getaddrinfo-tests (Makefile.am): Define
95853         test_getaddrinfo_LDADD.
95855 2008-04-11  Bruno Haible  <bruno@clisp.org>
95857         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
95858         (init): Fix syntax error.
95859         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
95860         is declared.
95862 2008-04-11  Bruno Haible  <bruno@clisp.org>
95864         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
95865         * modules/glob (Depends-on): Add stdbool.
95867 2008-04-11  Bruno Haible  <bruno@clisp.org>
95869         * lib/trim.c: Include <string.h>.
95871 2008-04-11  Eric Blake  <ebb9@byu.net>
95873         Avoid compile failure on OS/2.
95874         * lib/regex_internal.h (internal_function): Disable optimization
95875         on OS/2 (__EMX__), where it caused compiler error.
95876         Reported by Elbert Pol.
95878 2008-04-11  Bruno Haible  <bruno@clisp.org>
95880         Flush the standard error stream before aborting. Needed on mingw.
95881         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
95882         * tests/test-array_list.c (ASSERT): Likewise.
95883         * tests/test-array_oset.c (ASSERT): Likewise.
95884         * tests/test-avltree_list.c (ASSERT): Likewise.
95885         * tests/test-avltree_oset.c (ASSERT): Likewise.
95886         * tests/test-avltreehash_list.c (ASSERT): Likewise.
95887         * tests/test-binary-io.c (ASSERT): Likewise.
95888         * tests/test-byteswap.c (ASSERT): Likewise.
95889         * tests/test-c-ctype.c (ASSERT): Likewise.
95890         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
95891         * tests/test-c-strcasestr.c (ASSERT): Likewise.
95892         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
95893         * tests/test-c-strstr.c (ASSERT): Likewise.
95894         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
95895         * tests/test-canonicalize.c (ASSERT): Likewise.
95896         * tests/test-carray_list.c (ASSERT): Likewise.
95897         * tests/test-ceilf1.c (ASSERT): Likewise.
95898         * tests/test-ceilf2.c (ASSERT): Likewise.
95899         * tests/test-ceill.c (ASSERT): Likewise.
95900         * tests/test-count-one-bits.c (ASSERT): Likewise.
95901         * tests/test-fbufmode.c (ASSERT): Likewise.
95902         * tests/test-fflush2.c (ASSERT): Likewise.
95903         * tests/test-floorf1.c (ASSERT): Likewise.
95904         * tests/test-floorf2.c (ASSERT): Likewise.
95905         * tests/test-floorl.c (ASSERT): Likewise.
95906         * tests/test-fopen.c (ASSERT): Likewise.
95907         * tests/test-fpending.c (ASSERT): Likewise.
95908         * tests/test-fprintf-posix.c (ASSERT): Likewise.
95909         * tests/test-fpurge.c (ASSERT): Likewise.
95910         * tests/test-freadable.c (ASSERT): Likewise.
95911         * tests/test-freadahead.c (ASSERT): Likewise.
95912         * tests/test-freading.c (ASSERT): Likewise.
95913         * tests/test-freadptr.c (ASSERT): Likewise.
95914         * tests/test-freadptr2.c (ASSERT): Likewise.
95915         * tests/test-freadseek.c (ASSERT): Likewise.
95916         * tests/test-freopen.c (ASSERT): Likewise.
95917         * tests/test-frexp.c (ASSERT): Likewise.
95918         * tests/test-frexpl.c (ASSERT): Likewise.
95919         * tests/test-fseek.c (ASSERT): Likewise.
95920         * tests/test-fseeko.c (ASSERT): Likewise.
95921         * tests/test-fstrcmp.c (ASSERT): Likewise.
95922         * tests/test-ftell.c (ASSERT): Likewise.
95923         * tests/test-ftello.c (ASSERT): Likewise.
95924         * tests/test-func.c (ASSERT): Likewise.
95925         * tests/test-fwritable.c (ASSERT): Likewise.
95926         * tests/test-fwriting.c (ASSERT): Likewise.
95927         * tests/test-getdelim.c (ASSERT): Likewise.
95928         * tests/test-getline.c (ASSERT): Likewise.
95929         * tests/test-i-ring.c (ASSERT): Likewise.
95930         * tests/test-iconv-utf.c (ASSERT): Likewise.
95931         * tests/test-iconv.c (ASSERT): Likewise.
95932         * tests/test-isfinite.c (ASSERT): Likewise.
95933         * tests/test-isnand.c (ASSERT): Likewise.
95934         * tests/test-isnanf.c (ASSERT): Likewise.
95935         * tests/test-isnanl.h (ASSERT): Likewise.
95936         * tests/test-ldexpl.c (ASSERT): Likewise.
95937         * tests/test-linked_list.c (ASSERT): Likewise.
95938         * tests/test-linkedhash_list.c (ASSERT): Likewise.
95939         * tests/test-localename.c (ASSERT): Likewise.
95940         * tests/test-lseek.c (ASSERT): Likewise.
95941         * tests/test-mbscasecmp.c (ASSERT): Likewise.
95942         * tests/test-mbscasestr1.c (ASSERT): Likewise.
95943         * tests/test-mbscasestr2.c (ASSERT): Likewise.
95944         * tests/test-mbscasestr3.c (ASSERT): Likewise.
95945         * tests/test-mbscasestr4.c (ASSERT): Likewise.
95946         * tests/test-mbschr.c (ASSERT): Likewise.
95947         * tests/test-mbscspn.c (ASSERT): Likewise.
95948         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
95949         * tests/test-mbspbrk.c (ASSERT): Likewise.
95950         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
95951         * tests/test-mbsrchr.c (ASSERT): Likewise.
95952         * tests/test-mbsspn.c (ASSERT): Likewise.
95953         * tests/test-mbsstr1.c (ASSERT): Likewise.
95954         * tests/test-mbsstr2.c (ASSERT): Likewise.
95955         * tests/test-mbsstr3.c (ASSERT): Likewise.
95956         * tests/test-memchr2.c (ASSERT): Likewise.
95957         * tests/test-memmem.c (ASSERT): Likewise.
95958         * tests/test-open.c (ASSERT): Likewise.
95959         * tests/test-printf-frexp.c (ASSERT): Likewise.
95960         * tests/test-printf-frexpl.c (ASSERT): Likewise.
95961         * tests/test-printf-posix.c (ASSERT): Likewise.
95962         * tests/test-quotearg.c (ASSERT): Likewise.
95963         * tests/test-rbtree_list.c (ASSERT): Likewise.
95964         * tests/test-rbtree_oset.c (ASSERT): Likewise.
95965         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
95966         * tests/test-round1.c (ASSERT): Likewise.
95967         * tests/test-roundf1.c (ASSERT): Likewise.
95968         * tests/test-roundl.c (ASSERT): Likewise.
95969         * tests/test-signbit.c (ASSERT): Likewise.
95970         * tests/test-sleep.c (ASSERT): Likewise.
95971         * tests/test-snprintf-posix.c (ASSERT): Likewise.
95972         * tests/test-snprintf.c (ASSERT): Likewise.
95973         * tests/test-sprintf-posix.c (ASSERT): Likewise.
95974         * tests/test-stat-time.c (ASSERT): Likewise.
95975         * tests/test-strcasestr.c (ASSERT): Likewise.
95976         * tests/test-strerror.c (ASSERT): Likewise.
95977         * tests/test-striconv.c (ASSERT): Likewise.
95978         * tests/test-striconveh.c (ASSERT): Likewise.
95979         * tests/test-striconveha.c (ASSERT): Likewise.
95980         * tests/test-strsignal.c (ASSERT): Likewise.
95981         * tests/test-strstr.c (ASSERT): Likewise.
95982         * tests/test-strtod.c (ASSERT): Likewise.
95983         * tests/test-trunc1.c (ASSERT): Likewise.
95984         * tests/test-trunc2.c (ASSERT): Likewise.
95985         * tests/test-truncf1.c (ASSERT): Likewise.
95986         * tests/test-truncf2.c (ASSERT): Likewise.
95987         * tests/test-truncl.c (ASSERT): Likewise.
95988         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
95989         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
95990         * tests/test-vasnprintf.c (ASSERT): Likewise.
95991         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
95992         * tests/test-vasprintf.c (ASSERT): Likewise.
95993         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
95994         * tests/test-vprintf-posix.c (ASSERT): Likewise.
95995         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
95996         * tests/test-vsnprintf.c (ASSERT): Likewise.
95997         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
95998         * tests/test-wcwidth.c (ASSERT): Likewise.
95999         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
96000         * tests/test-xprintf-posix.c (ASSERT): Likewise.
96001         * tests/test-xvasprintf.c (ASSERT): Likewise.
96002         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
96003         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
96004         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
96005         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
96006         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
96007         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
96008         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
96009         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
96010         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
96011         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
96012         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
96013         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
96014         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
96015         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
96016         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
96017         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
96018         * tests/unictype/test-block_list.c (ASSERT): Likewise.
96019         * tests/unictype/test-block_of.c (ASSERT): Likewise.
96020         * tests/unictype/test-block_test.c (ASSERT): Likewise.
96021         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
96022         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
96023         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
96024         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
96025         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
96026         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
96027         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
96028         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
96029         * tests/unictype/test-combining.c (ASSERT): Likewise.
96030         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
96031         * tests/unictype/test-digit.c (ASSERT): Likewise.
96032         * tests/unictype/test-mirror.c (ASSERT): Likewise.
96033         * tests/unictype/test-numeric.c (ASSERT): Likewise.
96034         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
96035         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
96036         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
96037         * tests/unictype/test-scripts.c (ASSERT): Likewise.
96038         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
96039         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
96040         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
96041         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
96042         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
96043         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
96044         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
96045         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
96046         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
96047         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
96048         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
96049         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
96050         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
96051         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
96052         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
96053         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
96054         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
96055         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
96056         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
96057         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
96058         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
96059         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
96060         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
96061         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
96062         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
96063         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
96064         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
96065         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
96066         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
96067         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
96068         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
96069         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
96070         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
96071         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
96072         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
96073         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
96074         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
96075         Reported by Eric Blake.
96077 2008-04-11  Bruno Haible  <bruno@clisp.org>
96079         * lib/wchar.in.h: Tweak comment.
96081 2008-04-11  Bruno Haible  <bruno@clisp.org>
96083         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
96084         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
96085         gl_COMMON.
96086         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
96088 2008-04-11  Bruno Haible  <bruno@clisp.org>
96090         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
96092 2008-04-11  Simon Josefsson  <simon@josefsson.org>
96094         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
96095         of attempting to use non-existing /dev/*random.  Based on patch
96096         from Adam Strzelecki <ono@java.pl> in
96097         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
96099 2008-04-08  Bruno Haible  <bruno@clisp.org>
96101         Add tentative support for emx+gcc.
96102         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
96103         * lib/fpurge.c (fpurge): Likewise.
96104         * lib/freadable.c (freadable): Likewise.
96105         * lib/freadahead.c (freadahead): Likewise.
96106         * lib/freading.c (freading): Likewise.
96107         * lib/freadptr.c (freadptr): Likewise.
96108         * lib/freadseek.c (freadptrinc): Likewise.
96109         * lib/fseeko.c (rpl_fseeko): Likewise.
96110         * lib/fseterr.c (fseterr): Likewise.
96111         * lib/fwritable.c (fwritable): Likewise.
96112         * lib/fwriting.c (fwriting): Likewise.
96113         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
96115 2008-04-09  Eric Blake  <ebb9@byu.net>
96117         Avoid some autoconf warnings.
96118         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
96119         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
96120         * m4/afs.m4 (gl_AFS): Likewise.
96121         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
96122         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
96123         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96124         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
96125         (gl_INTEGER_TYPE_SUFFIX): Likewise.
96126         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
96127         (AC_CHECK_DECLS_ONCE): Likewise.
96128         Rename file...
96129         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
96130         gnulib-tool requires autoconf 2.59 or better.
96131         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
96133 2008-04-08  Eric Blake  <ebb9@byu.net>
96135         Use 'git describe --match' if present (added in git 1.5.5).
96136         * build-aux/git-version-gen: Limit result to tags that match 'v*'
96137         if possible.
96139 2008-04-08  Bruno Haible  <bruno@clisp.org>
96141         Add tentative support for OpenServer.
96142         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
96143         _ptr, _cnt.
96144         * lib/fpurge.c (fpurge): Likewise.
96145         * lib/freadable.c (freadable): Likewise.
96146         * lib/freadahead.c (freadahead): Likewise.
96147         * lib/freading.c (freading): Likewise.
96148         * lib/freadptr.c (freadptr): Likewise.
96149         * lib/freadseek.c (freadptrinc): Likewise.
96150         * lib/fseeko.c (rpl_fseeko): Likewise.
96151         * lib/fseterr.c (fseterr): Likewise.
96152         * lib/fwritable.c (fwritable): Likewise.
96153         * lib/fwriting.c (fwriting): Likewise.
96154         Reported by Roger Cornelius <rac@tenzing.org> and
96155         Brian K. White <brian@aljex.com>.
96157 2008-04-06  Jim Meyering  <meyering@redhat.com>
96159         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
96161 2008-04-06  Bruno Haible  <bruno@clisp.org>
96163         Avoid possible error with non-ASCII bytes in UTF-8 locales.
96164         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
96165         * tests/test-printf-posix.sh: Likewise.
96166         * tests/test-vfprintf-posix.sh: Likewise.
96167         * tests/test-vprintf-posix.sh: Likewise.
96168         * tests/test-xprintf-posix.sh: Likewise.
96170 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96172         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
96173         hide error from 'ls', needed on OS/2.
96174         Report by Elbert Pol <elbert.pol@gmail.com>.
96176 2008-04-04  Eric Blake  <ebb9@byu.net>
96178         Make test-fseeko.c failures meaningful.
96179         * tests/test-fseeko.c: Print line number on failure.
96180         * tests/test-fseek.c: Likewise.
96181         Reported by Nelson H. F. Beebe.
96183         Improve strtod bug detection check.
96184         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
96185         required for Solaris 10.
96186         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
96188 2008-04-04  Bruno Haible  <bruno@clisp.org>
96190         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
96191         by m4/setenv.m4.
96193 2008-04-03  Eric Blake  <ebb9@byu.net>
96195         Ensure sane .version contents.
96196         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
96197         version string.
96198         * build-aux/git-version-gen: Improve documentation.
96200         Make GNU make output nicer.
96201         * top/GNUmakefile [!_have-Makefile]: Add dependency on
96202         MAKECMDGOALS to enforce message for all command line targets.  Set
96203         srcdir for use in maint.mk.
96205         Another maintainer tweak.
96206         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
96207         a target that regenerates version.
96209 2008-04-03  Jim Meyering  <meyering@redhat.com>
96211         vc-list-files: don't cause coreutils "make po-check" failure
96212         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
96214 2008-04-03  Eric Blake  <ebb9@byu.net>
96216         Allow VPATH usage of vc-list-files.
96217         * build-aux/vc-list-files (scriptversion): Add timestamp.
96218         (options): Add --help, --version, -C.
96219         (CVS): Support installed cvsu.
96221 2008-04-02  Bruno Haible  <bruno@clisp.org>
96223         Avoid some "statement with no effect" warnings from gcc.
96224         * tests/test-wctype.c (main): Explicitly ignore unused values.
96225         Reported by Jim Meyering.
96227 2008-04-02  Jim Meyering  <meyering@redhat.com>
96229         Avoid some warnings from "gcc -Wshadow".
96230         * tests/test-frexp.c (exp): Define to a different identifier.
96231         * tests/test-frexpl.c (exp): Likewise.
96233 2008-04-03  Jim Meyering  <meyering@redhat.com>
96235         bootstrap: remove dangling *.[ch] symlinks from lib
96236         * build-aux/bootstrap [dangling symlink removal]: Move find's
96237         -depth option to precede all others, to avoid a warning.
96238         Remove *.[ch] files too, and from "$source_base" (usually lib/).
96240 2008-04-02  Bruno Haible  <bruno@clisp.org>
96242         Avoid some warnings from "gcc -Wshadow".
96243         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
96244         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
96245         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
96246         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
96247         Reported by Jim Meyering.
96249 2008-04-01  Bruno Haible  <bruno@clisp.org>
96251         Fix test to work on IRIX 6.5 with cc.
96252         * tests/test-math.c (numeric_equal): New function.
96253         (main): Use it.
96255 2008-04-01  Bruno Haible  <bruno@clisp.org>
96257         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
96259 2008-04-01  Bruno Haible  <bruno@clisp.org>
96261         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
96262         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96263         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
96264         (Depends-on): Remove math.
96266         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
96267         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96268         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
96269         (Depends-on): Remove math.
96271         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
96272         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96273         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
96274         (Depends-on): Remove math.
96275         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
96276         (Depends-on): Remove math.
96278         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
96279         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
96280         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
96281         (Depends-on): Remove math.
96282         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
96283         (Depends-on): Remove math.
96285         * tests/test-round1.c: Include nan.h.
96286         (main): Use NaNd instead of NAN.
96287         * modules/round-tests (Files): Add tests/nan.h.
96289         * tests/test-trunc1.c: Include nan.h.
96290         (main): Use NaNd instead of NAN.
96291         * modules/trunc-tests (Files): Add tests/nan.h.
96293         * tests/test-roundf1.c: Include nan.h.
96294         (main): Use NaNf instead of NAN.
96295         * modules/roundf-tests (Files): Add tests/nan.h.
96297         * tests/test-truncf1.c: Include nan.h.
96298         (main): Use NaNf instead of NAN.
96299         * modules/truncf-tests (Files): Add tests/nan.h.
96301         * tests/test-ceilf1.c: Include nan.h.
96302         (main): Use NaNf instead of NAN.
96303         * modules/ceilf-tests (Files): Add tests/nan.h.
96305         * tests/test-floorf1.c: Include nan.h.
96306         (main): Use NaNf instead of NAN.
96307         * modules/floorf-tests (Files): Add tests/nan.h.
96309         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
96310         (main): Use NaNf instead of NAN.
96311         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
96313         * tests/test-isnand.c: Include nan.h instead of <math.h>.
96314         (main): Use NaNd instead of NAN.
96315         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
96317         * tests/test-frexp.c: Include nan.h.
96318         (main): Use NaNd instead of NAN.
96319         * modules/frexp-tests (Files): Add tests/nan.h.
96321         * lib/isnan.c: Don't include <math.h>.
96322         (FUNC): Don't use NAN macro.
96323         * modules/isnand-nolibm (Depends-on): Remove math.
96324         * modules/isnanf-nolibm (Depends-on): Remove math.
96325         * modules/isnanl (Depends-on): Remove math.
96326         * modules/isnanl-nolibm (Depends-on): Remove math.
96328         * tests/nan.h: New file.
96330 2008-04-01  Eric Blake  <ebb9@byu.net>
96332         Fix typos.
96333         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
96334         values to be the right type.
96336         For now, cater to gnulib strtod inaccuracies.
96337         * tests/test-strtod.c (main): Allow 1-ulp error on expected
96338         fractional results.  While not as nice from a QoI perspective, it
96339         is a quicker patch than correctly implementing decimal to binary
96340         rounding.
96342 2008-03-31  Eric Blake  <ebb9@byu.net>
96344         Guarantee a definition of NAN.
96345         * lib/math.in.h (NAN): Define if missing.
96346         * tests/test-math.c (main): Test it.
96347         * doc/posix-headers/math.texi (math.h): Document this.
96348         * lib/isnan.c (rpl_isnand): Use it.
96349         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
96350         * tests/test-floorf1.c (NaN): Likewise.
96351         * tests/test-frexp.c (NaN): Likewise.
96352         * tests/test-isnand.c (NaN): Likewise.
96353         * tests/test-isnanf.c (NaN): Likewise.
96354         * tests/test-round1.c (NaN): Likewise.
96355         * tests/test-roundf1.c (NaN): Likewise.
96356         * tests/test-snprintf-posix.h (NaN): Likewise.
96357         * tests/test-sprintf-posix.h (NaN): Likewise.
96358         * tests/test-trunc1.c (NaN): Likewise.
96359         * tests/test-truncf1.c (NaN): Likewise.
96360         * tests/test-vasnprintf-posix.c (NaN): Likewise.
96361         * tests/test-vasprintf-posix.c (NaN): Likewise.
96362         * modules/isnand-nolibm (Depends-on): Add math.
96363         * modules/isnanf-nolibm (Depends-on): Likewise.
96364         * modules/isnanl (Depends-on): Likewise.
96365         * modules/isnanl-nolibm (Depends-on): Likewise.
96366         * modules/snprintf-posix-tests (Depends-on): Likewise.
96367         * modules/sprintf-posix-tests (Depends-on): Likewise.
96368         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
96369         * modules/vsprintf-posix-tests (Depends-on): Likewise.
96370         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
96371         * modules/vasprintf-posix-tests (Depends-on): Likewise.
96373 2008-03-31  Bruno Haible  <bruno@clisp.org>
96375         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
96376         * doc/posix-functions/strtod.texi: Likewise.
96378 2008-03-31  Bruno Haible  <bruno@clisp.org>
96380         * tests/test-strtod.c (main): Don't use C99 syntax.
96382 2008-03-31  Bruno Haible  <bruno@clisp.org>
96384         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
96385         Reported by Eric Blake.
96387 2008-03-31  Jim Meyering  <meyering@redhat.com>
96389         Don't compare actual signbit return values.
96390         * tests/test-strtod.c (main): Rather, compare only their
96391         zero/non-zero nature.
96393 2008-03-31  Eric Blake  <ebb9@byu.net>
96395         More strtod documentation.
96396         * doc/posix-functions/strtod.texi (strtod): Interpret more test
96397         failures as distinct bugs.
96399 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
96401         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
96402         Problem reported by Erik Benada in
96403         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
96405 2008-03-30  Bruno Haible  <bruno@clisp.org>
96407         * tests/test-strtod.c: Add comments about which assertion fails on which
96408         platform.
96409         * doc/posix-functions/strtod.texi: Add info about many more platforms.
96411 2008-03-30  Eric Blake  <ebb9@byu.net>
96413         Test signbit behavior on zeros.
96414         * tests/test-signbit.c (test_signbitf): Add tests for zero.
96415         (test_signbitd, test_signbitl): Likewise.
96417         More strtod touchups.
96418         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
96419         sign of negative underflow, for now.  Use .5, not .1.
96420         * doc/posix-functions/strtod.texi (strtod): Mention these
96421         limitations.
96422         Reported by Jim Meyering.
96424 2008-03-30  Bruno Haible  <bruno@clisp.org>
96426         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
96427         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
96429 2008-03-30  Bruno Haible  <bruno@clisp.org>
96431         Avoid failure when attempting to return empty iconv results on some
96432         platforms.
96433         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
96434         allocation, don't report ENOMEM when the resulting string is empty.
96436 2008-03-30  Bruno Haible  <bruno@clisp.org>
96438         Fix buffer overrun.
96439         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
96440         Don't consider the width for tmp_length. Check count against tmp_length
96441         before doing the padding. Ensure enough allocation during padding.
96443 2008-03-30  Eric Blake  <ebb9@byu.net>
96445         strtod touchups.
96446         * lib/strtod.c (strtod): Avoid compiler warnings.
96447         Reported by Jim Meyering.
96449 2008-03-30  Bruno Haible  <bruno@clisp.org>
96451         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
96452         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
96453         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
96454         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
96455         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
96456         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
96457         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
96458         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
96460         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
96461         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
96462         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
96463         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
96464         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
96465         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
96466         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
96467         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
96469         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
96470         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
96471         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
96472         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
96473         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
96474         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
96475         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
96476         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
96478         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
96479         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
96481         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
96482         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
96484         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
96485         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
96487         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
96488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
96489         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
96491         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
96492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
96493         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
96495         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
96496         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
96497         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
96499         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
96500         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
96501         * modules/vasprintf (Depends-on): Add EOVERFLOW.
96503         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
96504         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
96505         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
96506         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
96507         (Depends-on): Add EOVERFLOW.
96508         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
96509         (Depends-on): Add EOVERFLOW.
96510         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96511         (Depends-on): Add EOVERFLOW.
96512         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
96513         (Depends-on): Add EOVERFLOW.
96514         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96515         (Depends-on): Add EOVERFLOW.
96516         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
96517         (Depends-on): Add EOVERFLOW.
96518         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96519         (Depends-on): Add EOVERFLOW.
96520         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
96521         (Depends-on): Add EOVERFLOW.
96523         * lib/sprintf.c (EOVERFLOW): Remove fallback.
96524         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
96525         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
96527         * lib/snprintf.c (EOVERFLOW): Remove fallback.
96528         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
96529         * modules/snprintf (Depends-on): Add EOVERFLOW.
96531         * lib/poll.c (EOVERFLOW): Remove fallback.
96532         * modules/poll (Depends-on): Add EOVERFLOW.
96534         * lib/getugroups.c (EOVERFLOW): Remove fallback.
96535         * modules/getugroups (Depends-on): Add EOVERFLOW.
96537         * lib/getdelim.c (EOVERFLOW): Remove fallback.
96538         * modules/getdelim (Depends-on): Add EOVERFLOW.
96540         * lib/ftell.c (EOVERFLOW): Remove fallback.
96541         * modules/ftell (Depends-on): Add EOVERFLOW.
96543         * lib/fprintf.c (EOVERFLOW): Remove fallback.
96544         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
96545         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
96547         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
96549         * modules/EOVERFLOW-tests: New file.
96550         * tests/test-EOVERFLOW.c: New file.
96552         * modules/EOVERFLOW: New file.
96553         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
96555 2008-03-30  Bruno Haible  <bruno@clisp.org>
96557         Fix bug introduced on 2007-06-10.
96558         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
96559         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
96561 2008-03-30  Bruno Haible  <bruno@clisp.org>
96563         Improve freadseek's efficiency after ungetc.
96564         * lib/freadseek.c: Include freadahead.h.
96565         (freadptrinc): New function, extracted from freadseek.
96566         (freadseek): Use it in a loop. Use freadahead to determine the number
96567         of loop iterations.
96568         * modules/freadseek (Depends-on): Add freadahead.
96569         (configure.ac): Require AC_C_INLINE.
96571 2008-03-30  Bruno Haible  <bruno@clisp.org>
96573         * lib/freadseek.c (freadseek): Don't ignore the return value of
96574         freadptr.
96576 2008-03-29  Eric Blake  <ebb9@byu.net>
96578         Add hex float support.
96579         * modules/strtod (Depends-on): Add c-ctype.
96580         (Link): Mention POW_LIB.
96581         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
96582         whitespace between 'e' and exponent.
96583         * tests/test-strtod.c (main): Enable hex float tests.
96584         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
96585         now provides.
96587         Document various strtod bugs, with some fixes.
96588         * doc/posix-functions/strtod.texi (strtod): Document bugs with
96589         "-0x", "inf", "nan", and hex constants.
96590         * doc/posix-functions/atof.texi (atof): Likewise.
96591         * modules/stdlib (Makefile.am): Support strtod.
96592         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
96593         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
96594         detect additional strtod bugs.
96595         * lib/stdlib.in.h (rpl_strtod): Add declarations.
96596         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
96597         bool where appropriate.  Parse 'inf' and 'nan'.
96598         * tests/test-strtod.c: New file.
96599         * modules/strtod (Depends-on): Add stdbool, stdlib.
96600         (configure.ac): Turn on module indicator.
96601         * modules/strtod-tests: New module.
96603 2008-03-29  Eric Blake  <ebb9@byu.net>
96605         Fix ftell on mingw.
96606         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
96607         * modules/ftell-tests (Depends-on): Add binary-io.
96608         * modules/ftello-tests (Depends-on): Likewise.
96609         * tests/test-ftell.c (main): Enhance test to cover behavior after
96610         ungetc.  Enforce binary mode.
96611         * tests/test-ftello.c (main): Likewise.
96613         Pass test-freadseek on cygwin.
96614         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
96615         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
96616         ungetc buffer.
96618         * tests/test-fflush2.c (main): Fix typo.
96620 2008-03-29  Bruno Haible  <bruno@clisp.org>
96622         * tests/test-fflush2.c (main): Temporarily disable the contents of
96623         this test.
96624         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
96625         Reported by Eric Blake.
96627 2008-03-28  Simon Josefsson  <simon@josefsson.org>
96629         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
96630         (GC_SHA224_DIGEST_SIZE): Add.
96632         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
96633         (gc_hash_digest_length): Likewise.
96634         (gc_hash_buffer): Likewise.
96636 2008-03-25  Bruno Haible  <bruno@clisp.org>
96638         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
96639         detail which gettext release to use.
96640         Reported by Simon Josefsson.
96642 2008-03-26  Jim Meyering  <meyering@redhat.com>
96644         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
96645         * modules/gnumakefile (clean-GNUmakefile): Also, use
96646         test ... && ... || : syntax rather than if-then ... fi.
96648         gnumakefile: Don't double-quote-expand $(VPATH) value.
96649         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
96651 2008-03-24  Eric Blake  <ebb9@byu.net>
96653         Alter GNUmakefile to install into top directory.
96654         * modules/maintainer-makefile: Split, and add dependency...
96655         * modules/gnumakefile: to this new module.
96656         * build-aux/GNUmakefile: Move...
96657         * top/GNUmakefile: ...here.
96658         * build-aux/maint.mk: Move...
96659         * top/maint.mk: ...here.
96660         * MODULES.html.sh (Support for maintaining...): Document new
96661         module.
96663 2008-03-23  Bruno Haible  <bruno@clisp.org>
96665         * gnulib-tool: New options --vc-files, --no-vc-files.
96666         (func_usage): Document them.
96667         (vc_files): New variable.
96668         (func_import): Consider vc_files.
96669         (func_create_testdir): Set vc_files to empty.
96670         Suggested by Jim Meyering and Karl Berry.
96672 2008-03-23  Bruno Haible  <bruno@clisp.org>
96674         Fix regex compilation error on HP-UX 11.
96675         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
96676         * modules/regex (Files): Add m4/mbstate_t.m4.
96677         Reported by Ton Voon <ton.voon@altinity.com>.
96679 2008-03-23  Bruno Haible  <bruno@clisp.org>
96681         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
96683 2008-03-23  Eric Blake  <ebb9@byu.net>
96684             Bruno Haible  <bruno@clisp.org>
96686         Install files from top/ in the destination directory.
96687         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
96688         augmentation also for the files from top/.
96689         (func_import, func_create_testdir): Rewrite file names:
96690         top/filename -> filename.
96692 2008-03-23  Bruno Haible  <bruno@clisp.org>
96694         Tweak "gnulib --version" output.
96695         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
96697 2008-03-23  Bruno Haible  <bruno@clisp.org>
96699         Tweak "gnulib --version" output.
96700         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
96701         rather than contents of ChangeLog, when possible.
96703 2008-03-21  Eric Blake  <ebb9@byu.net>
96705         More --version tweaks.
96706         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
96707         date of last ChangeLog entry.
96709 2008-03-21  Jim Meyering  <meyering@redhat.com>
96711         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
96713 2008-03-20  Eric Blake  <ebb9@byu.net>
96715         VPATH fix.
96716         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
96718 2008-03-20  Simon Josefsson  <simon@josefsson.org>
96720         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
96721         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
96723 2008-03-20  Eric Blake  <ebb9@byu.net>
96725         Sync GNUmakefile with coreutils.
96726         * build-aux/GNUmakefile (have-Makefile): Rename...
96727         (_have-Makefile): ...to this, for namespace consideration.
96728         (GNUmakefile.cfg): Include, if present.
96729         (_autoreconf): Define a default.
96730         (_is-dist-target): New rule for rebuilds to pick up intra-release
96731         version.
96732         (maint-cfg.mk): Rename...
96733         (cfg.mk): ...to this.
96735 2008-03-18  Jim Meyering  <meyering@redhat.com>
96737         New script and module: mktempd
96738         * MODULES.html.sh (maint+release support): Add mktempd.
96739         * build-aux/mktempd: New file.
96740         * modules/mktempd: New file.
96742 2008-03-15  Jim Meyering  <meyering@redhat.com>
96744         Undo last change.
96745         * lib/sha1.c, lib/md5.c: 63 != ~63.
96746         Reported by Andreas Schwab.
96748         sha1.c, md5.c: Hoist a redundant expression.
96749         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
96750         "ctx->buflen" only once, before calling *_process_block.
96751         * lib/md5.c (md5_process_bytes): Likewise.
96753 2008-03-14  Eric Blake  <ebb9@byu.net>
96755         Bump copyright year in files generated by gnulib-tool.
96756         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
96757         gnulib-tool, rather than hard-coding it.
96759         Fix 'gnulib-tool --version' output to work with git.
96760         * gnulib-tool (func_gnulib_dir): New function, extracted from...
96761         (startup): ...here.
96762         (func_version): Use it to invoke git-version-gen, rather than
96763         relying on CVS keyword expansion.  Modernize wording.
96764         (cvsdatestamp, last_checkin_date, version): Kill unused
96765         variables.
96767 2008-03-12  Jim Meyering  <meyering@redhat.com>
96769         Recognize optional cast of the argument to free.
96770         * build-aux/useless-if-before-free: Update regexps.
96772         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
96774 2008-03-11  Bruno Haible  <bruno@clisp.org>
96776         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
96777         by a single package.
96778         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
96779         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
96780         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
96781         Reported by Sam Steingold <sds@gnu.org>.
96783 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96785         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
96786         repositories.
96788 2008-03-11  Bruno Haible  <bruno@clisp.org>
96790         Avoid conflicts between local macro definitions.
96791         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
96792         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
96794 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
96795             Bruno Haible  <bruno@clisp.org>
96797         Make va_copy work with some version of xlc on AIX 5.1.
96798         * lib/stdarg.in.h: New file.
96799         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
96800         On AIX, use a <stdarg.h> file substitute.
96801         * modules/stdarg (Files): Add lib/stdarg.in.h.
96802         (Depends-on): Add include_next.
96803         (Makefile.am): Build a stdarg.h substitute if requested.
96804         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
96806 2008-03-10  Bruno Haible  <bruno@clisp.org>
96808         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
96809         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96810         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96812 2008-03-10  Bruno Haible  <bruno@clisp.org>
96814         * modules/stdlib (Depends-on): Add include_next, remove
96815         absolute-header.
96817 2008-03-09  Bruno Haible  <bruno@clisp.org>
96819         * lib/freadahead.h (freadahead): Document more precisely.
96820         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
96821         the sum of both buffer sizes.
96822         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
96823         * NEWS: Document the change.
96825 2008-03-09  Bruno Haible  <bruno@clisp.org>
96827         Extend freadptr to return also the buffer size.
96828         * lib/freadptr.h (freadptr): Add sizep argument.
96829         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
96830         (freadptr): Add sizep argument. Determine buffer size like freadahead
96831         does.
96832         * tests/test-freadptr.c: Don't include freadahead.h.
96833         (main): Adapt for new calling convention of freadptr.
96834         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
96835         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
96836         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
96837         tests/test-freadptr2.sh.
96838         (Depends): Remove freadahead.
96839         (TESTS): Add test-freadptr2.sh.
96840         (check_PROGRAMS): Add test-freadptr2.
96842 2008-03-09  Bruno Haible  <bruno@clisp.org>
96844         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
96845         Report and solution by Simon Josefsson.
96847 2008-03-06  Bruno Haible  <bruno@clisp.org>
96849         Make fflush after ungetc work on BSD platforms.
96850         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
96851         * tests/test-fflush2.c: New file.
96852         * tests/test-fflush2.sh: New file.
96853         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
96854         tests/test-fflush2.c.
96855         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
96856         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
96858 2008-03-06  Eric Blake  <ebb9@byu.net>
96860         Likewise for ftello.
96861         * modules/ftello (Dependencies): Add extensions.
96862         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
96864 2008-03-06  Bruno Haible  <bruno@clisp.org>
96866         * modules/fseeko (Dependencies): Add extensions.
96867         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
96868         Needed on glibc systems.
96870 2008-03-06  Bruno Haible  <bruno@clisp.org>
96872         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
96873         email address.
96874         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96876 2008-03-06  Bruno Haible  <bruno@clisp.org>
96878         * users.txt: Add libgnupdf.
96880 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
96882         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
96883         (Header File Substitutes, Function Substitutes,
96884         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
96885         (Build robot for gnulib): Fix typo.
96887 2008-03-06  Bruno Haible  <bruno@clisp.org>
96889         * doc/gnulib-tool.texi (VCS Issues): Small updates.
96890         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96892 2008-03-06  Bruno Haible  <bruno@clisp.org>
96894         * doc/func.texi: New file, extracted from doc/gnulib.texi.
96895         * doc/gnulib.texi: Include it.
96897 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96899         * modules/func (License): Change license to unlimited; there was
96900         no LGPL parts in the module anyway.
96902 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96904         * modules/__func__: Renamed to modules/func.
96905         * modules/__func__-tests: Renamed to modules/func-tests.
96906         * tests/test-__func__.c: Renamed to tests/test-func.c.
96907         * m4/__func__.m4: Renamed to m4/func.m4.
96908         * doc/gnulib.texi (__func__): Section renamed to func.
96909         Suggested by Eric Blake <ebb9@byu.net>.
96911 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96913         * doc/gnulib.texi (__func__): Use C99 terminology when talking
96914         about __func__.  Make example self-contained.  Suggested by Eric
96915         Blake <ebb9@byu.net>.
96917         * tests/test-__func__.c (main): Avoid extraneous () around __func.
96918         Suggested by Eric Blake <ebb9@byu.net>.
96920 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96922         * modules/__func__: New file.
96923         * modules/__func__-tests: New file.
96924         * tests/test-__func__.c: New file.
96925         * m4/__func__.m4: New file.
96926         * doc/gnulib.texi (__func__): Document __func__ module.
96928 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96930         * modules/byteswap (License): Re-license as LGPLv2+.
96932 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96934         * doc/Makefile: Add pdf target.
96936 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96938         * modules/inline (License): Use 'unlimited', since there are only
96939         *.m4 files in this module.
96941 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96942             Bruno Haible  <bruno@clisp.org>
96944         Add support for HP C 7.1 on OpenVMS 8.3.
96945         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
96947 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96949         Update VMS specifics.
96950         * lib/getopt.c [VMS]: Remove include of unixlib.h.
96952 2008-03-02  Jim Meyering  <meyering@redhat.com>
96954         Remove the last dependency on the "free" module.
96955         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
96956         Reported by Bob Proulx.
96958         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
96960         Remove useless "if" tests before free.  Deprecate "free" module.
96961         * doc/posix-functions/free.texi: Mention that this
96962         module is no longer useful.
96963         * modules/free (Notice): Say this module is obsolete.
96964         * modules/readutmp (Depends-on): Remove free.
96965         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
96966         * lib/putenv.c (putenv): Likewise.
96967         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
96968         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
96969         * tests/test-c-strcasestr.c (main): Likewise.
96970         * tests/test-c-strstr.c (main): Likewise.
96971         * tests/test-mbscasestr1.c (main): Likewise.
96972         * tests/test-mbscasestr2.c (main): Likewise.
96973         * tests/test-mbsstr1.c (main): Likewise.
96974         * tests/test-mbsstr2.c (main): Likewise.
96975         * tests/test-memmem.c (main): Likewise.
96976         * tests/test-strcasestr.c (main): Likewise.
96977         * tests/test-striconv.c (main): Likewise.
96978         * tests/test-striconveh.c (main): Likewise.
96979         * tests/test-striconveha.c (main): Likewise.
96980         * tests/test-strstr.c (main): Likewise.
96982         * build-aux/git-version-gen: Adjust a comment and the Usage string.
96984         bootstrap: sync from coreutils again
96985         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
96987 2008-03-01  Jim Meyering  <meyering@redhat.com>
96989         bootstrap: sync from coreutils
96990         * build-aux/bootstrap (update_po_files): Copy a .po file into place
96991         also when the target doesn't exist.
96993 2008-03-01  Eric Blake  <ebb9@byu.net>
96995         Fix bugs in last patch.
96996         * lib/memchr2.c (memchr2): Fix typo.
96997         * tests/test-memchr2.c: Test previous bug, and don't use GNU
96998         extension.
96999         Reported by Bruce Korb.
97001         New module 'memchr2'.
97002         * modules/memchr2: New file.
97003         * modules/memchr2-tests: Likewise.
97004         * lib/memchr2.h: Likewise.
97005         * lib/memchr2.c: Likewise, based on memchr.c.
97006         * tests/test-memchr2.c: New test.
97007         * MODULES.html.sh (String handling): Add memchr2.
97009 2008-02-29  Bruno Haible  <bruno@clisp.org>
97011         * modules/freadseek-tests: New file.
97012         * tests/test-freadseek.sh: New file.
97013         * tests/test-freadseek.c: New file.
97015         New module 'freadseek'.
97016         * modules/freadseek: New file.
97017         * lib/freadseek.h: New file.
97018         * lib/freadseek.c: New file.
97019         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
97021 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
97023         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
97024         wydawca.
97026         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
97027         program_invocation_name and program_invocation_short_name are
97028         present.
97030 2008-02-28  Bruno Haible  <bruno@clisp.org>
97032         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
97033         * tests/test-freadptr.sh: Also test non-seekable stdin.
97035 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
97037         * build-aux/bootstrap (source_base, m4_base)
97038         (doc_base, tests_base): New variables.
97039         (gnulib_tool_options): Do not hardcode base directories, use
97040         the above variables instead.
97042 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
97044         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
97046 2008-02-28  Bruno Haible  <bruno@clisp.org>
97048         * modules/freadptr-tests: New file.
97049         * tests/test-freadptr.sh: New file.
97050         * tests/test-freadptr.c: New file.
97052         New module 'freadptr'.
97053         * modules/freadptr: New file.
97054         * lib/freadptr.h: New file.
97055         * lib/freadptr.c: New file.
97056         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
97058 2008-02-26  Karl Berry  <karl@freefriends.org>
97060         Sync from Libtool:
97061         * libltdl/argz.c (argz_add, argz_count): New functions.
97062         * libltdl/argz.in.h: Declare them.
97063         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
97065 2008-02-22  Bruno Haible  <bruno@clisp.org>
97067         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
97068         is a pointer type.  Needed for HP-UX 10.
97069         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
97070         * doc/posix-functions/gmtime_r.texi: Likewise.
97071         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
97073 2008-02-24  Bruno Haible  <bruno@clisp.org>
97075         * modules/environ-tests: New file.
97076         * tests/test-environ.c: New file.
97078         New module 'environ'.
97079         * modules/environ: New file.
97080         * lib/unistd.in.h (environ): New declaration.
97081         * m4/environ.m4: New file.
97082         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
97083         after use.
97084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
97085         HAVE_DECL_ENVIRON.
97086         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
97087         HAVE_DECL_ENVIRON.
97088         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
97089         wrong claim that 'environ' is missing on some systems.
97090         * modules/execute (Depends-on): Add environ.
97091         * lib/execute.c (environ): Remove fallback declaration.
97092         * modules/pipe (Depends-on): Add environ.
97093         * lib/pipe.c (environ): Remove fallback declaration.
97094         * modules/setenv (Depends-on): Add environ.
97095         * lib/setenv.c (environ): Remove fallback declaration.
97096         * modules/unsetenv (Depends-on): Add environ.
97097         * lib/unsetenv.c (environ): Remove fallback declaration.
97098         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
97099         m4/environ.m4.
97100         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
97101         (gl_PREREQ_UNSETENV): Likewise.
97103 2008-02-24  Bruno Haible  <bruno@clisp.org>
97105         * doc/posix-functions/environ.texi: Document the MacOS X problem.
97107 2008-02-20  Bob Proulx  <bob@proulx.com>
97109         Enable use of older two part flavor 'git describe'.
97110         * build-aux/git-version-gen: If using the older two part flavor of
97111         git version then recreate the third part now present in the
97112         newer three part flavor of git describe.
97114 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
97116         * lib/fts.c (fts_build): Typo correction to comment.
97118 2008-02-17  Bruno Haible  <bruno@clisp.org>
97120         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
97121         generating no-op conflicts.
97123 2008-02-17  Bruno Haible  <bruno@clisp.org>
97125         Speed up by 10%.
97126         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
97127         result_entries, rather than an index-based loop.
97129 2008-02-17  Bruno Haible  <bruno@clisp.org>
97131         Speed up by 25%.
97132         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
97133         'hashcode_cached'.
97134         (entry_create): New function.
97135         (entry_hashcode): Use the cached hashcode if possible.
97136         (read_changelog_file, try_split_merged_entry): Use entry_create.
97138 2008-02-17  Bruno Haible  <bruno@clisp.org>
97140         Speed up from O(n^2) to O(n) for long ChangeLog files.
97141         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
97142         (read_changelog_file): Change implementation of entries_reversed list
97143         to rbtreehash.
97144         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
97146 2008-02-17  Bruno Haible  <bruno@clisp.org>
97148         New option --split-merged-entry.
97149         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
97150         (find_paragraph_end, try_split_merged_entry): New functions.
97151         (long_options): Add option --split-merged-entry.
97152         (usage): Document option --split-merged-entry.
97153         (main): Implement option --split-merged-entry.
97154         Reported by Eric Blake.
97156 2008-02-17  Bruno Haible  <bruno@clisp.org>
97158         * lib/git-merge-changelog.c: Include c-strstr.h.
97159         (main): Support the "git pull --rebase" situation.
97160         * modules/git-merge-changelog (Depends-on): Add c-strstr.
97161         Reported by Eric Blake.
97163 2008-02-16  Eric Blake  <ebb9@byu.net>
97165         Avoid doubling \ in common case of "c-maybe" quoting style.
97166         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
97167         eliding outer quotes.
97168         * lib/quotearg.h: Document this.
97169         * tests/test-quotearg.c (result_strings, inputs, results_g)
97170         (flag_results, locale_results): Test it by adding a new string to
97171         each test group.
97172         (compare_strings): Test new string.
97174 2008-02-13  Eric Blake  <ebb9@byu.net>
97176         Avoid trigraph quoting in default output.
97177         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
97178         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
97179         unless explicitly requested.
97180         * tests/test-quotearg.c (flag_results, main): Add additional tests.
97182 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
97184         Don't rely on signed integer overflowing to negative value.
97185         * lib/getugroups.c (getugroups): Include <limits.h>.
97186         Instead, compare against INT_MAX, and increment only if the test passes.
97188 2008-02-13  Jim Meyering  <meyering@redhat.com>
97189         and Eric Blake  <ebb9@byu.net>
97191         Avoid shadowing warning and compile errors on Linux.
97192         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
97193         forwarding macros on Linux.
97194         (dcgettext): Define a stub, for Linux.
97195         (results_g, main): Avoid warnings.
97197 2008-02-12  Eric Blake  <ebb9@byu.net>
97199         Silence warning in last patch.
97200         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
97202         Quotearg part 4: add tests, fix c-maybe colon quoting.
97203         * lib/quotearg.h: Improve documentation.
97204         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
97205         escapes when adding outer quotes.  When quoting trigraphs, use
97206         valid C notation.  When quoting NUL, omit extra characters if next
97207         character is not digit.  Alter prototype.
97208         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
97209         callers.
97210         * modules/quotearg-tests: New module.
97211         * tests/test-quotearg.c: New test.
97213 2008-02-07  Eric Blake  <ebb9@byu.net>
97215         Quotearg part 3: add flag to control outer quote elision.
97216         * lib/quotearg.h (c_maybe_quoting_style): New style.
97217         (enum quoting_flags): Better documentation of flags.
97218         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
97219         c-maybe style.
97220         (quotearg_buffer_restyled): Handle new flag to elide outer
97221         quotes.
97223         Quotearg part 2: add flag that can control NUL elision.
97224         * lib/quotearg.h (set_quoting_flags): New prototype.
97225         * lib/quotearg.c (struct quoting_options): Add flag field.
97226         (set_quoting_flags): New function.
97227         (quotearg_buffer_restyled): Add flags parameter.
97228         (quotearg_alloc_mem): Set the flag if length cannot be returned.
97229         (quotearg_n_options): Set the flag, since length cannot be
97230         returned.
97231         (quoting_options_from_style): Default flags correctly.
97233         Quotearg part 1: more wrappers, restore quotearg_char state.
97234         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
97235         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
97236         (quotearg_colon_mem): New wrappers.
97237         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
97238         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
97239         functions.
97240         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
97241         (quotearg_colon_mem): New functions.
97243 2008-02-11  Bruno Haible  <bruno@clisp.org>
97245         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
97246         library in the current directory: it does not work with parallel make.
97247         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97249 2008-02-11  Bruno Haible  <bruno@clisp.org>
97251         * .gitattributes: New file.
97253 2008-02-11  Jim Meyering  <meyering@redhat.com>
97255         useless-if-before-free: Fix reversed exit values.
97256         * build-aux/useless-if-before-free: Use correct values
97257         for EXIT_MATCH and EXIT_NO_MATCH.
97259         * build-aux/useless-if-before-free: Close stdout carefully.
97261 2008-02-10  Bruno Haible  <bruno@clisp.org>
97263         New module 'git-merge-changelog'.
97264         * modules/git-merge-changelog: New file.
97265         * lib/git-merge-changelog.c: New file.
97267 2008-02-10  Jim Meyering  <meyering@redhat.com>
97269         useless-if-before-free: New option: --list (-l).
97271         useless-if-before-free: Don't exit immediately upon open failure.
97272         * build-aux/useless-if-before-free: Exit 2 for errors.
97273         Upon failure to open a file, don't exit immediately.
97274         Rather, just warn and continue with any remaining files.
97276 2008-02-10  Bruno Haible  <bruno@clisp.org>
97278         New abstract list operation 'node_set_value'.
97279         * lib/gl_list.h (gl_list_node_set_value): New function.
97280         (struct gl_list_implementation): New field node_set_value.
97281         * lib/gl_list.c (gl_list_node_set_value): New function.
97282         * lib/gl_array_list.c (gl_array_node_set_value): New function.
97283         (gl_array_list_implementation): Update.
97284         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
97285         (gl_carray_list_implementation): Update.
97286         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
97287         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
97288         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
97289         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
97290         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
97291         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
97292         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
97293         Update.
97294         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
97295         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
97296         (gl_sublist_list_implementation): Update.
97298 2008-02-10  Bruno Haible  <bruno@clisp.org>
97300         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
97301         Needed when ELEMENT is #defined to 'some_type *'.
97303 2008-02-10  Jim Meyering  <meyering@redhat.com>
97305         New script and module: useless-if-before-free
97306         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
97307         * build-aux/useless-if-before-free: New file.
97308         * modules/useless-if-before-free: New file.
97310         * build-aux/gitlog-to-changelog: Use committer date, not author date.
97312         xstrtol_error: Fix typo.
97313         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
97314         s/exit_failure/exit_status/.
97316 2008-02-09  Jim Meyering  <meyering@redhat.com>
97318         New script and module: gitlog-to-changelog
97319         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
97320         * modules/gitlog-to-changelog: New file.
97321         * build-aux/gitlog-to-changelog: New file.
97323 2008-02-08  Jim Meyering  <meyering@redhat.com>
97325         Avoid two "parameter unused" warnings.
97326         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
97327         Mark "st" as used.
97329         Use "git COMMAND", not "git-COMMAND".
97330         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
97331         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
97332         * build-aux/git-version-gen: Use "git status", not "git-status".
97334 2008-02-07  Bruno Haible  <bruno@clisp.org>
97336         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
97337         Avoids a crash on Windows Vista.
97338         Reported by Adam Strzelecki <ono@java.pl> via
97339         Simon Josefsson <simon@josefsson.org>.
97341 2008-02-06  Bruno Haible  <bruno@clisp.org>
97343         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
97344         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
97345         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
97346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
97347         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
97348         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
97349         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
97350         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
97351         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
97352         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
97353         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
97354         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
97355         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
97356         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
97357         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
97358         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
97359         left-adjust flag.
97360         * tests/test-snprintf-posix.h (test_function): Likewise.
97361         * tests/test-sprintf-posix.h (test_function): Likewise.
97362         * tests/test-vasprintf-posix.c (test_function): Likewise.
97363         * doc/posix-functions/fprintf.texi: Update.
97364         * doc/posix-functions/printf.texi: Update.
97365         * doc/posix-functions/snprintf.texi: Update.
97366         * doc/posix-functions/sprintf.texi: Update.
97367         * doc/posix-functions/vfprintf.texi: Update.
97368         * doc/posix-functions/vprintf.texi: Update.
97369         * doc/posix-functions/vsnprintf.texi: Update.
97370         * doc/posix-functions/vsprintf.texi: Update.
97371         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97373 2008-02-06  Bruno Haible  <bruno@clisp.org>
97375         Fix bug introduced on 2008-01-26.
97376         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
97378 2008-02-06  Bruno Haible  <bruno@clisp.org>
97380         Fix bug introduced on 2007-06-10.
97381         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
97382         !NEED_PRINTF_FLAG_ZERO.
97384 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
97386         getloadavg: use libperfstat on AIX5
97387         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
97389 2008-02-03  Bruno Haible  <bruno@clisp.org>
97391         * lib/diffseq.h: Add comments about required #includes.
97392         Reported by Michael Biggs <gnulib@doubleplum.net>.
97394 2008-02-01  Bruno Haible  <bruno@clisp.org>
97396         * users.txt: Add gnuit.
97398 2008-01-31  Bruno Haible  <bruno@clisp.org>
97400         * lib/md4.c (set_uint32): Mark as inline.
97401         * lib/md5.c (set_uint32): Likewise.
97402         * lib/sha1.c (set_uint32): Likewise.
97403         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
97404         * m4/md5.m4 (gl_MD5): Likewise.
97405         * m4/sha1.m4 (gl_SHA1): Likewise.
97407 2008-01-31  Jim Meyering  <meyering@redhat.com>
97409         Use "sizeof VAR", rather than a literal "4".
97410         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
97411         * lib/md4.c (md4_read_ctx): Likewise.
97412         * lib/sha1.c (sha1_read_ctx): Likewise.
97414 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97416         * tests/test-sha1.c: New file, based on test-md5.c.
97418         * modules/crypto/sha1-tests: New file.
97420 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97422         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
97424 2008-01-31  Jim Meyering  <meyering@redhat.com>
97426         Prefer "sizeof v" over the equivalent "4".
97427         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
97428         * lib/md5.c (set_uint32): Likewise.
97429         * lib/sha1.c (set_uint32): Likewise.
97431 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97433         * lib/sha1.c (set_uint32): Mark function as static.
97435 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97437         md2: clarify comments to say that alignment is not required.
97438         * lib/md2.h: Remove warning about alignment in comment.
97439         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
97440         never been required.
97442 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97444         md4: adapt alignment constraint fix from sha1.
97445         * lib/md4.c (set_uint32): New function, from sha1.c
97446         (md4_read_ctx): Use it.
97447         (md4_finish_ctx): Doc fix.
97448         * lib/md4.h: Doc fix.
97450 2008-01-31  Simon Josefsson  <simon@josefsson.org>
97452         md5: adapt alignment constraint fix from sha1.
97453         * lib/md5.c (set_uint32): New function, from sha1.c
97454         (md5_read_ctx): Use it.
97455         (md5_finish_ctx): Doc fix.
97456         * lib/md5.h: Doc fix.
97458 2008-01-30  Peter Palfrader  <weasel@debian.org>
97460         sha1: remove the result buffer alignment constraint
97461         * lib/sha1.c (set_uint32): New function.
97462         (sha1_read_ctx): Rewrite to remove the result buffer alignment
97463         constraint.
97464         (sha1_finish_ctx): Remove comment warning about alignment constraint.
97465         * lib/sha1.h: Likewise.
97467 2008-01-30  Andreas Schwab  <schwab@suse.de>
97468             Bruno Haible  <bruno@clisp.org>
97470         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
97471         correct definition of LDBL_MIN_EXP.
97473 2008-01-30  Karl Berry  <karl@gnu.org>
97475         * config/srclist-update: try to preserve x bit on updates.
97476         * config/srclistvars.sh: update for karl.
97478 2008-01-29  Jim Meyering  <meyering@redhat.com>
97480         vasnprintf.c: Avoid warning about unused label
97481         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
97482         "overflow" label definition and associated code with the
97483         same cpp condition that guards the sole use of that label.
97485 2008-01-26  Bruno Haible  <bruno@clisp.org>
97487         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
97488         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
97489         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
97490         * lib/isnanl-nolibm.h (isnanl): Likewise.
97491         Reported by Paul Eggert <eggert@cs.ucla.edu>.
97493 2008-01-26  Bruno Haible  <bruno@clisp.org>
97495         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
97496         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
97498 2008-01-26  Bruno Haible  <bruno@clisp.org>
97500         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
97501         GCC >= 4.0 built-in.
97502         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
97504 2008-01-26  Bruno Haible  <bruno@clisp.org>
97506         Rename isnan, applicable to 'double' only, to isnand.
97507         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
97508         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
97509         (configure.ac): Update.
97510         (Include): Replace "isnan.h" with "isnand.h".
97511         * m4/isnand.m4: Renamed from m4/isnan.m4.
97512         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
97513         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
97514         instead of isnan.c.
97515         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
97516         instead of HAVE_ISNAN_IN_LIBC.
97517         (isnand): Renamed from isnan.
97518         * lib/isnand.c: New file.
97519         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
97520         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
97521         (Makefile.am): Update.
97522         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
97523         Include isnand.h instead of isnan.h.
97524         (main): Test isnand instead of isnan.
97525         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
97526         isnan-nolibm.
97527         * modules/frexp (Depends-on): Likewise.
97528         * modules/frexp-tests (Depends-on): Likewise.
97529         * modules/frexp-nolibm (Depends-on): Likewise.
97530         * modules/frexp-nolibm-tests (Depends-on): Likewise.
97531         * modules/isfinite (Depends-on): Likewise.
97532         * modules/round-tests (Depends-on): Likewise.
97533         * modules/signbit (Depends-on): Likewise.
97534         * modules/signbit-tests (Depends-on): Likewise.
97535         * modules/snprintf-posix (Depends-on): Likewise.
97536         * modules/sprintf-posix (Depends-on): Likewise.
97537         * modules/trunc-tests (Depends-on): Likewise.
97538         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
97539         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
97540         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
97541         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
97542         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
97543         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
97544         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
97545         * modules/vasnprintf-posix (Depends-on): Likewise.
97546         * modules/vasprintf-posix (Depends-on): Likewise.
97547         * modules/vfprintf-posix (Depends-on): Likewise.
97548         * modules/vsnprintf-posix (Depends-on): Likewise.
97549         * modules/vsprintf-posix (Depends-on): Likewise.
97550         * lib/frexp.c: Include isnand.h instead of isnan.h.
97551         (ISNAN): Set to isnand instead of isnan.
97552         * lib/isfinite.c: Include isnand.h instead of isnan.h.
97553         (gl_isfinited): Use isnand instead of isnan.
97554         * lib/signbitd.c: Include isnand.h instead of isnan.h.
97555         (gl_signbitd): Use isnand instead of isnan.
97556         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
97557         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
97558         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
97559         (main): Use isnand instead of isnan.
97560         * tests/test-round1.c: Include isnand.h.
97561         (main): Use isnand instead of isnan.
97562         * tests/test-round2.c: Include isnand.h instead of isnan.h.
97563         (ISNAN): Set to isnand instead of isnan.
97564         * tests/test-trunc1.c: Include isnand.h.
97565         (main): Use isnand instead of isnan.
97566         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
97567         (equal): Use isnand instead of isnan.
97568         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
97569         isnand-nolibm.
97570         * NEWS: Mention the change.
97572 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
97573             Bruno Haible  <bruno@clisp.org>
97575         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
97576         the GCC builtins for signbits are present and set
97577         REPLACE_SIGNBIT_USING_GCC if so.
97578         * lib/math.in.h (signbit): Define using GCC builtins if
97579         REPLACE_SIGNBIT_USING_GCC is set.
97580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
97581         REPLACE_SIGNBIT_USING_GCC.
97582         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
97584 2008-01-25  Jim Meyering  <meyering@redhat.com>
97586         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
97587         * lib/poll.c: Include <config.h>, not "config.h".
97588         * tests/test-getaddrinfo.c: Likewise.
97590 2008-01-25  Simon Josefsson  <simon@josefsson.org>
97592         * modules/sockets-tests: New file.
97594 2008-01-24  Simon Josefsson  <simon@josefsson.org>
97596         * modules/sockets: New module, can be used to call WSA_Startup and
97597         WSA_Cleanup when needed.
97599         * lib/sockets.h, lib/sockets.c: New files.
97601         * m4/sockets.m4: New file.
97603         * tests/test-sockets.c: New file.
97605 2008-01-19  Bruno Haible  <bruno@clisp.org>
97607         * doc/posix-headers: Renamed from doc/headers.
97608         * doc/posix-functions: Renamed from doc/functions.
97609         * doc/gnulib.texi: Update.
97611 2008-01-19  Bruno Haible  <bruno@clisp.org>
97613         * doc/glibc-functions/strcasestr.texi: Include contents of
97614         doc/functions/strcasestr.texi, fixing the list of platforms.
97615         * doc/functions/strcasestr.texi: Remove file.
97617 2008-01-19  Bruno Haible  <bruno@clisp.org>
97619         * doc/glibc-functions/memmem.texi: Include contents of
97620         doc/functions/memmem.texi.
97621         * doc/functions/memmem.texi: Remove file.
97623 2008-01-18  Bruno Haible  <bruno@clisp.org>
97625         * doc/glibc-functions/*.texi: New files.
97626         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
97627         to use the new files.
97629 2008-01-17  Bruno Haible  <bruno@clisp.org>
97631         * tests/test-gethostname.c (main): Fix printf statement.
97633 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97635         * modules/gethostname-tests: New file.
97637         * tests/test-gethostname.c: New file.
97639 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97641         * lib/gethostname.c: Include string.h unconditionally, strncpy is
97642         used by the UNAME case.  Reported by Bruno Haible
97643         <bruno@clisp.org>.
97645 2008-01-17  Eric Blake  <ebb9@byu.net>
97647         Convert c-strcasestr to be more efficient.
97648         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
97649         (Depends-on): Add c-strcase, remove malloca, strnlen.
97650         * tests/test-c-strcasestr.c (main): Enhance test.
97651         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
97653 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
97655         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
97656         Use it in creating po/Makevars.
97658 2008-01-15  Simon Josefsson  <simon@josefsson.org>
97660         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
97661         Applications that requires it should initialize libgcrypt
97662         manually.
97664 2008-01-16  Simon Josefsson  <simon@josefsson.org>
97666         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
97668 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
97670         Fix problem with getdate on mingw32 reported by Simon Josefsson
97671         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
97672         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
97673         tzname", when deciding whether to declare tzname.
97674         * lib/strftime.c (tzname): Likewise.
97676 2008-01-15  Bruno Haible  <bruno@clisp.org>
97678         Work around a MacOS X 10.5 bug in frexpl().
97679         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
97680         * doc/functions/frexpl.texi: Document the bug.
97681         Reported by Elias Pipping <pipping@gentoo.org>.
97683 2008-01-14  Eric Blake  <ebb9@byu.net>
97685         Touch up previous patch.
97686         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
97687         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
97689         Convert strcasestr module to use Two-Way algorithm.
97690         * modules/strcasestr-simple: New module, based on the old
97691         strcasestr, but with Two-Way rather than KMP.
97692         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
97693         * lib/string.in.h (rpl_strcasestr): Declare.
97694         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
97695         performance.
97696         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
97697         * modules/string (Makefile.am): Support strcasestr.
97698         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
97699         * modules/strcasestr-tests (Depends-on): Check for alarm.
97700         * tests/test-strcasestr.c: Augment test.
97701         * lib/str-two-way.h: Clean up stray macro.
97702         * NEWS: Document new module.
97703         * MODULES.html.sh (string handling): Likewise.
97704         * doc/functions/strcasestr.texi: New file.
97705         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
97706         here, since it is not a POSIX function.
97708 2008-01-14  Colin Watson  <cjwatson@debian.org>
97709             Bruno Haible  <bruno@clisp.org>
97711         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
97712         works fine; if not, set REPLACE_STRSIGNAL.
97713         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
97714         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97715         REPLACE_STRSIGNAL.
97716         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
97717         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
97718         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
97720 2008-01-14  Bruno Haible  <bruno@clisp.org>
97722         * modules/strsignal (Include): Change to <string.h>.
97724 2008-01-14  Colin Watson  <cjwatson@debian.org>
97726         * modules/argp (Notice): Add a notice recommending to change
97727         XGETTEXT_OPTIONS.
97728         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
97730 2008-01-13  Colin Watson  <cjwatson@debian.org>
97732         * modules/strsignal-tests: New file.
97733         * tests/test-strsignal.c: New file.
97735         * lib/strsignal.c: New file, from glibc with modifications.
97736         * lib/siglist.h: New file, from glibc with modifications.
97737         * lib/string.in.h (strsignal): New declaration.
97738         * m4/strsignal.m4: New file.
97739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97740         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
97741         * modules/strsignal: New file.
97742         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
97743         HAVE_DECL_STRSIGNAL.
97745 2008-01-13  Bruno Haible  <bruno@clisp.org>
97747         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
97748         locale encoding is not ASCII. Needed for OpenBSD 4.0.
97749         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
97750         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
97752 2008-01-13  Bruno Haible  <bruno@clisp.org>
97754         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
97755         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
97756         * lib/argp.h (__attribute__): Likewise.
97757         * lib/c-stack.c (__attribute__): Likewise.
97758         * lib/error.h (__attribute__): Likewise.
97759         * lib/fts.c (__attribute__): Likewise.
97760         * lib/openat.h (__attribute__): Likewise.
97761         * lib/stdio.in.h (__attribute__): Likewise.
97762         * lib/string.in.h (__attribute__): Likewise.
97763         * lib/utimens.c (__attribute__): Likewise.
97764         * lib/vasnprintf.h (__attribute__): Likewise.
97765         * lib/xalloc.h (__attribute__): Likewise.
97766         * lib/xprintf.h (__attribute__): Likewise.
97767         * lib/xstrtol.h (__attribute__): Likewise.
97768         * lib/xvasprintf.h (__attribute__): Likewise.
97770 2008-01-12  Bruno Haible  <bruno@clisp.org>
97772         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
97773         * doc/glibc-headers/a.out.texi: New file.
97774         * doc/glibc-headers/aliases.texi: New file.
97775         * doc/glibc-headers/alloca.texi: New file.
97776         * doc/glibc-headers/ar.texi: New file.
97777         * doc/glibc-headers/argp.texi: New file.
97778         * doc/glibc-headers/argz.texi: New file.
97779         * doc/glibc-headers/byteswap.texi: New file.
97780         * doc/glibc-headers/crypt.texi: New file.
97781         * doc/glibc-headers/endian.texi: New file.
97782         * doc/glibc-headers/envz.texi: New file.
97783         * doc/glibc-headers/err.texi: New file.
97784         * doc/glibc-headers/error.texi: New file.
97785         * doc/glibc-headers/execinfo.texi: New file.
97786         * doc/glibc-headers/fpu_control.texi: New file.
97787         * doc/glibc-headers/fstab.texi: New file.
97788         * doc/glibc-headers/fts.texi: New file.
97789         * doc/glibc-headers/getopt.texi: New file.
97790         * doc/glibc-headers/ieee754.texi: New file.
97791         * doc/glibc-headers/ifaddrs.texi: New file.
97792         * doc/glibc-headers/libintl.texi: New file.
97793         * doc/glibc-headers/mcheck.texi: New file.
97794         * doc/glibc-headers/mntent.texi: New file.
97795         * doc/glibc-headers/obstack.texi: New file.
97796         * doc/glibc-headers/paths.texi: New file.
97797         * doc/glibc-headers/printf.texi: New file.
97798         * doc/glibc-headers/pty.texi: New file.
97799         * doc/glibc-headers/resolv.texi: New file.
97800         * doc/glibc-headers/shadow.texi: New file.
97801         * doc/glibc-headers/sysexits.texi: New file.
97802         * doc/glibc-headers/ttyent.texi: New file.
97804 2008-01-12  Jim Meyering  <meyering@redhat.com>
97806         announce-gen: emit Gnulib's git-based version string.
97807         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
97808         New option --gnulib-version=V, where V is expected to be
97809         the output of running git describe in the gnulib directory.
97810         (get_tool_versions): Request feedback on xdelta.  I suspect it's
97811         not useful, and plan to stop publishing an xdelta file with each
97812         coreutils release.
97814         * build-aux/announce-gen: Also check for lzma-compressed files.
97816 2008-01-11  Bruno Haible  <bruno@clisp.org>
97818         * tests/test-memmem.c (main): Increase maximum allowed time.
97819         * tests/test-strstr.c (main): Likewise.
97821 2008-01-11  Bruno Haible  <bruno@clisp.org>
97823         * doc/functions/memmem.texi: Add more precisions about platforms.
97824         * doc/functions/strstr.texi: Likewise.
97826 2008-01-10  Eric Blake  <ebb9@byu.net>
97828         * m4/strstr.m4: Delete cruft from copy-n-paste.
97829         Reported by Bruno Haible.
97831 2008-01-10  Bruno Haible  <bruno@clisp.org>
97833         Make c-strstr rely on strstr.
97834         * lib/c-strstr.c: Don't include str-kmp.h.
97835         (c_strstr): Define in terms of strstr.
97836         * modules/c-strstr (Files): Remove lib/str-kmp.h.
97837         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
97839 2008-01-10  Bruno Haible  <bruno@clisp.org>
97841         * doc/gnulib.texi (String Functions in C Locale): New section.
97842         * doc/c-ctype.texi: New file.
97843         * doc/c-strcase.texi: New file.
97844         * doc/c-strcaseeq.texi: New file.
97845         * doc/c-strcasestr.texi: New file.
97846         * doc/c-strstr.texi: New file.
97847         * doc/c-strtod.texi: New file.
97848         * doc/c-strtold.texi: New file.
97850 2008-01-10  Eric Blake  <ebb9@byu.net>
97852         * lib/relocatable.h: Fix a comment.
97854 2008-01-10  Eric Blake  <ebb9@byu.net>
97856         Share two-way algorithm.
97857         * lib/str-two-way.h: New file, merged from...
97858         * lib/memmem.c: ...here...
97859         * lib/strstr.c: ...and here.
97860         * modules/memmem (Files): Use it.
97861         * modules/strstr (Files): Likewise.
97863         Avoid quadratic strstr implementations.
97864         * lib/strstr.c: New file.
97865         * m4/strstr.m4: Likewise.
97866         * modules/strstr: Likewise.
97867         * modules/strstr-tests: Likewise.
97868         * tests/test-strstr.c: Likewise.
97869         * lib/string.in.h (rpl_strstr): Declare.
97870         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
97871         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
97872         * modules/string (Makefile.am): Likewise.
97873         * MODULES.html.sh (string handling): Mention new module.
97874         * doc/functions/strstr.texi (strstr): Document the bug.
97876 2008-01-10  Bruno Haible  <bruno@clisp.org>
97878         * lib/relocatable.h (relocate): State whether result is freshly
97879         allocated or not.
97880         * lib/relocatable.c (relocate): Return a freshly allocated string
97881         instead of a pointer to a privately held string.
97882         Reported by Sylvain Beucler <beuc@gnu.org>.
97884 2008-01-10  Colin Watson  <cjwatson@debian.org>
97886         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
97887         s/S_ISNLK/S_ISLNK/.
97889 2008-01-09  Bruno Haible  <bruno@clisp.org>
97891         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
97892         and other files.
97893         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
97894         if it's only a guess.
97895         * modules/memmem: Simplify by depending on memmem-simple.
97897 2008-01-09  Bruno Haible  <bruno@clisp.org>
97899         Work around OpenBSD 4.0 tdelete() bug.
97900         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
97901         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
97902         macros and don't redefine the enum values.
97903         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
97904         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
97905         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
97907 2008-01-09  Bruno Haible  <bruno@clisp.org>
97909         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
97910         (main): Don't perform the tests if setlocale did not install a UTF-8
97911         locale. Needed on OpenBSD 4.0.
97912         * modules/wcwidth-tests (Depends-on): Add localcharset.
97914 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
97916         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
97917         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
97918         * NEWS: announce this.
97919         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
97921 2008-01-09  Simon Josefsson  <simon@josefsson.org>
97922         and Eric Blake  <ebb9@byu.net>
97924         Add memmem-simple module.
97925         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
97926         (gl_FUNC_MEMMEM): Separate performance from presence checks.
97927         * modules/memmem-simple: New file.
97928         * modules/memmem (Description): Tweak.
97929         * MODULES.html.sh (string handling): Mention new module.
97930         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
97931         addressed by memmem-simple.
97932         * NEWS: Document the difference.
97934 2008-01-09  Eric Blake  <ebb9@byu.net>
97936         Give gcc some memmem optimization hints.
97937         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
97938         (strcasestr): Declare as pure.
97939         * modules/memmem (Maintainer): Claim my implementation.
97941 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97943         Support AIX 6.1 and higher.
97944         * build-aux/config.libpath: Likewise.
97945         * build-aux/config.rpath: Likewise.
97947 2008-01-08  Jim Meyering  <meyering@redhat.com>
97948             Bruno Haible  <bruno@clisp.org>
97950         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
97951         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
97952         Reported by Peter Fales in
97953         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
97955 2008-01-08  Bruno Haible  <bruno@clisp.org>
97957         * modules/unictype/category-of (Depends-on): Add
97958         unictype/category-none.
97959         * modules/unictype/category-and-tests (Depends-on): Add
97960         unictype/category-{L,N,Lu,Nd}.
97961         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
97962         * modules/unictype/category-or-tests (Depends-on): Add
97963         unictype/category-{L,N}.
97964         * modules/unictype/category-name-tests (Depends-on): Add
97965         unictype/category-{Z,Nl}.
97966         Reported by Simon Josefsson.
97968 2008-01-08  Bruno Haible  <bruno@clisp.org>
97970         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
97971         convention better.
97972         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
97973         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
97974         Reported by Peter Miller <millerp@canb.auug.org.au>.
97976 2008-01-08  Eric Blake  <ebb9@byu.net>
97978         Rewrite memmem to guarantee linear complexity without malloc.
97979         * lib/memmem.c (memmem): Use Two-Way rather than
97980         Knuth-Morris-Pratt, to allow O(1) space usage.
97981         (critical_factorization, two_way_short_needle)
97982         (two_way_long_needle): New functions.
97983         (knuth_morris_pratt): Delete.
97984         * modules/memmem (Depends-on): No longer need malloca or stdbool.
97985         Add stdint.
97986         * tests/test-memmem.c (main): Add tests for periodic needle and
97987         sublinear performance.
97988         * doc/functions/memmem.texi (memmem): Document other deficiencies
97989         in cygwin and older glibc.
97991 2008-01-08  Bruno Haible  <bruno@clisp.org>
97993         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
97994         augmentation.
97996 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
97998         Add a configure time option: --disable-acl.
97999         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
98000         AC_ARG_ENABLE(acl).
98002 2008-01-06  Simon Josefsson  <simon@josefsson.org>
98004         * tests/test-localename.c: Don't include obsolete "setenv.h".
98006         * modules/localename-tests (Depends-on): Need unsetenv.
98008 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98010         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
98012 2008-01-06  Colin Watson  <cjwatson@debian.org>
98014         * users.txt: Add man-db.
98016 2008-01-07  Bruno Haible  <bruno@clisp.org>
98018         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
98019         previous section name.
98021 2008-01-07  Bruno Haible  <bruno@clisp.org>
98023         * lib/progname.c (set_program_name): Don't strip off a leading
98024         "lt-" prefix outside a .libs directory.
98025         Suggested by Paul Eggert.
98027 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
98028             Bruno Haible  <bruno@clisp.org>
98030         Improve memory cleanup in 'relocatable' module.
98031         * lib/relocatable.h (compute_curr_prefix): Change return type to
98032         'char *'.
98033         * lib/relocatable.c (compute_curr_prefix): Change return type to
98034         'char *'. Free curr_installdir after use.
98035         (relocate): Free curr_prefix_better after use.
98036         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
98038 2008-01-01  Bruno Haible  <bruno@clisp.org>
98040         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
98041         failure on older glibc systems.
98042         Reported by Peter Fales <psfales@alcatel-lucent.com>.
98044 2008-01-05  Eric Blake  <ebb9@byu.net>
98046         Avoid quadratic system memmem.
98047         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
98048         Reported by Ralf Wildenhues.
98050         Fix memmem test for mingw.
98051         * modules/memmem-tests (configure.ac): Check for alarm.
98052         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
98053         it.
98054         * doc/functions/memmem.texi: New file.
98055         * doc/gnulib.texi (Function Substitutes): Add memmem.
98056         Reported by Bruno Haible.
98058 2008-01-04  Bruno Haible  <bruno@clisp.org>
98060         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
98061         Require gl_HEADER_STRINGS_H_DEFAULTS, not
98062         gl_HEADER_STRING_H_DEFAULTS.
98064 2008-01-04  Eric Blake  <ebb9@byu.net>
98066         Shorten duration of memmem test.
98067         * tests/test-memmem.c (main): Use alarm to declare failure if test
98068         is taking too long.
98069         Reported by Ralf Wildenhues.
98071 2007-12-21  Simon Josefsson  <simon@josefsson.org>
98073         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
98074         string, needed by strerror.
98076 2008-01-03  Colin Watson  <cjwatson@debian.org>
98077             Bruno Haible  <bruno@clisp.org>
98079         * doc/gnulib-tool.texi (Localization): New section.
98081 2008-01-02  Bruno Haible  <bruno@clisp.org>
98083         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
98084         variables to 'unsigned char *' type.
98085         Reported by Paul Eggert.
98087 2008-01-02  Jim Meyering  <jim@meyering.net>
98089         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
98091 2007-12-31  Jim Meyering  <jim@meyering.net>
98093         Avoid use of private FTS type name.
98094         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
98096 2007-12-30  Karl Berry  <karl@gnu.org>
98098         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98099         work around defect in Texinfo and/or the standalone Info browser.
98101 2007-12-30  Bruno Haible  <bruno@clisp.org>
98103         Unify 5 copies of the KMP code.
98104         * lib/str-kmp.h: New file.
98105         * lib/c-strcasestr.c: Include str-kmp.h.
98106         (knuth_morris_pratt): Remove function.
98107         (c_strcasestr): Update.
98108         * lib/c-strstr.c: Include str-kmp.h.
98109         (knuth_morris_pratt): Remove function.
98110         (c_strcasestr): Update.
98111         * lib/mbscasestr.c: Include str-kmp.h.
98112         (knuth_morris_pratt_unibyte): Remove function.
98113         * lib/mbsstr.c: Include str-kmp.h.
98114         (knuth_morris_pratt_unibyte): Remove function.
98115         * lib/strcasestr.c: Include str-kmp.h.
98116         (knuth_morris_pratt): Remove function.
98117         (strcasestr): Update.
98118         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
98119         * modules/c-strstr (Files): Likewise.
98120         * modules/mbscasestr (Files): Likewise.
98121         * modules/mbsstr (Files): Likewise.
98122         * modules/strcasestr (Files): Likewise.
98123         Suggested by Paul Eggert.
98125 2007-12-30  Bruno Haible  <bruno@clisp.org>
98127         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
98128         defined.
98130 2007-12-30  Bruno Haible  <bruno@clisp.org>
98132         * lib/xmalloca.h: Include xalloc.h.
98133         (xnmalloca): New macro.
98135 2007-12-30  Bruno Haible  <bruno@clisp.org>
98137         * lib/malloca.h (nmalloca): New macro.
98138         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
98139         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
98140         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
98141         knuth_morris_pratt_multibyte): Likewise.
98142         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
98143         knuth_morris_pratt_multibyte): Likewise.
98144         * lib/memmem.c (knuth_morris_pratt): Likewise.
98145         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
98147 2007-12-25  Bruno Haible  <bruno@clisp.org>
98149         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
98150         * lib/glob.c: Don't include openat.h.
98151         (link_exists2_p): Add back the code that deals with the
98152         !GLOB_ALTDIRFUNC case.
98153         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
98154         let it do the filename concatenation.
98155         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
98156         * modules/glob (Depends-on): Remove openat.
98158 2007-12-31  Bruno Haible  <bruno@clisp.org>
98160         * modules/dirfd (License): Change to LGPLv2+.
98161         Approved by Jim Meyering.
98163 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
98165         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
98166         when multiplying M by sizeof (size_t).
98168 2007-12-10  Martin Lambers  <marlam@marlam.de>
98170         Override getpagesize on mingw.
98171         * lib/getpagesize.c: New file.
98172         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
98173         * modules/getpagesize (Files): Add lib/getpagesize.c.
98174         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
98175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
98176         REPLACE_GETPAGESIZE.
98177         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
98179 2007-12-25  Bruno Haible  <bruno@clisp.org>
98181         * modules/localcharset (Notice): New field.
98182         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
98183         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
98185 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
98186             Bruno Haible  <bruno@clisp.org>
98188         Avoid using the syntax symbol() in formatted documentation.
98189         * MODULES.html.sh (func_module): When replacing symbol() with a
98190         hyperlink, remove the parentheses. Show an error if some remain.
98191         Recognize and render the '...' syntax.
98192         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
98193         Rework. Add paragraph about GCC's inlining.
98194         * doc/alloca.texi: Likewise.
98195         * doc/error.texi: Remove parentheses from symbol reference.
98196         * doc/gnulib-intro.texi: Likewise.
98197         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
98198         * modules/fnmatch (Description): Reword to say "the ... function".
98199         * modules/full-read (Description): Likewise.
98200         * modules/full-write (Description): Likewise.
98201         * modules/safe-read (Description): Likewise.
98202         * modules/safe-write (Description): Likewise.
98203         * modules/strchrnul (Description): Likewise.
98204         * modules/trim (Description): Likewise.
98205         * modules/error (Description): Remove parentheses from symbol
98206         references.
98207         * modules/verror (Description): Likewise.
98208         Reported by Karl Berry.
98210 2007-12-25  Bruno Haible  <bruno@clisp.org>
98212         Fixup after 2007-10-16 commit.
98213         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
98215 2007-12-24  Bruno Haible  <bruno@clisp.org>
98217         Make --enable-relocatable work with DESTDIR.
98218         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
98219         to compute installdir from destprog.
98220         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
98221         also set the RELOC_DESTDIR variable.
98222         Reported by Левашев Иван <octagram@bluebottle.com>.
98224 2007-12-24  Bruno Haible  <bruno@clisp.org>
98226         Fix link error due to xalloc_die().
98227         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
98228         of xreadlink.
98229         * lib/relocwrapper.c: Update comments.
98230         * build-aux/install-reloc: Remove xreadlink.c from file list.
98231         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
98232         xreadlink.c.
98233         Reported by Левашев Иван <octagram@bluebottle.com>.
98235 2007-12-24  Bruno Haible  <bruno@clisp.org>
98237         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
98238         * lib/setenv.h: Remove file.
98239         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
98240         lib/setenv.h.
98241         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
98242         (Depends-on): Add stdlib.
98243         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
98244         gl_FUNC_UNSETENV.
98245         (Include): Replace setenv.h with <stdlib.h>.
98246         * modules/unsetenv: New file.
98247         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
98248         * lib/unsetenv.c: Include <stdlib.h> first.
98249         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
98250         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
98251         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
98252         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
98253         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
98254         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
98256         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
98257         * doc/functions/unsetenv.texi: Update.
98258         * modules/xsetenv (Depends-on): Add unsetenv.
98259         * modules/getdate (Depends-on): Likewise.
98260         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
98261         * lib/xsetenv.c: Don't include setenv.h.
98262         * lib/getdate.y: Likewise.
98263         * lib/relocwrapper.c: Likewise.
98264         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
98265         (Depends-on): Add stdlib.
98266         * NEWS: Mention the changes.
98267         Reported by Левашев Иван <octagram@bluebottle.com>.
98269 2007-12-23  Bruno Haible  <bruno@clisp.org>
98271         * lib/memmem.c (memmem): Use lowercase variable names. Tab
98272         indentation.
98274 2007-12-23  Bruno Haible  <bruno@clisp.org>
98276         * lib/c-strcasestr.c: Add more comments.
98277         * lib/c-strstr.c: Likewise.
98278         * lib/mbscasestr.c: Likewise.
98279         * lib/mbsstr.c: Likewise.
98280         * lib/strcasestr.c: Likewise.
98281         * lib/memmem.c: Likewise.
98283 2007-12-23  Bruno Haible  <bruno@clisp.org>
98285         * tests/test-memmem.c: Include <string.h> first.
98287 2007-12-22  Bruno Haible  <bruno@clisp.org>
98289         * gnulib-tool (func_create_testdir): Change $auxdir while generating
98290         the contents of $testsbase.
98291         Reported by Ralf Wildenhues.
98293 2007-12-22  Bruno Haible  <bruno@clisp.org>
98295         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
98296         two variables local_ldadd_before, local_ldadd_last.
98298 2007-12-20  Eric Blake  <ebb9@byu.net>
98300         Work around circular library issue when cross-compiling.
98301         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
98302         that progname.o does not need to pull in rpl_memcmp.
98304 2007-12-19  Eric Blake  <ebb9@byu.net>
98306         Fix memmem to avoid O(n^2) worst-case complexity.
98307         * lib/memmem.c (knuth_morris_pratt): New function.
98308         (memmem): Use it if first few naive iterations fail.
98309         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
98310         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
98311         * modules/memchr (License): Likewise.
98312         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
98313         malloca.
98314         * tests/test-memmem.c: Rewrite, borrowing ideas from
98315         test-mbsstr1.c; the old version wouldn't even compile!
98316         * modules/memmem-tests: New file.
98317         * lib/string.in.h (rpl_memmem): Add declaration.
98318         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
98319         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
98320         REPLACE_MEMMEM.
98322 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
98324         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
98325         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
98326         before any system include files, and undef after them all.  This
98327         should fix a problem on VMS reported by John E. Malmberg in
98328         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
98330 2007-12-17  Eric Blake  <ebb9@byu.net>
98332         Revert addition of verify, for BSD/OS.
98333         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
98334         can't handle large files, for the sake of obsolete platforms.
98335         * modules/fseeko (Depends-on): Remove verify.
98336         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
98337         * doc/functions/ftello.texi (ftello): Likewise.
98338         * doc/functions/fgetpos.texi (fgetpos): Likewise.
98339         Reported by Larry Jones.
98341 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
98343         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
98344         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
98346 2007-12-17  Jim Meyering  <meyering@redhat.com>
98348         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
98349         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
98350         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
98351         * modules/getcwd (Depends-on): Add openat.
98352         Reported by Petr Salinger.
98354 2007-12-17  Bruno Haible  <bruno@clisp.org>
98356         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
98357         avoid a segmentation fault of the configure test on x86_64 systems.
98359 2007-12-15  Jim Meyering  <meyering@redhat.com>
98361         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
98363 2007-12-13  Eric Blake  <ebb9@byu.net>
98365         Another fseek test.
98366         * tests/test-fseek.c (main): Also test ungetc handling.
98367         * tests/test-fseeko.c (main): Likewise.
98368         * modules/fseeko (Depends-on): Add verify.
98369         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
98370         large.
98371         Reported by Larry Jones.
98373         Fix fseeko on mingw.
98374         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
98375         seek.
98377         Beef up fseek tests.
98378         * tests/test-fseek.c (main): Also test eof handling.
98379         * tests/test-fseeko.c (main): Likewise.
98380         Reported by Larry Jones.
98382 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
98384         Fix fseeko on BSD-based platforms.
98385         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
98386         successful seek.
98388 2007-12-12  Eric Blake  <ebb9@byu.net>
98390         Allow circular dependency of separate libtests.a
98391         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
98392         when use_libtests.
98394 2007-12-11  Eric Blake  <ebb9@byu.net>
98396         Fix bug with -0.0L in previous patch.
98397         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
98398         * tests/test-isnan.c (main): Also test on zeroes.
98399         * tests/test-isnanf.c (main): Likewise.
98400         * tests/test-isnanl.h (main): Likewise.
98402         Detect pseudo-denormals on x86 even when cross-compiling.
98403         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
98404         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
98405         invalid bit patterns that happen to satisfy ==.
98407         Avoid link failures with separate libtests.a.
98408         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
98409         last, to satisfy circular dependencies.
98411 2007-12-11  Eric Blake  <ebb9@byu.net>
98412         and Bruno Haible  <bruno@clisp.org>
98414         Fix OpenBSD 4.0 <float.h> handling of long double.
98415         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
98416         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
98417         * doc/headers/float.texi (float.h): Document OpenBSD bug.
98419 2007-12-11  Jim Meyering  <meyering@redhat.com>
98421         * users.txt: Add libvirt.
98423         Support versions of autoconf prior to 2.59c.
98424         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
98425         if it is not already defined.
98427 2007-12-09  Bruno Haible  <bruno@clisp.org>
98429         Let 'gnulib-tool --import' collect sources needed for the tests in
98430         tests/ rather than in lib/.
98431         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
98432         argument. If true, add rules to generate libtests.a, and put libtests.a
98433         into $(LDADD). Consider source files in subdirectories and set
98434         uses_subdirs.
98435         (func_emit_initmacro_start, func_emit_initmacro_end,
98436         func_emit_initmacro_done): Pass all arguments explicitly.
98437         (func_import): Determine two module lists main_modules,
98438         testsrelated_modules. Determine use_libtests. Determine two variables
98439         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
98440         instead of just sed_transform_lib_file. Determine two variables
98441         main_files and testsrelated_files. Compute 'files' as the union of
98442         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
98443         func_add_or_update. In the generated gnulib-comp.m4, collect the
98444         object files for tests/ in different variables than those for lib/.
98445         Substitute LIBTESTS_LIBDEPS.
98446         (func_create_testdir): Combine the uses_subdirs results from
98447         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
98449 2007-12-09  Bruno Haible  <bruno@clisp.org>
98451         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
98452         the build-aux directory.
98454 2007-12-09  Bruno Haible  <bruno@clisp.org>
98456         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
98457         introduced on 2006-09-09.
98459 2007-12-07  Jim Meyering  <meyering@redhat.com>
98461         Let these macros work also with autoconf-2.59.
98462         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
98463         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
98464         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
98466 2007-12-06  Jim Meyering  <meyering@redhat.com>
98468         Avoid a configure-time syntax error in gl_FUNC_ACL.
98469         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
98470         function in each branch, before testing the cache variable.
98472 2007-12-04  Eric Blake  <ebb9@byu.net>
98474         Make scripts executable.
98475         * build-aux/config.guess: Add execute permissions.
98476         * build-aux/config.sub: Likewise.
98477         * build-aux/gendocs.sh: Likewise.
98479         Fix frexp on mingw.
98480         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
98481         cross-compiling.
98482         * doc/functions/frexp.texi (frexp): Document the bug.
98484         Make cygwin fseeko check more reliable.
98485         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
98486         version numbers, rather than unrelated feature check.
98487         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
98488         * doc/functions/ftello.texi (ftello): Likewise.
98489         Reported by Bruno Haible.
98491         * m4/strerror.m4: Bump version number.
98493 2007-12-03  Bruno Haible  <bruno@clisp.org>
98495         * doc/functions/mprotect.texi: Mention the mingw problem.
98497 2007-12-03  Eric Blake  <ebb9@byu.net>
98499         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
98500         REPLACE_STRERROR is initialized before this macro.
98502 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
98504         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
98505         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
98506         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
98507         put -lsec in even for programs other than 'ls'.  This fixes a problem
98508         for gettext reported by Bruno Haible in
98509         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
98510         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
98511         Add support for Solaris 10.  This isn't efficient, but should get the
98512         job done for now.
98514 2007-12-03  James Youngman  <jay@gnu.org>
98516         * doc/regexprops-generic.texi: change "an close-group" to "a
98517         close-group" and "illegal" to "not allowed".
98519 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98521         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
98522         pr_byname.h. Needed for the rare case when the maintainer has done
98523         "make maintainer-clean" in the source directory and then attempts a
98524         build outside the source directory.
98525         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
98526         scripts_byname.h.
98528 2007-12-02  Martin Lambers  <marlam@marlam.de>
98529             Bruno Haible  <bruno@clisp.org>
98531         * lib/getpagesize.h: Remove file.
98532         * lib/unistd.in.h: Include declaration of getpagesize here.
98533         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
98534         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
98535         HAVE_SYS_PARAM_H.
98536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
98537         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
98538         * modules/getpagesize (Files): Remove lib/getpagesize.h.
98539         (Depends-on): Add unistd.
98540         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
98541         (Include): Use <unistd.h> instead of getpagesize.h.
98542         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
98543         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
98544         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
98545         gl_GETPAGESIZE invocation, already handled by module dependency.
98546         * lib/pagealign_alloc.c: Don't include getpagesize.h.
98548 2007-12-02  Bruno Haible  <bruno@clisp.org>
98550         * modules/strings-tests: New file.
98551         * tests/test-strings.c: New file.
98553         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
98554         * lib/strings.in.h: New file.
98555         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
98556         * m4/strings_h.m4: New file.
98557         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
98558         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
98559         * modules/strings: New file.
98560         * modules/string (Makefile.am): Update.
98561         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
98562         Reported by Karl Berry.
98564 2007-12-01  Eric Blake  <ebb9@byu.net>
98566         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
98567         accommodate fix in cygwin 1.5.25.
98569 2007-12-01  Jim Meyering  <meyering@redhat.com>
98571         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
98572         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
98573         that would inhibit utf8-optimization of a regexp containing line-
98574         or buffer-anchors, e.g., `^', `$'.
98576 2007-11-30  Bruno Haible  <bruno@clisp.org>
98578         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
98579         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
98580         glthread_recursive_lock_init.
98581         * lib/lock.c (glthread_recursive_lock_init)
98582         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
98583         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98585 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
98587         New function qset_acl, like set_acl but with syscall semantics.
98588         * lib/acl.h (qset_acl): New decl.
98589         * lib/acl.c (qset_acl): New function.
98590         (set_acl): Use new function.  Use more-consistent diagnostics.
98592 2007-11-28  Jim Meyering  <meyering@redhat.com>
98594         * modules/physmem (License): Change from GPL to LGPLv2+.
98596 2007-11-26  Bruno Haible  <bruno@clisp.org>
98598         * lib/vasnprintf.c (decode_long_double): Don't abort if the
98599         'long double' type has excess precision.
98600         Reported by Jim Meyering in
98601         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
98603 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98605         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
98606         Sync from <http://gnu.org/licenses>.
98607         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
98608         with license text from same location.
98609         * doc/maintain.texi, doc/standards.texi:  Sync from
98610         <http://savannah.gnu.org/projects/gnustandards>.
98612 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
98613         and Jim Meyering  <meyering@redhat.com>
98615         Adjust getdate' grammar to accept a slightly more regular language.
98616         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
98617         Before, the former was rejected.
98618         * lib/getdate.y (digits_to_date_time): New function, factored
98619         out of ...
98620         (number): ...here.  Just call digits_to_date_time.
98621         (hybrid): New non-terminal to handle an <unsigned number,
98622         signed relative offset> sequence consistently.
98624 2007-11-18  Jim Meyering  <meyering@redhat.com>
98626         Pull my changes from coreutils:
98627         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
98628         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
98629         use of $gnulib_tool_option_extras, so that it's separated from the
98630         preceding argument.
98632         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
98633         * build-aux/bootstrap (cp_mark_as_generated): Create any required
98634         parent destination directories before copying a file into place.
98636 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
98638         bootstrap: work also with 4-argument variant of AC_INIT
98639         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
98641 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
98643         Port test-getaddrinfo to Solaris.
98644         Problem reported by Bruno Haible in
98645         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
98646         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
98647         explanation of setting 'hints'.
98648         Don't reject an implementation merely because it returns EAI_SERVICE.
98649         (EAI_SERVICE): Define to 0 if not defined.
98651 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
98653         The license of gnu-make and posix-shell is now "GPLed build tool".
98654         * modules/gnu-make (License): Likewise.
98655         * modules/posix-shell (License): Likewise.
98657         New module posix-shell, for determining a POSIX shell
98658         or perhaps something that is close enough to a POSIX shell.
98659         * m4/posix-shell.m4: New file.
98660         * modules/posix-shell: New file.
98662         * MODULES.html.sh: Mention new module.
98664         New module gnu-make, for determining whether we're using GNU Make.
98665         * m4/gnu-make.m4: New file.
98666         * modules/gnu-make: New file.
98667         * MODULES.html.sh: Mention new module.
98669 2007-11-14  Jim Meyering  <meyering@redhat.com>
98671         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
98672         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
98673         use this macro to create a function _definition_.
98674         Remove useless "#undef ARGMATCH_DIE".
98676 2007-11-14  Bruno Haible  <bruno@clisp.org>
98678         * lib/config.charset: Update for OpenBSD 4.1.
98679         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
98681 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
98683         Document 64-bit #if problems in stdint.texi.
98684         * doc/headers/stdint.texi (stdint.h): Mention problems with
98685         64-bit-#if, and how to work around them.
98687         Don't insist on 'long long int' support in the preprocessor.  It
98688         breaks too many things.  For example, PRIdMAX still uses a 'long
98689         long int' format with the latest Sun compiler, even though
98690         HAVE_LONG_LONG_INT isn't defined due to that compiler's
98691         preprocessor problem.  This causes the latest coreutils to dump
98692         core on Solaris 10 sparc with the Sun C compiler.
98693         Instead, fix the 2007-10-16 problem in a different way, by evaluating
98694         the troublesome expressions at configure-time, not at #if-time.
98695         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
98696         preprocessor.
98697         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
98698         compile-time C checks, done at 'configure'-time.
98699         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
98700         * modules/inttypes (Makefile): Substitute the new symbols that
98701         gl_INTTYPES_H now generates.
98702         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
98704 2007-11-12  Bruno Haible  <bruno@clisp.org>
98706         Tests for Unicode character classification functions.
98708         * modules/unictype/bidicategory-byname-tests: New file.
98709         * modules/unictype/bidicategory-name-tests: New file.
98710         * modules/unictype/bidicategory-of-tests: New file.
98711         * modules/unictype/bidicategory-test-tests: New file.
98712         * modules/unictype/block-list-tests: New file.
98713         * modules/unictype/block-of-tests: New file.
98714         * modules/unictype/block-test-tests: New file.
98715         * modules/unictype/category-C-tests: New file.
98716         * modules/unictype/category-Cc-tests: New file.
98717         * modules/unictype/category-Cf-tests: New file.
98718         * modules/unictype/category-Cn-tests: New file.
98719         * modules/unictype/category-Co-tests: New file.
98720         * modules/unictype/category-Cs-tests: New file.
98721         * modules/unictype/category-L-tests: New file.
98722         * modules/unictype/category-Ll-tests: New file.
98723         * modules/unictype/category-Lm-tests: New file.
98724         * modules/unictype/category-Lo-tests: New file.
98725         * modules/unictype/category-Lt-tests: New file.
98726         * modules/unictype/category-Lu-tests: New file.
98727         * modules/unictype/category-M-tests: New file.
98728         * modules/unictype/category-Mc-tests: New file.
98729         * modules/unictype/category-Me-tests: New file.
98730         * modules/unictype/category-Mn-tests: New file.
98731         * modules/unictype/category-N-tests: New file.
98732         * modules/unictype/category-Nd-tests: New file.
98733         * modules/unictype/category-Nl-tests: New file.
98734         * modules/unictype/category-No-tests: New file.
98735         * modules/unictype/category-P-tests: New file.
98736         * modules/unictype/category-Pc-tests: New file.
98737         * modules/unictype/category-Pd-tests: New file.
98738         * modules/unictype/category-Pe-tests: New file.
98739         * modules/unictype/category-Pf-tests: New file.
98740         * modules/unictype/category-Pi-tests: New file.
98741         * modules/unictype/category-Po-tests: New file.
98742         * modules/unictype/category-Ps-tests: New file.
98743         * modules/unictype/category-S-tests: New file.
98744         * modules/unictype/category-Sc-tests: New file.
98745         * modules/unictype/category-Sk-tests: New file.
98746         * modules/unictype/category-Sm-tests: New file.
98747         * modules/unictype/category-So-tests: New file.
98748         * modules/unictype/category-Z-tests: New file.
98749         * modules/unictype/category-Zl-tests: New file.
98750         * modules/unictype/category-Zp-tests: New file.
98751         * modules/unictype/category-Zs-tests: New file.
98752         * modules/unictype/category-and-not-tests: New file.
98753         * modules/unictype/category-and-tests: New file.
98754         * modules/unictype/category-byname-tests: New file.
98755         * modules/unictype/category-name-tests: New file.
98756         * modules/unictype/category-none-tests: New file.
98757         * modules/unictype/category-of-tests: New file.
98758         * modules/unictype/category-or-tests: New file.
98759         * modules/unictype/category-test-withtable-tests: New file.
98760         * modules/unictype/combining-class-tests: New file.
98761         * modules/unictype/ctype-alnum-tests: New file.
98762         * modules/unictype/ctype-alpha-tests: New file.
98763         * modules/unictype/ctype-blank-tests: New file.
98764         * modules/unictype/ctype-cntrl-tests: New file.
98765         * modules/unictype/ctype-digit-tests: New file.
98766         * modules/unictype/ctype-graph-tests: New file.
98767         * modules/unictype/ctype-lower-tests: New file.
98768         * modules/unictype/ctype-print-tests: New file.
98769         * modules/unictype/ctype-punct-tests: New file.
98770         * modules/unictype/ctype-space-tests: New file.
98771         * modules/unictype/ctype-upper-tests: New file.
98772         * modules/unictype/ctype-xdigit-tests: New file.
98773         * modules/unictype/decimal-digit-tests: New file.
98774         * modules/unictype/digit-tests: New file.
98775         * modules/unictype/mirror-tests: New file.
98776         * modules/unictype/numeric-tests: New file.
98777         * modules/unictype/property-alphabetic-tests: New file.
98778         * modules/unictype/property-ascii-hex-digit-tests: New file.
98779         * modules/unictype/property-bidi-arabic-digit-tests: New file.
98780         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
98781         * modules/unictype/property-bidi-block-separator-tests: New file.
98782         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
98783         * modules/unictype/property-bidi-common-separator-tests: New file.
98784         * modules/unictype/property-bidi-control-tests: New file.
98785         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
98786         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
98787         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
98788         * modules/unictype/property-bidi-european-digit-tests: New file.
98789         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
98790         * modules/unictype/property-bidi-left-to-right-tests: New file.
98791         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
98792         * modules/unictype/property-bidi-other-neutral-tests: New file.
98793         * modules/unictype/property-bidi-pdf-tests: New file.
98794         * modules/unictype/property-bidi-segment-separator-tests: New file.
98795         * modules/unictype/property-bidi-whitespace-tests: New file.
98796         * modules/unictype/property-byname-tests: New file.
98797         * modules/unictype/property-combining-tests: New file.
98798         * modules/unictype/property-composite-tests: New file.
98799         * modules/unictype/property-currency-symbol-tests: New file.
98800         * modules/unictype/property-dash-tests: New file.
98801         * modules/unictype/property-decimal-digit-tests: New file.
98802         * modules/unictype/property-default-ignorable-code-point-tests: New file.
98803         * modules/unictype/property-deprecated-tests: New file.
98804         * modules/unictype/property-diacritic-tests: New file.
98805         * modules/unictype/property-extender-tests: New file.
98806         * modules/unictype/property-format-control-tests: New file.
98807         * modules/unictype/property-grapheme-base-tests: New file.
98808         * modules/unictype/property-grapheme-extend-tests: New file.
98809         * modules/unictype/property-grapheme-link-tests: New file.
98810         * modules/unictype/property-hex-digit-tests: New file.
98811         * modules/unictype/property-hyphen-tests: New file.
98812         * modules/unictype/property-id-continue-tests: New file.
98813         * modules/unictype/property-id-start-tests: New file.
98814         * modules/unictype/property-ideographic-tests: New file.
98815         * modules/unictype/property-ids-binary-operator-tests: New file.
98816         * modules/unictype/property-ids-trinary-operator-tests: New file.
98817         * modules/unictype/property-ignorable-control-tests: New file.
98818         * modules/unictype/property-iso-control-tests: New file.
98819         * modules/unictype/property-join-control-tests: New file.
98820         * modules/unictype/property-left-of-pair-tests: New file.
98821         * modules/unictype/property-line-separator-tests: New file.
98822         * modules/unictype/property-logical-order-exception-tests: New file.
98823         * modules/unictype/property-lowercase-tests: New file.
98824         * modules/unictype/property-math-tests: New file.
98825         * modules/unictype/property-non-break-tests: New file.
98826         * modules/unictype/property-not-a-character-tests: New file.
98827         * modules/unictype/property-numeric-tests: New file.
98828         * modules/unictype/property-other-alphabetic-tests: New file.
98829         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
98830         * modules/unictype/property-other-grapheme-extend-tests: New file.
98831         * modules/unictype/property-other-id-continue-tests: New file.
98832         * modules/unictype/property-other-id-start-tests: New file.
98833         * modules/unictype/property-other-lowercase-tests: New file.
98834         * modules/unictype/property-other-math-tests: New file.
98835         * modules/unictype/property-other-uppercase-tests: New file.
98836         * modules/unictype/property-paired-punctuation-tests: New file.
98837         * modules/unictype/property-paragraph-separator-tests: New file.
98838         * modules/unictype/property-pattern-syntax-tests: New file.
98839         * modules/unictype/property-pattern-white-space-tests: New file.
98840         * modules/unictype/property-private-use-tests: New file.
98841         * modules/unictype/property-punctuation-tests: New file.
98842         * modules/unictype/property-quotation-mark-tests: New file.
98843         * modules/unictype/property-radical-tests: New file.
98844         * modules/unictype/property-sentence-terminal-tests: New file.
98845         * modules/unictype/property-soft-dotted-tests: New file.
98846         * modules/unictype/property-space-tests: New file.
98847         * modules/unictype/property-terminal-punctuation-tests: New file.
98848         * modules/unictype/property-test-tests: New file.
98849         * modules/unictype/property-titlecase-tests: New file.
98850         * modules/unictype/property-unassigned-code-value-tests: New file.
98851         * modules/unictype/property-unified-ideograph-tests: New file.
98852         * modules/unictype/property-uppercase-tests: New file.
98853         * modules/unictype/property-variation-selector-tests: New file.
98854         * modules/unictype/property-white-space-tests: New file.
98855         * modules/unictype/property-xid-continue-tests: New file.
98856         * modules/unictype/property-xid-start-tests: New file.
98857         * modules/unictype/property-zero-width-tests: New file.
98858         * modules/unictype/scripts-tests: New file.
98859         * modules/unictype/syntax-c-ident-tests: New file.
98860         * modules/unictype/syntax-c-whitespace-tests: New file.
98861         * modules/unictype/syntax-java-ident-tests: New file.
98862         * modules/unictype/syntax-java-whitespace-tests: New file.
98863         * tests/unictype/test-bidi_byname.c: New file.
98864         * tests/unictype/test-bidi_name.c: New file.
98865         * tests/unictype/test-bidi_of.c: New file.
98866         * tests/unictype/test-bidi_test.c: New file.
98867         * tests/unictype/test-block_list.c: New file.
98868         * tests/unictype/test-block_of.c: New file.
98869         * tests/unictype/test-block_test.c: New file.
98870         * tests/unictype/test-categ_and.c: New file.
98871         * tests/unictype/test-categ_and_not.c: New file.
98872         * tests/unictype/test-categ_byname.c: New file.
98873         * tests/unictype/test-categ_name.c: New file.
98874         * tests/unictype/test-categ_none.c: New file.
98875         * tests/unictype/test-categ_of.c: New file.
98876         * tests/unictype/test-categ_or.c: New file.
98877         * tests/unictype/test-categ_test_withtable.c: New file.
98878         * tests/unictype/test-combining.c: New file.
98879         * tests/unictype/test-decdigit.c: New file.
98880         * tests/unictype/test-digit.c: New file.
98881         * tests/unictype/test-mirror.c: New file.
98882         * tests/unictype/test-numeric.c: New file.
98883         * tests/unictype/test-pr_byname.c: New file.
98884         * tests/unictype/test-pr_test.c: New file.
98885         * tests/unictype/test-predicate-part1.h: New file.
98886         * tests/unictype/test-predicate-part2.h: New file.
98887         * tests/unictype/test-scripts.c: New file.
98888         * tests/unictype/test-sy_c_ident.c: New file.
98889         * tests/unictype/test-sy_java_ident.c: New file.
98891         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
98892         for Unicode 5.0.0.
98893         * tests/unictype/test-categ_Cc.c: Likewise.
98894         * tests/unictype/test-categ_Cf.c: Likewise.
98895         * tests/unictype/test-categ_Cn.c: Likewise.
98896         * tests/unictype/test-categ_Co.c: Likewise.
98897         * tests/unictype/test-categ_Cs.c: Likewise.
98898         * tests/unictype/test-categ_L.c: Likewise.
98899         * tests/unictype/test-categ_Ll.c: Likewise.
98900         * tests/unictype/test-categ_Lm.c: Likewise.
98901         * tests/unictype/test-categ_Lo.c: Likewise.
98902         * tests/unictype/test-categ_Lt.c: Likewise.
98903         * tests/unictype/test-categ_Lu.c: Likewise.
98904         * tests/unictype/test-categ_M.c: Likewise.
98905         * tests/unictype/test-categ_Mc.c: Likewise.
98906         * tests/unictype/test-categ_Me.c: Likewise.
98907         * tests/unictype/test-categ_Mn.c: Likewise.
98908         * tests/unictype/test-categ_N.c: Likewise.
98909         * tests/unictype/test-categ_Nd.c: Likewise.
98910         * tests/unictype/test-categ_Nl.c: Likewise.
98911         * tests/unictype/test-categ_No.c: Likewise.
98912         * tests/unictype/test-categ_P.c: Likewise.
98913         * tests/unictype/test-categ_Pc.c: Likewise.
98914         * tests/unictype/test-categ_Pd.c: Likewise.
98915         * tests/unictype/test-categ_Pe.c: Likewise.
98916         * tests/unictype/test-categ_Pf.c: Likewise.
98917         * tests/unictype/test-categ_Pi.c: Likewise.
98918         * tests/unictype/test-categ_Po.c: Likewise.
98919         * tests/unictype/test-categ_Ps.c: Likewise.
98920         * tests/unictype/test-categ_S.c: Likewise.
98921         * tests/unictype/test-categ_Sc.c: Likewise.
98922         * tests/unictype/test-categ_Sk.c: Likewise.
98923         * tests/unictype/test-categ_Sm.c: Likewise.
98924         * tests/unictype/test-categ_So.c: Likewise.
98925         * tests/unictype/test-categ_Z.c: Likewise.
98926         * tests/unictype/test-categ_Zl.c: Likewise.
98927         * tests/unictype/test-categ_Zp.c: Likewise.
98928         * tests/unictype/test-categ_Zs.c: Likewise.
98929         * tests/unictype/test-ctype_alnum.c: Likewise.
98930         * tests/unictype/test-ctype_alpha.c: Likewise.
98931         * tests/unictype/test-ctype_blank.c: Likewise.
98932         * tests/unictype/test-ctype_cntrl.c: Likewise.
98933         * tests/unictype/test-ctype_digit.c: Likewise.
98934         * tests/unictype/test-ctype_graph.c: Likewise.
98935         * tests/unictype/test-ctype_lower.c: Likewise.
98936         * tests/unictype/test-ctype_print.c: Likewise.
98937         * tests/unictype/test-ctype_punct.c: Likewise.
98938         * tests/unictype/test-ctype_space.c: Likewise.
98939         * tests/unictype/test-ctype_upper.c: Likewise.
98940         * tests/unictype/test-ctype_xdigit.c: Likewise.
98941         * tests/unictype/test-decdigit.h: Likewise.
98942         * tests/unictype/test-digit.h: Likewise.
98943         * tests/unictype/test-numeric.h: Likewise.
98944         * tests/unictype/test-pr_alphabetic.c: Likewise.
98945         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
98946         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
98947         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
98948         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
98949         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
98950         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
98951         * tests/unictype/test-pr_bidi_control.c: Likewise.
98952         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
98953         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
98954         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
98955         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
98956         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
98957         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
98958         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
98959         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
98960         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
98961         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
98962         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
98963         * tests/unictype/test-pr_combining.c: Likewise.
98964         * tests/unictype/test-pr_composite.c: Likewise.
98965         * tests/unictype/test-pr_currency_symbol.c: Likewise.
98966         * tests/unictype/test-pr_dash.c: Likewise.
98967         * tests/unictype/test-pr_decimal_digit.c: Likewise.
98968         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
98969         * tests/unictype/test-pr_deprecated.c: Likewise.
98970         * tests/unictype/test-pr_diacritic.c: Likewise.
98971         * tests/unictype/test-pr_extender.c: Likewise.
98972         * tests/unictype/test-pr_format_control.c: Likewise.
98973         * tests/unictype/test-pr_grapheme_base.c: Likewise.
98974         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
98975         * tests/unictype/test-pr_grapheme_link.c: Likewise.
98976         * tests/unictype/test-pr_hex_digit.c: Likewise.
98977         * tests/unictype/test-pr_hyphen.c: Likewise.
98978         * tests/unictype/test-pr_id_continue.c: Likewise.
98979         * tests/unictype/test-pr_id_start.c: Likewise.
98980         * tests/unictype/test-pr_ideographic.c: Likewise.
98981         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
98982         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
98983         * tests/unictype/test-pr_ignorable_control.c: Likewise.
98984         * tests/unictype/test-pr_iso_control.c: Likewise.
98985         * tests/unictype/test-pr_join_control.c: Likewise.
98986         * tests/unictype/test-pr_left_of_pair.c: Likewise.
98987         * tests/unictype/test-pr_line_separator.c: Likewise.
98988         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
98989         * tests/unictype/test-pr_lowercase.c: Likewise.
98990         * tests/unictype/test-pr_math.c: Likewise.
98991         * tests/unictype/test-pr_non_break.c: Likewise.
98992         * tests/unictype/test-pr_not_a_character.c: Likewise.
98993         * tests/unictype/test-pr_numeric.c: Likewise.
98994         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
98995         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
98996         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
98997         * tests/unictype/test-pr_other_id_continue.c: Likewise.
98998         * tests/unictype/test-pr_other_id_start.c: Likewise.
98999         * tests/unictype/test-pr_other_lowercase.c: Likewise.
99000         * tests/unictype/test-pr_other_math.c: Likewise.
99001         * tests/unictype/test-pr_other_uppercase.c: Likewise.
99002         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
99003         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
99004         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
99005         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
99006         * tests/unictype/test-pr_private_use.c: Likewise.
99007         * tests/unictype/test-pr_punctuation.c: Likewise.
99008         * tests/unictype/test-pr_quotation_mark.c: Likewise.
99009         * tests/unictype/test-pr_radical.c: Likewise.
99010         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
99011         * tests/unictype/test-pr_soft_dotted.c: Likewise.
99012         * tests/unictype/test-pr_space.c: Likewise.
99013         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
99014         * tests/unictype/test-pr_titlecase.c: Likewise.
99015         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
99016         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
99017         * tests/unictype/test-pr_uppercase.c: Likewise.
99018         * tests/unictype/test-pr_variation_selector.c: Likewise.
99019         * tests/unictype/test-pr_white_space.c: Likewise.
99020         * tests/unictype/test-pr_xid_continue.c: Likewise.
99021         * tests/unictype/test-pr_xid_start.c: Likewise.
99022         * tests/unictype/test-pr_zero_width.c: Likewise.
99023         * tests/unictype/test-sy_c_whitespace.c: Likewise.
99024         * tests/unictype/test-sy_java_whitespace.c: Likewise.
99026 2007-11-12  Bruno Haible  <bruno@clisp.org>
99028         Unicode character classification functions.
99029         * lib/unictype.h: New file.
99030         * modules/unictype/base: New file.
99031         * modules/unictype/category-L: New file.
99032         * modules/unictype/category-Lu: New file.
99033         * modules/unictype/category-Ll: New file.
99034         * modules/unictype/category-Lt: New file.
99035         * modules/unictype/category-Lm: New file.
99036         * modules/unictype/category-Lo: New file.
99037         * modules/unictype/category-M: New file.
99038         * modules/unictype/category-Mn: New file.
99039         * modules/unictype/category-Mc: New file.
99040         * modules/unictype/category-Me: New file.
99041         * modules/unictype/category-N: New file.
99042         * modules/unictype/category-Nd: New file.
99043         * modules/unictype/category-Nl: New file.
99044         * modules/unictype/category-No: New file.
99045         * modules/unictype/category-P: New file.
99046         * modules/unictype/category-Pc: New file.
99047         * modules/unictype/category-Pd: New file.
99048         * modules/unictype/category-Ps: New file.
99049         * modules/unictype/category-Pe: New file.
99050         * modules/unictype/category-Pi: New file.
99051         * modules/unictype/category-Pf: New file.
99052         * modules/unictype/category-Po: New file.
99053         * modules/unictype/category-S: New file.
99054         * modules/unictype/category-Sm: New file.
99055         * modules/unictype/category-Sc: New file.
99056         * modules/unictype/category-Sk: New file.
99057         * modules/unictype/category-So: New file.
99058         * modules/unictype/category-Z: New file.
99059         * modules/unictype/category-Zs: New file.
99060         * modules/unictype/category-Zl: New file.
99061         * modules/unictype/category-Zp: New file.
99062         * modules/unictype/category-C: New file.
99063         * modules/unictype/category-Cc: New file.
99064         * modules/unictype/category-Cf: New file.
99065         * modules/unictype/category-Cs: New file.
99066         * modules/unictype/category-Co: New file.
99067         * modules/unictype/category-Cn: New file.
99068         * modules/unictype/category-or: New file.
99069         * modules/unictype/category-of: New file.
99070         * modules/unictype/category-test: New file.
99071         * modules/unictype/category-test-withtable: New file.
99072         * modules/unictype/category-byname: New file.
99073         * modules/unictype/category-none: New file.
99074         * modules/unictype/category-and: New file.
99075         * modules/unictype/category-and-not: New file.
99076         * modules/unictype/category-name: New file.
99077         * modules/unictype/combining-class: New file.
99078         * modules/unictype/category-all: New file.
99079         * modules/unictype/bidicategory-all: New file.
99080         * modules/unictype/bidicategory-byname: New file.
99081         * modules/unictype/bidicategory-name: New file.
99082         * modules/unictype/bidicategory-of: New file.
99083         * modules/unictype/bidicategory-test: New file.
99084         * modules/unictype/decimal-digit: New file.
99085         * modules/unictype/digit: New file.
99086         * modules/unictype/numeric: New file.
99087         * modules/unictype/mirror: New file.
99088         * modules/unictype/property-white-space: New file.
99089         * modules/unictype/property-alphabetic: New file.
99090         * modules/unictype/property-other-alphabetic: New file.
99091         * modules/unictype/property-not-a-character: New file.
99092         * modules/unictype/property-default-ignorable-code-point: New file.
99093         * modules/unictype/property-other-default-ignorable-code-point: New
99094         file.
99095         * modules/unictype/property-deprecated: New file.
99096         * modules/unictype/property-logical-order-exception: New file.
99097         * modules/unictype/property-variation-selector: New file.
99098         * modules/unictype/property-private-use: New file.
99099         * modules/unictype/property-unassigned-code-value: New file.
99100         * modules/unictype/property-uppercase: New file.
99101         * modules/unictype/property-other-uppercase: New file.
99102         * modules/unictype/property-lowercase: New file.
99103         * modules/unictype/property-other-lowercase: New file.
99104         * modules/unictype/property-titlecase: New file.
99105         * modules/unictype/property-soft-dotted: New file.
99106         * modules/unictype/property-id-start: New file.
99107         * modules/unictype/property-other-id-start: New file.
99108         * modules/unictype/property-id-continue: New file.
99109         * modules/unictype/property-other-id-continue: New file.
99110         * modules/unictype/property-xid-start: New file.
99111         * modules/unictype/property-xid-continue: New file.
99112         * modules/unictype/property-pattern-white-space: New file.
99113         * modules/unictype/property-pattern-syntax: New file.
99114         * modules/unictype/property-join-control: New file.
99115         * modules/unictype/property-grapheme-base: New file.
99116         * modules/unictype/property-grapheme-extend: New file.
99117         * modules/unictype/property-other-grapheme-extend: New file.
99118         * modules/unictype/property-grapheme-link: New file.
99119         * modules/unictype/property-bidi-control: New file.
99120         * modules/unictype/property-bidi-left-to-right: New file.
99121         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
99122         * modules/unictype/property-bidi-arabic-right-to-left: New file.
99123         * modules/unictype/property-bidi-european-digit: New file.
99124         * modules/unictype/property-bidi-eur-num-separator: New file.
99125         * modules/unictype/property-bidi-eur-num-terminator: New file.
99126         * modules/unictype/property-bidi-arabic-digit: New file.
99127         * modules/unictype/property-bidi-common-separator: New file.
99128         * modules/unictype/property-bidi-block-separator: New file.
99129         * modules/unictype/property-bidi-segment-separator: New file.
99130         * modules/unictype/property-bidi-whitespace: New file.
99131         * modules/unictype/property-bidi-non-spacing-mark: New file.
99132         * modules/unictype/property-bidi-boundary-neutral: New file.
99133         * modules/unictype/property-bidi-pdf: New file.
99134         * modules/unictype/property-bidi-embedding-or-override: New file.
99135         * modules/unictype/property-bidi-other-neutral: New file.
99136         * modules/unictype/property-hex-digit: New file.
99137         * modules/unictype/property-ascii-hex-digit: New file.
99138         * modules/unictype/property-ideographic: New file.
99139         * modules/unictype/property-unified-ideograph: New file.
99140         * modules/unictype/property-radical: New file.
99141         * modules/unictype/property-ids-binary-operator: New file.
99142         * modules/unictype/property-ids-trinary-operator: New file.
99143         * modules/unictype/property-zero-width: New file.
99144         * modules/unictype/property-space: New file.
99145         * modules/unictype/property-non-break: New file.
99146         * modules/unictype/property-iso-control: New file.
99147         * modules/unictype/property-format-control: New file.
99148         * modules/unictype/property-dash: New file.
99149         * modules/unictype/property-hyphen: New file.
99150         * modules/unictype/property-punctuation: New file.
99151         * modules/unictype/property-line-separator: New file.
99152         * modules/unictype/property-paragraph-separator: New file.
99153         * modules/unictype/property-quotation-mark: New file.
99154         * modules/unictype/property-sentence-terminal: New file.
99155         * modules/unictype/property-terminal-punctuation: New file.
99156         * modules/unictype/property-currency-symbol: New file.
99157         * modules/unictype/property-math: New file.
99158         * modules/unictype/property-other-math: New file.
99159         * modules/unictype/property-paired-punctuation: New file.
99160         * modules/unictype/property-left-of-pair: New file.
99161         * modules/unictype/property-combining: New file.
99162         * modules/unictype/property-composite: New file.
99163         * modules/unictype/property-decimal-digit: New file.
99164         * modules/unictype/property-numeric: New file.
99165         * modules/unictype/property-diacritic: New file.
99166         * modules/unictype/property-extender: New file.
99167         * modules/unictype/property-ignorable-control: New file.
99168         * modules/unictype/property-test: New file.
99169         * modules/unictype/property-byname: New file.
99170         * modules/unictype/property-all: New file.
99171         * modules/unictype/scripts: New file.
99172         * modules/unictype/scripts-all: New file.
99173         * modules/unictype/block-of: New file.
99174         * modules/unictype/block-test: New file.
99175         * modules/unictype/block-list: New file.
99176         * modules/unictype/block-all: New file.
99177         * modules/unictype/syntax-c-whitespace: New file.
99178         * modules/unictype/syntax-java-whitespace: New file.
99179         * modules/unictype/syntax-c-ident: New file.
99180         * modules/unictype/syntax-java-ident: New file.
99181         * modules/unictype/ctype-alnum: New file.
99182         * modules/unictype/ctype-alpha: New file.
99183         * modules/unictype/ctype-cntrl: New file.
99184         * modules/unictype/ctype-digit: New file.
99185         * modules/unictype/ctype-graph: New file.
99186         * modules/unictype/ctype-lower: New file.
99187         * modules/unictype/ctype-print: New file.
99188         * modules/unictype/ctype-punct: New file.
99189         * modules/unictype/ctype-space: New file.
99190         * modules/unictype/ctype-upper: New file.
99191         * modules/unictype/ctype-xdigit: New file.
99192         * modules/unictype/ctype-blank: New file.
99193         * lib/unictype/bidi_byname.c: New file.
99194         * lib/unictype/bidi_name.c: New file.
99195         * lib/unictype/bidi_of.c: New file.
99196         * lib/unictype/bidi_test.c: New file.
99197         * lib/unictype/bitmap.h: New file.
99198         * lib/unictype/block_test.c: New file.
99199         * lib/unictype/blocks.c: New file.
99200         * lib/unictype/categ_C.c: New file.
99201         * lib/unictype/categ_Cc.c: New file.
99202         * lib/unictype/categ_Cf.c: New file.
99203         * lib/unictype/categ_Cn.c: New file.
99204         * lib/unictype/categ_Co.c: New file.
99205         * lib/unictype/categ_Cs.c: New file.
99206         * lib/unictype/categ_L.c: New file.
99207         * lib/unictype/categ_Ll.c: New file.
99208         * lib/unictype/categ_Lm.c: New file.
99209         * lib/unictype/categ_Lo.c: New file.
99210         * lib/unictype/categ_Lt.c: New file.
99211         * lib/unictype/categ_Lu.c: New file.
99212         * lib/unictype/categ_M.c: New file.
99213         * lib/unictype/categ_Mc.c: New file.
99214         * lib/unictype/categ_Me.c: New file.
99215         * lib/unictype/categ_Mn.c: New file.
99216         * lib/unictype/categ_N.c: New file.
99217         * lib/unictype/categ_Nd.c: New file.
99218         * lib/unictype/categ_Nl.c: New file.
99219         * lib/unictype/categ_No.c: New file.
99220         * lib/unictype/categ_P.c: New file.
99221         * lib/unictype/categ_Pc.c: New file.
99222         * lib/unictype/categ_Pd.c: New file.
99223         * lib/unictype/categ_Pe.c: New file.
99224         * lib/unictype/categ_Pf.c: New file.
99225         * lib/unictype/categ_Pi.c: New file.
99226         * lib/unictype/categ_Po.c: New file.
99227         * lib/unictype/categ_Ps.c: New file.
99228         * lib/unictype/categ_S.c: New file.
99229         * lib/unictype/categ_Sc.c: New file.
99230         * lib/unictype/categ_Sk.c: New file.
99231         * lib/unictype/categ_Sm.c: New file.
99232         * lib/unictype/categ_So.c: New file.
99233         * lib/unictype/categ_Z.c: New file.
99234         * lib/unictype/categ_Zl.c: New file.
99235         * lib/unictype/categ_Zp.c: New file.
99236         * lib/unictype/categ_Zs.c: New file.
99237         * lib/unictype/categ_and.c: New file.
99238         * lib/unictype/categ_and_not.c: New file.
99239         * lib/unictype/categ_byname.c: New file.
99240         * lib/unictype/categ_name.c: New file.
99241         * lib/unictype/categ_none.c: New file.
99242         * lib/unictype/categ_of.c: New file.
99243         * lib/unictype/categ_or.c: New file.
99244         * lib/unictype/categ_test.c: New file.
99245         * lib/unictype/combining.c: New file.
99246         * lib/unictype/ctype_alnum.c: New file.
99247         * lib/unictype/ctype_alpha.c: New file.
99248         * lib/unictype/ctype_blank.c: New file.
99249         * lib/unictype/ctype_cntrl.c: New file.
99250         * lib/unictype/ctype_digit.c: New file.
99251         * lib/unictype/ctype_graph.c: New file.
99252         * lib/unictype/ctype_lower.c: New file.
99253         * lib/unictype/ctype_print.c: New file.
99254         * lib/unictype/ctype_punct.c: New file.
99255         * lib/unictype/ctype_space.c: New file.
99256         * lib/unictype/ctype_upper.c: New file.
99257         * lib/unictype/ctype_xdigit.c: New file.
99258         * lib/unictype/decdigit.c: New file.
99259         * lib/unictype/digit.c: New file.
99260         * lib/unictype/identsyntaxmap.h: New file.
99261         * lib/unictype/mirror.c: New file.
99262         * lib/unictype/numeric.c: New file.
99263         * lib/unictype/pr_alphabetic.c: New file.
99264         * lib/unictype/pr_ascii_hex_digit.c: New file.
99265         * lib/unictype/pr_bidi_arabic_digit.c: New file.
99266         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
99267         * lib/unictype/pr_bidi_block_separator.c: New file.
99268         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
99269         * lib/unictype/pr_bidi_common_separator.c: New file.
99270         * lib/unictype/pr_bidi_control.c: New file.
99271         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
99272         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
99273         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
99274         * lib/unictype/pr_bidi_european_digit.c: New file.
99275         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
99276         * lib/unictype/pr_bidi_left_to_right.c: New file.
99277         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
99278         * lib/unictype/pr_bidi_other_neutral.c: New file.
99279         * lib/unictype/pr_bidi_pdf.c: New file.
99280         * lib/unictype/pr_bidi_segment_separator.c: New file.
99281         * lib/unictype/pr_bidi_whitespace.c: New file.
99282         * lib/unictype/pr_byname.c: New file.
99283         * lib/unictype/pr_byname.gperf: New file.
99284         * lib/unictype/pr_combining.c: New file.
99285         * lib/unictype/pr_composite.c: New file.
99286         * lib/unictype/pr_currency_symbol.c: New file.
99287         * lib/unictype/pr_dash.c: New file.
99288         * lib/unictype/pr_decimal_digit.c: New file.
99289         * lib/unictype/pr_default_ignorable_code_point.c: New file.
99290         * lib/unictype/pr_deprecated.c: New file.
99291         * lib/unictype/pr_diacritic.c: New file.
99292         * lib/unictype/pr_extender.c: New file.
99293         * lib/unictype/pr_format_control.c: New file.
99294         * lib/unictype/pr_grapheme_base.c: New file.
99295         * lib/unictype/pr_grapheme_extend.c: New file.
99296         * lib/unictype/pr_grapheme_link.c: New file.
99297         * lib/unictype/pr_hex_digit.c: New file.
99298         * lib/unictype/pr_hyphen.c: New file.
99299         * lib/unictype/pr_id_continue.c: New file.
99300         * lib/unictype/pr_id_start.c: New file.
99301         * lib/unictype/pr_ideographic.c: New file.
99302         * lib/unictype/pr_ids_binary_operator.c: New file.
99303         * lib/unictype/pr_ids_trinary_operator.c: New file.
99304         * lib/unictype/pr_ignorable_control.c: New file.
99305         * lib/unictype/pr_iso_control.c: New file.
99306         * lib/unictype/pr_join_control.c: New file.
99307         * lib/unictype/pr_left_of_pair.c: New file.
99308         * lib/unictype/pr_line_separator.c: New file.
99309         * lib/unictype/pr_logical_order_exception.c: New file.
99310         * lib/unictype/pr_lowercase.c: New file.
99311         * lib/unictype/pr_math.c: New file.
99312         * lib/unictype/pr_non_break.c: New file.
99313         * lib/unictype/pr_not_a_character.c: New file.
99314         * lib/unictype/pr_numeric.c: New file.
99315         * lib/unictype/pr_other_alphabetic.c: New file.
99316         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
99317         * lib/unictype/pr_other_grapheme_extend.c: New file.
99318         * lib/unictype/pr_other_id_continue.c: New file.
99319         * lib/unictype/pr_other_id_start.c: New file.
99320         * lib/unictype/pr_other_lowercase.c: New file.
99321         * lib/unictype/pr_other_math.c: New file.
99322         * lib/unictype/pr_other_uppercase.c: New file.
99323         * lib/unictype/pr_paired_punctuation.c: New file.
99324         * lib/unictype/pr_paragraph_separator.c: New file.
99325         * lib/unictype/pr_pattern_syntax.c: New file.
99326         * lib/unictype/pr_pattern_white_space.c: New file.
99327         * lib/unictype/pr_private_use.c: New file.
99328         * lib/unictype/pr_punctuation.c: New file.
99329         * lib/unictype/pr_quotation_mark.c: New file.
99330         * lib/unictype/pr_radical.c: New file.
99331         * lib/unictype/pr_sentence_terminal.c: New file.
99332         * lib/unictype/pr_soft_dotted.c: New file.
99333         * lib/unictype/pr_space.c: New file.
99334         * lib/unictype/pr_terminal_punctuation.c: New file.
99335         * lib/unictype/pr_test.c: New file.
99336         * lib/unictype/pr_titlecase.c: New file.
99337         * lib/unictype/pr_unassigned_code_value.c: New file.
99338         * lib/unictype/pr_unified_ideograph.c: New file.
99339         * lib/unictype/pr_uppercase.c: New file.
99340         * lib/unictype/pr_variation_selector.c: New file.
99341         * lib/unictype/pr_white_space.c: New file.
99342         * lib/unictype/pr_xid_continue.c: New file.
99343         * lib/unictype/pr_xid_start.c: New file.
99344         * lib/unictype/pr_zero_width.c: New file.
99345         * lib/unictype/scripts.c: New file.
99346         * lib/unictype/sy_c_ident.c: New file.
99347         * lib/unictype/sy_c_whitespace.c: New file.
99348         * lib/unictype/sy_java_ident.c: New file.
99349         * lib/unictype/sy_java_whitespace.c: New file.
99351         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
99352         Unicode 5.0.0.
99353         * lib/unictype/blocks.h: Likewise.
99354         * lib/unictype/categ_C.h: Likewise.
99355         * lib/unictype/categ_Cc.h: Likewise.
99356         * lib/unictype/categ_Cf.h: Likewise.
99357         * lib/unictype/categ_Cn.h: Likewise.
99358         * lib/unictype/categ_Co.h: Likewise.
99359         * lib/unictype/categ_Cs.h: Likewise.
99360         * lib/unictype/categ_L.h: Likewise.
99361         * lib/unictype/categ_Ll.h: Likewise.
99362         * lib/unictype/categ_Lm.h: Likewise.
99363         * lib/unictype/categ_Lo.h: Likewise.
99364         * lib/unictype/categ_Lt.h: Likewise.
99365         * lib/unictype/categ_Lu.h: Likewise.
99366         * lib/unictype/categ_M.h: Likewise.
99367         * lib/unictype/categ_Mc.h: Likewise.
99368         * lib/unictype/categ_Me.h: Likewise.
99369         * lib/unictype/categ_Mn.h: Likewise.
99370         * lib/unictype/categ_N.h: Likewise.
99371         * lib/unictype/categ_Nd.h: Likewise.
99372         * lib/unictype/categ_Nl.h: Likewise.
99373         * lib/unictype/categ_No.h: Likewise.
99374         * lib/unictype/categ_P.h: Likewise.
99375         * lib/unictype/categ_Pc.h: Likewise.
99376         * lib/unictype/categ_Pd.h: Likewise.
99377         * lib/unictype/categ_Pe.h: Likewise.
99378         * lib/unictype/categ_Pf.h: Likewise.
99379         * lib/unictype/categ_Pi.h: Likewise.
99380         * lib/unictype/categ_Po.h: Likewise.
99381         * lib/unictype/categ_Ps.h: Likewise.
99382         * lib/unictype/categ_S.h: Likewise.
99383         * lib/unictype/categ_Sc.h: Likewise.
99384         * lib/unictype/categ_Sk.h: Likewise.
99385         * lib/unictype/categ_Sm.h: Likewise.
99386         * lib/unictype/categ_So.h: Likewise.
99387         * lib/unictype/categ_Z.h: Likewise.
99388         * lib/unictype/categ_Zl.h: Likewise.
99389         * lib/unictype/categ_Zp.h: Likewise.
99390         * lib/unictype/categ_Zs.h: Likewise.
99391         * lib/unictype/categ_of.h: Likewise.
99392         * lib/unictype/combining.h: Likewise.
99393         * lib/unictype/ctype_alnum.h: Likewise.
99394         * lib/unictype/ctype_alpha.h: Likewise.
99395         * lib/unictype/ctype_blank.h: Likewise.
99396         * lib/unictype/ctype_cntrl.h: Likewise.
99397         * lib/unictype/ctype_digit.h: Likewise.
99398         * lib/unictype/ctype_graph.h: Likewise.
99399         * lib/unictype/ctype_lower.h: Likewise.
99400         * lib/unictype/ctype_print.h: Likewise.
99401         * lib/unictype/ctype_punct.h: Likewise.
99402         * lib/unictype/ctype_space.h: Likewise.
99403         * lib/unictype/ctype_upper.h: Likewise.
99404         * lib/unictype/ctype_xdigit.h: Likewise.
99405         * lib/unictype/decdigit.h: Likewise.
99406         * lib/unictype/digit.h: Likewise.
99407         * lib/unictype/mirror.h: Likewise.
99408         * lib/unictype/numeric.h: Likewise.
99409         * lib/unictype/pr_alphabetic.h: Likewise.
99410         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
99411         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
99412         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
99413         * lib/unictype/pr_bidi_block_separator.h: Likewise.
99414         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
99415         * lib/unictype/pr_bidi_common_separator.h: Likewise.
99416         * lib/unictype/pr_bidi_control.h: Likewise.
99417         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
99418         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
99419         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
99420         * lib/unictype/pr_bidi_european_digit.h: Likewise.
99421         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
99422         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
99423         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
99424         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
99425         * lib/unictype/pr_bidi_pdf.h: Likewise.
99426         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
99427         * lib/unictype/pr_bidi_whitespace.h: Likewise.
99428         * lib/unictype/pr_combining.h: Likewise.
99429         * lib/unictype/pr_composite.h: Likewise.
99430         * lib/unictype/pr_currency_symbol.h: Likewise.
99431         * lib/unictype/pr_dash.h: Likewise.
99432         * lib/unictype/pr_decimal_digit.h: Likewise.
99433         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
99434         * lib/unictype/pr_deprecated.h: Likewise.
99435         * lib/unictype/pr_diacritic.h: Likewise.
99436         * lib/unictype/pr_extender.h: Likewise.
99437         * lib/unictype/pr_format_control.h: Likewise.
99438         * lib/unictype/pr_grapheme_base.h: Likewise.
99439         * lib/unictype/pr_grapheme_extend.h: Likewise.
99440         * lib/unictype/pr_grapheme_link.h: Likewise.
99441         * lib/unictype/pr_hex_digit.h: Likewise.
99442         * lib/unictype/pr_hyphen.h: Likewise.
99443         * lib/unictype/pr_id_continue.h: Likewise.
99444         * lib/unictype/pr_id_start.h: Likewise.
99445         * lib/unictype/pr_ideographic.h: Likewise.
99446         * lib/unictype/pr_ids_binary_operator.h: Likewise.
99447         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
99448         * lib/unictype/pr_ignorable_control.h: Likewise.
99449         * lib/unictype/pr_iso_control.h: Likewise.
99450         * lib/unictype/pr_join_control.h: Likewise.
99451         * lib/unictype/pr_left_of_pair.h: Likewise.
99452         * lib/unictype/pr_line_separator.h: Likewise.
99453         * lib/unictype/pr_logical_order_exception.h: Likewise.
99454         * lib/unictype/pr_lowercase.h: Likewise.
99455         * lib/unictype/pr_math.h: Likewise.
99456         * lib/unictype/pr_non_break.h: Likewise.
99457         * lib/unictype/pr_not_a_character.h: Likewise.
99458         * lib/unictype/pr_numeric.h: Likewise.
99459         * lib/unictype/pr_other_alphabetic.h: Likewise.
99460         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
99461         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
99462         * lib/unictype/pr_other_id_continue.h: Likewise.
99463         * lib/unictype/pr_other_id_start.h: Likewise.
99464         * lib/unictype/pr_other_lowercase.h: Likewise.
99465         * lib/unictype/pr_other_math.h: Likewise.
99466         * lib/unictype/pr_other_uppercase.h: Likewise.
99467         * lib/unictype/pr_paired_punctuation.h: Likewise.
99468         * lib/unictype/pr_paragraph_separator.h: Likewise.
99469         * lib/unictype/pr_pattern_syntax.h: Likewise.
99470         * lib/unictype/pr_pattern_white_space.h: Likewise.
99471         * lib/unictype/pr_private_use.h: Likewise.
99472         * lib/unictype/pr_punctuation.h: Likewise.
99473         * lib/unictype/pr_quotation_mark.h: Likewise.
99474         * lib/unictype/pr_radical.h: Likewise.
99475         * lib/unictype/pr_sentence_terminal.h: Likewise.
99476         * lib/unictype/pr_soft_dotted.h: Likewise.
99477         * lib/unictype/pr_space.h: Likewise.
99478         * lib/unictype/pr_terminal_punctuation.h: Likewise.
99479         * lib/unictype/pr_titlecase.h: Likewise.
99480         * lib/unictype/pr_unassigned_code_value.h: Likewise.
99481         * lib/unictype/pr_unified_ideograph.h: Likewise.
99482         * lib/unictype/pr_uppercase.h: Likewise.
99483         * lib/unictype/pr_variation_selector.h: Likewise.
99484         * lib/unictype/pr_white_space.h: Likewise.
99485         * lib/unictype/pr_xid_continue.h: Likewise.
99486         * lib/unictype/pr_xid_start.h: Likewise.
99487         * lib/unictype/pr_zero_width.h: Likewise.
99488         * lib/unictype/scripts.h: Likewise.
99489         * lib/unictype/scripts_byname.gperf: Likewise.
99490         * lib/unictype/sy_c_ident.h: Likewise.
99491         * lib/unictype/sy_c_whitespace.h: Likewise.
99492         * lib/unictype/sy_java_ident.h: Likewise.
99493         * lib/unictype/sy_java_whitespace.h: Likewise.
99495         * lib/unictype/Makefile: New file.
99496         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
99497         glibc.
99498         * lib/unictype/3level.h: New file, copied from glibc.
99499         * lib/unictype/3levelbit.h: New file.
99501 2007-11-11  Bruno Haible  <bruno@clisp.org>
99503         * modules/gperf: New file.
99504         * modules/iconv_open (Depends-on): Add it.
99505         (Makefile.am): Remove the GPERF definition.
99507 2007-11-11  Bruno Haible  <bruno@clisp.org>
99509         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
99510         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
99512 2007-11-11  Bruno Haible  <bruno@clisp.org>
99514         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
99515         (usage): Remove function.
99517 2007-11-11  Bruno Haible  <bruno@clisp.org>
99519         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
99520         gl_FUNC_CEILF_LIBS.
99521         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
99522         gl_FUNC_CEIL_LIBS.
99523         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
99524         gl_FUNC_CEILL_LIBS.
99525         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
99526         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
99527         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
99529 2007-11-11  Bruno Haible  <bruno@clisp.org>
99531         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
99532         roundf were declared but do not exist on functions.
99533         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
99534         roundl were declared but do not exist on functions.
99535         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
99536         HAVE_FLOORL_AND_CEILL, respectively.
99537         Needed for Sun C on Solaris 10.
99539 2007-11-11  Bruno Haible  <bruno@clisp.org>
99541         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
99542         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
99543         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
99544         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
99545         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
99546         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
99547         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
99548         HAVE_DECL_ROUNDF.
99549         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
99550         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
99551         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
99552         of HAVE_DECL_ROUND*.
99553         * modules/math (Makefile.am): Update.
99555 2007-11-10  Bruno Haible  <bruno@clisp.org>
99557         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
99558         ptrdiff_t as m4/intl.m4.
99560 2007-11-10  Jim Meyering  <meyering@redhat.com>
99562         Avoid link failure for the argmatch test.
99563         * tests/test-argmatch.c (usage): Define function to avoid a link
99564         failure: argmatch_die requires a usage function.
99566 2007-11-09  Bruno Haible  <bruno@clisp.org>
99568         * doc/functions/snprintf.texi: Mention BeOS deficiency.
99569         * doc/functions/vsnprintf.texi: Likewise.
99570         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
99571         with a size argument < 2.
99573 2007-11-09  Bruno Haible  <bruno@clisp.org>
99575         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
99576         buffer. Fixes an inefficiency introduced on 2007-11-03.
99578 2007-11-09  Bruno Haible  <bruno@clisp.org>
99580         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
99581         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
99583 2007-11-08  Jim Meyering  <meyering@redhat.com>
99585         Change cache variable name prefix "jm_" to "gl_" everywhere.
99586         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
99587         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
99588         * m4/uptime.m4: s/gl_/jm_/
99590 2007-11-07  Bruno Haible  <bruno@clisp.org>
99592         Update to GNU gettext 0.17.
99593         * m4/intl.m4: Update to GNU gettext 0.17.
99594         * m4/po.m4: Likewise.
99595         * modules/gettext (Files): Remove m4/ulonglong.m4.
99596         (configure.ac): Require gettext infrastructure from version 0.17.
99598 2007-11-06  Bruno Haible  <bruno@clisp.org>
99600         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
99601         symbolic values are not defined in a public header.
99602         * lib/freadable.c (freadable) [QNX]: Likewise.
99603         * lib/freadahead.c (freadahead) [QNX]: Likewise.
99604         * lib/freading.c (freading) [QNX]: Likewise.
99605         * lib/fseterr.c (fseterr) [QNX]: Likewise.
99606         * lib/fwritable.c (fwritable) [QNX]: Likewise.
99607         * lib/fwriting.c (fwriting) [QNX]: Likewise.
99608         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
99609         Reported by Alain Magloire.
99611         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
99613 2007-11-05  Bruno Haible  <bruno@clisp.org>
99615         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
99616         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
99617         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
99618         Reported by Eric Blake.
99620 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99621             Bruno Haible  <bruno@clisp.org>
99623         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
99624         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
99625         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
99626         (malloc): Undefine also before including <stdlib.h>.
99627         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
99628         Needed on OSF/1 4.0.
99630 2007-11-05  Jim Meyering  <meyering@redhat.com>
99632         git-version-gen: sync from coreutils.
99633         * build-aux/git-version-gen: Add comments.
99634         Change the first '-' to '.' in the snapshot version string,
99635         e.g., 6.9-377-08144 -> 6.9.377-08144
99636         Remove first parameter.
99637         Don't declare a version "-dirty" merely because a time
99638         stamp has changed.
99640 2007-11-04  Bruno Haible  <bruno@clisp.org>
99642         * lib/lock.h: Protect all macro definitions containing an 'if'
99643         statement through a "do { ... } while (0)".
99644         * lib/tls.h: Likewise.
99646 2007-11-04  Bruno Haible  <bruno@clisp.org>
99648         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
99650 2007-11-04  Bruno Haible  <bruno@clisp.org>
99652         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
99653         * modules/fprintf-posix (Depends-on): Add nocrash.
99654         * modules/snprintf-posix (Depends-on): Likewise.
99655         * modules/sprintf-posix (Depends-on): Likewise.
99656         * modules/vasnprintf-posix (Depends-on): Likewise.
99657         * modules/vasprintf-posix (Depends-on): Likewise.
99658         * modules/vfprintf-posix (Depends-on): Likewise.
99659         * modules/vsnprintf-posix (Depends-on): Likewise.
99660         * modules/vsprintf-posix (Depends-on): Likewise.
99661         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
99662         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
99663         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
99664         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
99665         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
99666         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
99667         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
99669 2007-11-04  Bruno Haible  <bruno@clisp.org>
99671         * modules/nocrash: New file.
99672         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
99673         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
99675 2007-11-04  Bruno Haible  <bruno@clisp.org>
99677         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
99678         precision handling.
99679         * tests/test-vasprintf-posix.c (test_function): Likewise.
99680         * tests/test-snprintf-posix.h (test_function): Likewise.
99681         * tests/test-sprintf-posix.h (test_function): Likewise.
99683         Fix *printf behaviour for large precisions on mingw and BeOS.
99684         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
99685         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
99686         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
99687         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99688         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99689         gl_PRINTF_PRECISION and test its result. Invoke
99690         gl_PREREQ_VASNPRINTF_PRECISION.
99691         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99692         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99693         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99695         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99696         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99697         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99698         * doc/functions/fprintf.texi: Update.
99699         * doc/functions/printf.texi: Update.
99700         * doc/functions/snprintf.texi: Update.
99701         * doc/functions/sprintf.texi: Update.
99702         * doc/functions/vfprintf.texi: Update.
99703         * doc/functions/vprintf.texi: Update.
99704         * doc/functions/vsnprintf.texi: Update.
99705         * doc/functions/vsprintf.texi: Update.
99707 2007-11-04  Bruno Haible  <bruno@clisp.org>
99709         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
99711 2007-11-04  Bruno Haible  <bruno@clisp.org>
99713         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
99714         Reported by Sylvain Beucler <beuc@gnu.org>.
99716 2007-11-03  Bruno Haible  <bruno@clisp.org>
99718         * tests/test-fprintf-posix2.sh: New file.
99719         * tests/test-fprintf-posix2.c: New file.
99720         * modules/fprintf-posix-tests (Files): Add them.
99721         (TESTS): Add test-fprintf-posix2.sh.
99722         (configure.ac): Check for getrlimit and setrlimit.
99723         (check_PROGRAMS): Add test-fprintf-posix2.
99725         * tests/test-printf-posix2.sh: New file.
99726         * tests/test-printf-posix2.c: New file.
99727         * modules/printf-posix-tests (Files): Add them.
99728         (TESTS): Add test-printf-posix2.sh.
99729         (configure.ac): Check for getrlimit and setrlimit.
99730         (check_PROGRAMS): Add test-printf-posix2.
99732         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
99733         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
99734         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
99735         (decode_double): New function, copied from decode_long_double.
99736         (scale10_round_decimal_decoded): New function, extracted from
99737         scale10_round_decimal_long_double.
99738         (scale10_round_decimal_long_double): Use it.
99739         (scale10_round_decimal_double): New function.
99740         (floorlog10): New function.
99741         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
99742         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
99743         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99744         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99745         gl_PRINTF_ENOMEM and test its result. Invoke
99746         gl_PREREQ_VASNPRINTF_ENOMEM.
99747         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99748         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99749         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99750         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99751         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99752         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99753         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99754         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
99755         * modules/snprintf-posix (Depends-on): Likewise.
99756         * modules/sprintf-posix (Depends-on): Likewise.
99757         * modules/vasnprintf-posix (Depends-on): Likewise.
99758         * modules/vasprintf-posix (Depends-on): Likewise.
99759         * modules/vfprintf-posix (Depends-on): Likewise.
99760         * modules/vsnprintf-posix (Depends-on): Likewise.
99761         * modules/vsprintf-posix (Depends-on): Likewise.
99762         * doc/functions/fprintf.texi: Update.
99763         * doc/functions/printf.texi: Update.
99764         * doc/functions/snprintf.texi: Update.
99765         * doc/functions/sprintf.texi: Update.
99766         * doc/functions/vfprintf.texi: Update.
99767         * doc/functions/vprintf.texi: Update.
99768         * doc/functions/vsnprintf.texi: Update.
99769         * doc/functions/vsprintf.texi: Update.
99771 2007-11-03  Bruno Haible  <bruno@clisp.org>
99773         * modules/frexp-nolibm-tests: New file.
99775         * modules/frexp-nolibm: New file.
99776         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
99778 2007-11-03  Bruno Haible  <bruno@clisp.org>
99780         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
99781         value is C99 compliant.
99782         Needed for OSF/1 5.1.
99784 2007-11-03  Bruno Haible  <bruno@clisp.org>
99786         Fix out-of-memory handling of vasnprintf.
99787         * lib/printf-parse.c: Include <errno.h>.
99788         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
99789         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
99790         is already set.
99792 2007-11-02  Eric Blake  <ebb9@byu.net>
99794         Fix tests on cygwin.
99795         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
99797 2007-11-01  Bruno Haible  <bruno@clisp.org>
99799         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
99800         warning.
99801         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
99802         needed for POSIX compatibility.
99804 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
99806         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
99807         for compatibility with GNU.
99809 2007-11-01  Bruno Haible  <bruno@clisp.org>
99811         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
99812         (putenv): Renamed from rpl_putenv. Change argument type from
99813         'const char *' to 'char *'.
99814         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
99815         of defining putenv in config.h, just set REPLACE_PUTENV.
99816         * modules/putenv (Depends-on): Add stdlib.
99817         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
99818         (Include): Use <stdlib.h>.
99819         * lib/stdlib.in.h (putenv): New declaration.
99820         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
99821         REPLACE_PUTENV.
99822         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
99823         REPLACE_PUTENV.
99824         Needed for MacOS X 10.5.0.
99825         Reported by Peter O'Gorman <peter@pogma.com>.
99827 2007-11-01  Jim Meyering  <meyering@redhat.com>
99829         Treat an empty date string exactly like "0".
99830         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
99831         if the remaining date string (to be parsed) is empty, use "0".
99832         Reported by Mischa Molhoek and discussed in this thread:
99833         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
99835 2007-10-31  Bruno Haible  <bruno@clisp.org>
99837         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
99838         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
99839         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
99840         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
99841         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
99842         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
99844 2007-10-31  Bruno Haible  <bruno@clisp.org>
99846         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
99847         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
99848         (AC_TYPE_LONG_LONG_INT): Use it.
99849         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
99850         it as well.
99851         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
99852         to m4/longlong.m4.
99853         * modules/stdint (Files): Remove m4/ulonglong.m4.
99854         * modules/strtoull (Files): Use m4/longlong.m4 instead of
99855         m4/ulonglong.m4.
99856         * modules/strtoumax (Files): Likewise.
99858 2007-10-30  Bruno Haible  <bruno@clisp.org>
99860         * modules/xvasprintf-posix: New file.
99861         Suggested by Eric Blake.
99863 2007-10-30  Bruno Haible  <bruno@clisp.org>
99865         * modules/xprintf-posix-tests: New file.
99866         * tests/test-xprintf-posix.sh: New file.
99867         * tests/test-xprintf-posix.c: New file.
99868         * tests/test-xfprintf-posix.c: New file.
99870         * modules/xprintf-posix: New file.
99872 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99874         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
99875         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
99876         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
99878 2007-10-29  Bruno Haible  <bruno@clisp.org>
99880         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
99881         contain the special marker '_cv_'.
99882         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
99883         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
99884         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
99885         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
99886         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
99887         Reported by Ralf Wildenhues.
99889 2007-10-29  Bruno Haible  <bruno@clisp.org>
99891         * gnulib-tool (func_import): When --lgpl is not specified, set
99892         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
99893         GPLv3.
99894         Reported by Simon Josefsson.
99896 2007-10-28  Bruno Haible  <bruno@clisp.org>
99898         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
99899         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
99900         HAVE_DECL_ISFINITE.
99901         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99902         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
99903         HAVE_DECL_ISFINITE.
99905 2007-10-28  Bruno Haible  <bruno@clisp.org>
99907         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
99908         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
99910 2007-10-28  Bruno Haible  <bruno@clisp.org>
99912         Fix link errors with Sun C 5.0 on Solaris 10.
99913         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
99914         function is declared but not present in the compiler's libm.
99915         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
99916         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
99917         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
99918         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
99919         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
99920         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
99921         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
99922         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99923         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
99924         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
99925         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
99926         HAVE_DECL_FLOORL.
99928 2007-10-28  Bruno Haible  <bruno@clisp.org>
99930         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
99931         gl_FUNC_FLOORL. Cache the result.
99932         (gl_FUNC_FLOORL): Use it.
99933         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
99934         gl_FUNC_CEILL. Cache the result.
99935         (gl_FUNC_CEILL): Use it.
99937         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
99938         gl_FUNC_FLOOR. Cache the result.
99939         (gl_FUNC_FLOOR): Use it.
99940         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
99941         gl_FUNC_CEIL. Cache the result.
99942         (gl_FUNC_CEIL): Use it.
99944         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
99945         gl_FUNC_FLOORF. Cache the result.
99946         (gl_FUNC_FLOORF): Use it.
99947         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
99948         gl_FUNC_CEILF. Cache the result.
99949         (gl_FUNC_CEILF): Use it.
99951 2007-10-28  Bruno Haible  <bruno@clisp.org>
99953         * gnulib-tool: Allow specifying the LGPL version number through
99954         --lgpl=2 or --lgpl=3.
99955         (func_usage): Document --lgpl with argument.
99956         Handle --lgpl=... arguments.
99957         (func_import): Recognize also gl_LGPL calls with an argument. When
99958         --lgpl=2 is used and the module's license is just LGPL, report an
99959         error. Set sed_transform_lib_file according to the lgpl variable. In
99960         the generated files, use --lgpl or gl_LGPL invocations with argument,
99961         if necessary.
99962         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
99963         an LGPv2+ license.
99964         * doc/gnulib-tool.texi (Modified imports): Update explanation of
99965         gl_LGPL macro.
99967 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99968             Bruno Haible  <bruno@clisp.org>
99970         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
99971         (u16_uctomb_aux): Likewise.
99972         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
99973         !HAVE_INLINE.
99974         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
99976 2007-10-28  Bruno Haible  <bruno@clisp.org>
99978         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
99979         Invoke AM_GETTEXT_OPTION if it exists.
99980         * modules/vasprintf: Likewise.
99981         * modules/verror: Likewise.
99982         * modules/xprintf: Likewise.
99983         * modules/xvasprintf: Likewise.
99985 2007-10-27  Ben Pfaff  <blp@gnu.org>
99987         * lib/math.in.h: Define isfinite macro and prototypes for
99988         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
99989         implementations.
99990         * m4/math_h.m4: New substitutions for isfinite module.
99991         * lib/isfinite.c: New file.
99992         * m4/isfinite.m4: New file.
99993         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
99994         * modules/isfinite: New file.
99995         * modules/isfinite-tests: New file.
99996         * tests/tests-isfinite.c: New file.
99997         * doc/functions/isfinite.texi: Mention isfinite module.
99998         * MODULES.html.sh: Mention new module.
100000 2007-10-27  Ben Pfaff  <blp@gnu.org>
100002         Ralf Wildenhues reported that Tru64 4.0D declares the round
100003         functions but does not have definitions.
100004         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
100005         cannot be found in any library, set the output variable to
100006         "missing" instead of "".
100007         * m4/round.m4: Also use our substitute if we cannot find round in
100008         any library, even if it is declared.
100009         * m4/roundf.m4: Likewise for roundf.
100010         * m4/roundl.m4: Likewise for roundl.
100011         * lib/math.in.h: Undefine roundf, round, roundl before defining
100012         their replacements, to allow for hypothetical systems where these
100013         may be defined as macros but not available in libraries.
100015 2007-10-27  Bruno Haible  <bruno@clisp.org>
100017         * doc/gnulib.texi: Invoke @firstparagraphindent.
100018         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
100019         changes in gnulib.
100020         (Source changes): New section.
100022 2007-10-26  Bruno Haible  <bruno@clisp.org>
100024         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
100025         borrowed from autoconf.
100027 2007-10-26  Bruno Haible  <bruno@clisp.org>
100029         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
100030         strerror returned the empty string. Needed on HP-UX 11.00.
100032 2007-10-24  Micah Cowan  <micah@cowan.name>
100034         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
100035         * build-aux/bootstrap: Remove support for now-unnecessary option,
100036         --cvs-user, and envvars CVS_USER, CVS_RSH.
100038 2007-10-24  Jim Meyering  <meyering@redhat.com>
100040         Avoid diagnostics from sha1sum when there is no cached checksum.
100041         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
100042         if the po.s1 file hasn't been created yet.
100044         * build-aux/bootstrap: Sync from coreutils:
100045         2007-10-24  Jim Meyering  <meyering@redhat.com>
100046         Get gnulib from the git repository, not from an obsolete cvs one.
100047         * build-aux/bootstrap: Suggestion from Micah Cowan.
100048         2007-10-04  Jim Meyering  <jim@meyering.net>
100049         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
100050         (update_po_files): Work also when there are no .po files in po/.
100052 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
100054         * README: Append ".git" to git and cg examples.
100055         Problem reported by Benoit Sigoure.
100057 2007-10-23  Micah Cowan  <micah@cowan.name>
100059         * users.txt: Add wget.
100061 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100063         Fix linking of some unistdio tests on FreeBSD.
100064         * modules/unistdio/u16-vsnprintf-tests
100065         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
100066         * modules/unistdio/u16-vsprintf-tests
100067         (test_u16_vsnprintf1_LDADD): Likewise.
100068         * modules/unistdio/u32-vsnprintf-tests
100069         (test_u32_vsnprintf1_LDADD): Likewise.
100070         * modules/unistdio/u32-vsprintf-tests
100071         (test_u32_vsprintf1_LDADD): Likewise.
100072         * modules/unistdio/u8-vsnprintf-tests
100073         (test_u8_vsnprintf1_LDADD): Likewise.
100074         * modules/unistdio/u8-vsprintf-tests
100075         (test_u8_vsprintf1_LDADD): Likewise.
100076         * modules/unistdio/ulc-vsnprintf-tests
100077         (test_ulc_vsnprintf1_LDADD): Likewise.
100078         * modules/unistdio/ulc-vsprintf-tests
100079         (test_ulc_vsprintf1_LDADD): Likewise.
100081         Fix linking of some uniconv tests on FreeBSD.
100082         * modules/uniconv/u16-conv-from-enc-tests
100083         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
100084         * modules/uniconv/u16-conv-to-enc-tests
100085         (test_u16_conv_to_enc_LDADD): Likewise.
100086         * modules/uniconv/u16-strconv-from-enc-tests
100087         (test_u16_strconv_from_enc_LDADD): Likewise.
100088         * modules/uniconv/u16-strconv-to-enc-tests
100089         (test_u16_strconv_to_enc_LDADD): Likewise.
100090         * modules/uniconv/u32-conv-from-enc-tests
100091         (test_u32_conv_from_enc_LDADD): Likewise.
100092         * modules/uniconv/u32-conv-to-enc-tests
100093         (test_u32_conv_to_enc_LDADD): Likewise.
100094         * modules/uniconv/u32-strconv-from-enc-tests
100095         (test_u32_strconv_from_enc_LDADD): Likewise.
100096         * modules/uniconv/u32-strconv-to-enc-tests
100097         (test_u32_strconv_to_enc_LDADD): Likewise.
100098         * modules/uniconv/u8-conv-from-enc-tests
100099         (test_u8_conv_from_enc_LDADD): Likewise.
100100         * modules/uniconv/u8-conv-to-enc-tests
100101         (test_u8_conv_to_enc_LDADD): Likewise.
100102         * modules/uniconv/u8-strconv-from-enc-tests
100103         (test_u8_strconv_from_enc_LDADD): Likewise.
100104         * modules/uniconv/u8-strconv-to-enc-tests
100105         (test_u8_strconv_to_enc_LDADD): Likewise.
100107 2007-10-22  Bruno Haible  <bruno@clisp.org>
100109         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
100110         size.
100112 2007-10-22  Eric Blake  <ebb9@byu.net>
100114         Tweak x*printf documentation.
100115         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
100116         variable name and comments.
100117         Suggested by Bruno Haible.
100119 2007-10-22  Bruno Haible  <bruno@clisp.org>
100121         * lib/acl.c (copy_acl): Fix file name in comment.
100123 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100125         Fix Tru64 problem with stdbool.h.
100126         * lib/stdbool.in.h (false, true):
100127         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
100128         Don't declare as an enum in this situation; it runs afoul of Tru64.
100129         Problem reported by Steven M. Schweda in
100130         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
100132 2007-10-22  Eric Blake  <ebb9@byu.net>
100134         Also wrap vf?printf.
100135         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
100136         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
100137         (xvprintf, xvfprintf): New functions.
100139 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100141         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
100142         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
100144         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
100145         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
100147 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
100149         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
100150         by Bruno Haible.
100152 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100154         * lib/getloadavg.c
100155         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
100156         Undef `sys' after including sys/table.h, for Tru64 4.0D.
100158         * tests/test-i-ring.c: Work for C89.
100160 2007-10-22  Bruno Haible  <bruno@clisp.org>
100162         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
100163         -1u, in preprocessor expression, so that we don't test for the bug
100164         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
100165         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
100167 2007-10-22  Eric Blake  <ebb9@byu.net>
100169         * tests/test-yesno.sh: Silence stderr during test.
100171 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100173         * modules/crypto/gc-camellia: New file.
100175         * m4/gc-camellia.m4: New file.
100177         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
100179         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
100181 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100183         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
100184         --help to stdout.  Reported by sms@antinode.org (Steven
100185         M. Schweda).
100187 2007-10-22  Simon Josefsson  <simon@josefsson.org>
100189         * users.txt: Fix link to libksba.
100191 2007-10-21  Ben Pfaff  <blp@gnu.org>
100193         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
100194         round.c roundf implementation that depends on floorf and ceilf to
100195         be tested unconditionally.
100197 2007-10-21  Ben Pfaff  <blp@gnu.org>
100199         * m4/check-libm-func.m4: Removed.
100200         * m4/check-math-lib.m4: New file.
100201         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
100202         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
100203         definition and lack of AC_LIBOBJ([roundf]).
100204         * m4/roundl.m4: Ditto, and similarly for roundl.
100205         * modules/round: Reference new m4 file.
100206         * modules/roundf: Ditto.
100207         * modules/roundl: Ditto.
100208         * tests/test-round2.c (main): Use ROUND instead of round.
100209         Bug report from Bruno Haible.
100211 2007-10-21  Bruno Haible  <bruno@clisp.org>
100213         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
100214         context.
100216 2007-10-21  Bruno Haible  <bruno@clisp.org>
100218         * tests/test-wcwidth.c (main): Allow negative result for some control
100219         characters.
100221         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
100222         Needed on OSF/1 5.1.
100224 2007-10-21  Bruno Haible  <bruno@clisp.org>
100226         * tests/test-floorf1.c: Include isnanf.h.
100227         (main): Use isnanf() instead of isnan().
100228         * tests/test-ceilf1.c: Include isnanf.h.
100229         (main): Use isnanf() instead of isnan().
100230         * tests/test-truncf1.c: Include isnanf.h.
100231         (main): Use isnanf() instead of isnan().
100232         * tests/test-roundf1.c: Include isnanf.h.
100233         (main): Use isnanf() instead of isnan().
100235 2007-10-21  Eric Blake  <ebb9@byu.net>
100237         * users.txt: Update URL for m4.
100239 2007-10-21  Bruno Haible  <bruno@clisp.org>
100241         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
100243 2007-10-21  Bruno Haible  <bruno@clisp.org>
100245         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
100246         Git's management files if the CVS files are not present.
100248 2007-10-20  Bruno Haible  <bruno@clisp.org>
100250         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
100251         gcc-3.4.x.
100253 2007-10-20  Ben Pfaff  <blp@gnu.org>
100255         * lib/math.in.h: Declare round, roundf, roundl if we are providing
100256         implementations.
100257         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
100258         * lib/round.c: New file.
100259         * lib/roundf.c: New file.
100260         * lib/roundl.c: New file.
100261         * m4/round.m4: New file.
100262         * m4/roundf.m4: New file.
100263         * m4/roundl.m4: New file.
100264         * m4/check-libm-func-m4: New file.
100265         * modules/math: Replace round, roundf, roundl related @VARS@ in
100266         math.in.h.
100267         * modules/round: New file.
100268         * modules/round-tests: New file.
100269         * modules/roundf: New file.
100270         * modules/roundf-tests: New file.
100271         * modules/roundl: New file.
100272         * modules/roundl-tests: New file.
100273         * tests/test-round1.c: New file.
100274         * tests/test-round2.c: New file.
100275         * tests/test-roundf1.c: New file.
100276         * tests/test-roundf2.c: New file.
100277         * tests/test-roundl.c: New file.
100278         * doc/functions/round.texi: Mention round module.
100279         * doc/functions/roundf.texi: Mention roundf module.
100280         * doc/functions/roundl.texi: Mention roundl module.
100281         * MODULES.html.sh: Mention new modules.
100282         Thanks to Bruno Haible for suggestions.
100284 2007-10-20  Jim Meyering  <meyering@redhat.com>
100286         * lib/xprintf.c: Include <config.h> unconditionally.
100288         Change xprintf's license to GPL.
100289         * modules/xprintf (License): s/LGPL/GPL/, since this module
100290         depends on modules (exit and exitfail) which are GPL.
100291         Suggestion from Bruno Haible.
100293         xprintf fixes.
100294         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
100295         Use a clearer diagnostic.
100296         Patch from Bruno Haible.
100298 2007-10-20  Bruno Haible  <bruno@clisp.org>
100300         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
100301         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
100302         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100304 2007-10-20  Bruno Haible  <bruno@clisp.org>
100306         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
100307         precision in the comparison result > x - 1 or similar.
100308         * tests/test-ceilf2.c (correct_result_p): Likewise.
100309         * tests/test-truncf2.c (correct_result_p): Likewise.
100310         * tests/test-trunc2.c (correct_result_p): Likewise.
100311         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100313 2007-10-20  Bruno Haible  <bruno@clisp.org>
100315         * modules/ceil: New file.
100316         * m4/ceil.m4: New file.
100317         * doc/functions/ceil.texi: Mention the 'ceil' module.
100319 2007-10-20  Bruno Haible  <bruno@clisp.org>
100321         * modules/floor: New file.
100322         * m4/floor.m4: New file.
100323         * doc/functions/floor.texi: Mention the 'floor' module.
100325 2007-10-20  Bruno Haible  <bruno@clisp.org>
100327         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
100328         of %a.
100329         * modules/floorf-tests (Depends-on): Likewise.
100330         * modules/truncf-tests (Depends-on): Likewise.
100331         * modules/trunc-tests (Depends-on): Likewise.
100332         Reported by Ben Pfaff.
100334 2007-10-19  Jim Meyering  <meyering@redhat.com>
100336         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
100337         Don't bother testing specific errno values.  Just test ferror.
100339         New module: xprintf
100340         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
100342 2007-10-19  Bruno Haible  <bruno@clisp.org>
100344         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
100345         syntax.
100346         * modules/javaexec (Makefile.am): Likewise.
100347         * modules/relocatable-prog (Makefile.am): Likewise.
100348         Suggested by Jim Meyering.
100350 2007-10-18  Bruno Haible  <bruno@clisp.org>
100352         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
100353         Reported by Jim Meyering.
100355 2007-10-18  Eric Blake  <ebb9@byu.net>
100357         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
100359 2007-10-18  Bruno Haible  <bruno@clisp.org>
100361         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
100362         the format string into writable memory. Needed in Fortify conditions.
100364 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
100365             Bruno Haible  <bruno@clisp.org>
100367         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
100368         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
100369         * modules/trim (Depends-on): Add mbchar.
100370         (configure.ac): Add gl_FUNC_MBRTOWC.
100371         (Makefile.am): Augment lib_SOURCES.
100373 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
100375         Modify glob.c to use fstatat and dirfd, to simplify it.
100376         Suggested by Eric Blake.
100377         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
100378         Don't include <stdbool.h>; not used.
100379         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
100380         (link_exists_p): Simplify implementation, since we can now assume
100381         dirfd and fstatat.
100382         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
100384 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100386         * gnulib-tool (func_get_dependencies): Fix sed script to
100387         match only tests.
100389 2007-10-17  Bruno Haible  <bruno@clisp.org>
100391         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
100392         allow locale names without encoding suffix.
100393         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
100394         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
100396 2007-10-16  Bruno Haible  <bruno@clisp.org>
100398         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
100399         * lib/getgroups.c (getgroups): Likewise.
100400         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
100402 2007-10-16  Bruno Haible  <bruno@clisp.org>
100404         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
100405         * modules/malloc-posix (License): Likewise.
100406         * modules/realloc-posix (License): Likewise.
100407         * modules/calloc-posix (License): Likewise.
100408         * modules/intprops (License): Change from GPL to LGPL, with
100409         Paul Eggert's approval.
100411 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100413         Merge glibc changes into lib/glob.c.
100415         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
100416         2007-10-15 04:59:03 UTC.  Here are the changes:
100418         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
100420         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
100422         * lib/glob.c: Add some branch prediction throughout.
100424         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
100426         [BZ #5103]
100427         * lib/glob.c (glob): Recognize patterns starting \/.
100429         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
100431         [BZ #3996]
100432         * lib/glob.c (attribute_hidden): Define if not defined.
100433         (glob): Unescape dirname, filename or username when needed and not
100434         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
100435         is NULL.  Handle unescaped [ in pattern without closing ].
100436         Don't pass GLOB_CHECK down to recursive glob for directories.
100437         (__glob_pattern_type): New function.
100438         (__glob_pattern_p): Implement using __glob_pattern_type.
100439         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
100440         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
100441         Remove unreachable code.
100443         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
100445         * lib/glob.c (glob_in_dir): Add some comments and asserts to
100446         explain why there are no leaks.
100448         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
100450         [BZ #3253]
100451         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
100452         time, rather allocate increasingly bigger arrays of pointers, if
100453         possible with alloca, if too large with malloc.
100455 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
100457         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
100458         Problem reported by H.Merijn Brand in
100459         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
100460         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
100461         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
100463 2007-10-15  Bruno Haible  <bruno@clisp.org>
100465         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
100466         with explicit rpl_ prefix.
100467         * lib/fopen.c (fopen): Likewise.
100468         * lib/freopen.c (freopen): Likewise.
100469         * lib/iconv.c (iconv): Likewise.
100470         * lib/iconv_close.c (iconv_close): Likewise.
100472 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100474         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
100476 2007-10-15  Bruno Haible  <bruno@clisp.org>
100478         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
100479         <stddef.h> instead of <stdlib.h> since we only need NULL.
100480         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100482 2007-10-15  Bruno Haible  <bruno@clisp.org>
100484         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
100485         Replace paragraph talking about LIBOBJS.
100486         Reported by Colin Watson <cjwatson@debian.org>.
100488 2007-10-15  Bruno Haible  <bruno@clisp.org>
100490         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
100491         <stdlib.h> before using NULL.
100493 2007-10-15  Simon Josefsson  <simon@josefsson.org>
100495         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
100496         Reported by Albert Chin <china@thewrittenword.com>.
100498 2007-10-14  Bruno Haible  <bruno@clisp.org>
100500         * modules/iconv_open-utf-tests: New file.
100501         * tests/test-iconv-utf.c: New file.
100503         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
100504         * modules/iconv_open-utf: New file.
100505         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
100506         (iconv, iconv_close): New declarations.
100507         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
100508         be defined.
100509         (iconv_open): Add special handling of conversion between UTF-8 and
100510         UTF-{16,32}{BE,LE}.
100511         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
100512         * lib/iconv_close.c: New file.
100513         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
100514         gl_FUNC_ICONV_OPEN.
100515         (gl_FUNC_ICONV_OPEN): Use it.
100516         (gl_FUNC_ICONV_OPEN_UTF): New macro.
100517         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
100518         and REPLACE_ICONV_UTF.
100519         * modules/iconv_open (Depends-on): Add c-strcase.
100520         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
100521         ICONV_CONST.
100522         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
100524 2007-10-13  Albert Chin  <china@thewrittenword.com>
100525             Bruno Haible  <bruno@clisp.org>
100527         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
100528         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
100530 2007-10-13  Bruno Haible  <bruno@clisp.org>
100532         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
100533         defined, use the ISO C99 inline semantics.
100534         * lib/argp.h (ARGP_EI): Likewise.
100536 2007-10-13  Bruno Haible  <bruno@clisp.org>
100538         Handle 'inline' change in gcc 4.3.0.
100539         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
100540         argp_fmtstream_write, argp_fmtstream_set_lmargin,
100541         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
100542         argp_fmtstream_point): Disable 'extern' declaration if the function
100543         definition is going to be provided inline.
100544         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
100545         semantics, not the ISO C99 inline semantics.
100546         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
100547         'extern' declaration if the function definition is going to be provided
100548         inline.
100549         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
100550         the GNU C inline semantics, not the ISO C99 inline semantics. With
100551         GCC 4.2, avoid a warning.
100553 2007-10-13  Bruno Haible  <bruno@clisp.org>
100555         * lib/freading.h (freading): Enable the use of __freading for
100556         glibc >= 2.7.
100557         * lib/freading.c (freading): Likewise.
100559 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
100561         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
100562         "warning: C99 inline functions are not supported; using GNU89".
100564 2007-10-12  Bruno Haible  <bruno@clisp.org>
100566         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
100567         of 2.
100568         * tests/test-ceilf2.c: New file.
100569         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
100571         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
100572         * modules/ceilf-tests: Update.
100574 2007-10-12  Bruno Haible  <bruno@clisp.org>
100576         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
100577         of 2.
100578         * tests/test-floorf2.c: New file.
100579         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
100581         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
100582         * modules/floorf-tests: Update.
100584 2007-10-12  Bruno Haible  <bruno@clisp.org>
100586         * tests/test-trunc2.c: New file.
100587         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
100589         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
100590         * modules/trunc-tests: Update.
100592 2007-10-12  Bruno Haible  <bruno@clisp.org>
100594         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
100595         of 2.
100596         * tests/test-truncf2.c: New file.
100597         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
100599         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
100600         * modules/truncf-tests: Update.
100602 2007-10-11  Eric Blake  <ebb9@byu.net>
100604         Don't claim strerror is broken on Interix.
100605         * doc/functions/strerror.texi (strerror): Known broken systems are
100606         now Solaris 8, and not Interix.
100607         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
100608         Interix on cross-compile.
100609         Reported by Martin Koeppe in
100610         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
100612 2007-10-11  Bruno Haible  <bruno@clisp.org>
100614         * modules/i-ring-tests: New file.
100615         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
100616         instead of assert.
100618 2007-10-11  Bruno Haible  <bruno@clisp.org>
100620         * modules/filenamecat-tests: New file.
100621         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
100622         * lib/filenamecat.c: Remove test code.
100624 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
100626         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
100628         * lib/strerror.c: Include <string.h> always, to test interface,
100629         and to remove the need for the dummy.
100630         Include intprops.h to compute width instead of doing it ourselves
100631         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
100632         (strerror): Define it to return NULL if there's no system strerror.
100633         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
100634         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
100635         ancient pre-strerror Unix systems well any more.  Saying "unknown
100636         system error" is enough.
100637         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
100638         simpler strerror.c implementation.
100639         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
100640         Simplify the tests to reflect the simpler strerror implementation.
100641         * modules/strerror (Depends-on): Add intprops.
100643 2007-10-09  Eric Blake  <ebb9@byu.net>
100645         Silence test-fpending.
100646         * modules/fpending-tests (Files): Add wrapper script.
100647         * tests/test-fpending.sh: New file.
100649 2007-10-09  Bruno Haible  <bruno@clisp.org>
100651         * MODULES.html.sh (func_module): Don't create a hyperlink for
100652         function names like 'printf_frexp'.
100653         (Misc): Add crc, memxor.
100654         (Characteristics of floating types): New section.
100655         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
100656         isnanf-nolibm, signbit, trunc, truncf, truncl.
100657         (Enhancements for ISO C 99 functions): New subsection Input/output.
100658         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
100659         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
100660         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
100661         (Compatibility checks for POSIX:2001 functions): Add clock-time.
100662         (Enhancements for POSIX:2001 functions): Add chdir-long.
100663         (File system functions): Add areadlink, chdir-safer, read-file.
100664         Remove cycle-check.
100665         (File system as inode set): New section.
100666         (Date and time): Add gethrxtime.
100667         (Multithreading): Add openmp.
100668         (Internationalization functions): Add localename.
100669         (Unicode string functions): Add unistr/u*-mbsnlen.
100670         (Support for maintaining and releasing projects): Add git-version-gen.
100671         (Lone files): Remove directories.
100673 2007-10-08  Ben Pfaff  <blp@gnu.org>
100675         * lib/xmalloca.h: Fix typo in comment.
100677 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
100679         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
100680         when avoiding problems with integer overflow.  Use a portable test
100681         instead.
100683 2007-10-08  Simon Josefsson  <simon@josefsson.org>
100685         * modules/dummy (License): Change to LGPLv2+.
100686         * modules/float (License): Likewise
100687         * modules/realloc (License): Likewise
100688         * modules/stdlib (License): Likewise
100690 2007-10-07  Bruno Haible  <bruno@clisp.org>
100692         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
100693         * floor.c (TWO_MANT_DIG): Likewise.
100694         * ceil.c (TWO_MANT_DIG): Likewise.
100695         Reported by Ben Pfaff.
100697 2007-10-07  Bruno Haible  <bruno@clisp.org>
100699         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
100700         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
100701         * lib/frexp.c (FUNC): Likewise.
100702         * lib/printf-frexp.h (printf_frexp): Likewise.
100703         * lib/printf-frexpl.h (printf_frexpl): Likewise.
100704         * lib/printf-frexp.c (FUNC): Likewise.
100705         Suggested by Jim Meyering.
100707 2007-10-07  Jim Meyering  <meyering@redhat.com>
100709         Make xnanosleep's integer overflow test more robust.
100710         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
100711         so that gcc-4.3.0 doesn't optimize away this test for overflow.
100713 2007-10-07  Bruno Haible  <bruno@clisp.org>
100715         * NEWS: Mention the license change.
100717         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
100718         abbreviations in the modules files.
100720         Change copyright notice from GPLv2+ to GPLv3+.
100721         * README: Change copyright notice.
100722         * MODULES.html.sh: Likewise.
100723         * build-aux/bootstrap.conf: Likewise.
100724         * build-aux/config.libpath: Likewise.
100725         * build-aux/csharpcomp.sh.in: Likewise.
100726         * build-aux/csharpexec.sh.in: Likewise.
100727         * build-aux/install-reloc: Likewise.
100728         * build-aux/javacomp.sh.in: Likewise.
100729         * build-aux/javaexec.sh.in: Likewise.
100730         * build-aux/ldd.sh.in: Likewise.
100731         * build-aux/reloc-ldflags: Likewise.
100732         * build-aux/relocatable.sh.in: Likewise.
100733         * build-aux/x-to-1.in: Likewise.
100734         * check-module: Likewise.
100735         * config/srclistvars.sh: Likewise.
100736         * gnulib-tool: Likewise.
100737         * lib/acl-internal.h: Likewise.
100738         * lib/acl.c: Likewise.
100739         * lib/acl.h: Likewise.
100740         * lib/acl_entries.c: Likewise.
100741         * lib/areadlink-with-size.c: Likewise.
100742         * lib/areadlink.c: Likewise.
100743         * lib/areadlink.h: Likewise.
100744         * lib/argmatch.c: Likewise.
100745         * lib/argmatch.h: Likewise.
100746         * lib/argp-ba.c: Likewise.
100747         * lib/argp-eexst.c: Likewise.
100748         * lib/argp-fmtstream.c: Likewise.
100749         * lib/argp-fmtstream.h: Likewise.
100750         * lib/argp-fs-xinl.c: Likewise.
100751         * lib/argp-help.c: Likewise.
100752         * lib/argp-namefrob.h: Likewise.
100753         * lib/argp-parse.c: Likewise.
100754         * lib/argp-pin.c: Likewise.
100755         * lib/argp-pv.c: Likewise.
100756         * lib/argp-pvh.c: Likewise.
100757         * lib/argp-xinl.c: Likewise.
100758         * lib/argp.h: Likewise.
100759         * lib/at-func.c: Likewise.
100760         * lib/atanl.c: Likewise.
100761         * lib/backupfile.c: Likewise.
100762         * lib/backupfile.h: Likewise.
100763         * lib/basename.c: Likewise.
100764         * lib/binary-io.h: Likewise.
100765         * lib/byteswap.in.h: Likewise.
100766         * lib/c-stack.c: Likewise.
100767         * lib/c-stack.h: Likewise.
100768         * lib/c-strcasestr.c: Likewise.
100769         * lib/c-strcasestr.h: Likewise.
100770         * lib/c-strstr.c: Likewise.
100771         * lib/c-strstr.h: Likewise.
100772         * lib/c-strtod.c: Likewise.
100773         * lib/calloc.c: Likewise.
100774         * lib/canon-host.c: Likewise.
100775         * lib/canon-host.h: Likewise.
100776         * lib/canonicalize-lgpl.c: Likewise.
100777         * lib/canonicalize.c: Likewise.
100778         * lib/canonicalize.h: Likewise.
100779         * lib/ceil.c: Likewise.
100780         * lib/ceilf.c: Likewise.
100781         * lib/ceill.c: Likewise.
100782         * lib/chdir-long.c: Likewise.
100783         * lib/chdir-long.h: Likewise.
100784         * lib/chdir-safer.c: Likewise.
100785         * lib/chdir-safer.h: Likewise.
100786         * lib/chown.c: Likewise.
100787         * lib/classpath.c: Likewise.
100788         * lib/classpath.h: Likewise.
100789         * lib/clean-temp.c: Likewise.
100790         * lib/clean-temp.h: Likewise.
100791         * lib/cloexec.c: Likewise.
100792         * lib/close-stream.c: Likewise.
100793         * lib/closein.c: Likewise.
100794         * lib/closein.h: Likewise.
100795         * lib/closeout.c: Likewise.
100796         * lib/closeout.h: Likewise.
100797         * lib/concat-filename.c: Likewise.
100798         * lib/copy-file.c: Likewise.
100799         * lib/copy-file.h: Likewise.
100800         * lib/count-one-bits.h: Likewise.
100801         * lib/crc.c: Likewise.
100802         * lib/crc.h: Likewise.
100803         * lib/creat-safer.c: Likewise.
100804         * lib/csharpcomp.c: Likewise.
100805         * lib/csharpcomp.h: Likewise.
100806         * lib/csharpexec.c: Likewise.
100807         * lib/csharpexec.h: Likewise.
100808         * lib/cycle-check.c: Likewise.
100809         * lib/cycle-check.h: Likewise.
100810         * lib/diacrit.c: Likewise.
100811         * lib/diacrit.h: Likewise.
100812         * lib/diffseq.h: Likewise.
100813         * lib/dirchownmod.c: Likewise.
100814         * lib/dirent.in.h: Likewise.
100815         * lib/dirfd.c: Likewise.
100816         * lib/dirfd.h: Likewise.
100817         * lib/dirname.c: Likewise.
100818         * lib/dirname.h: Likewise.
100819         * lib/dummy.c: Likewise.
100820         * lib/dup-safer.c: Likewise.
100821         * lib/dup2.c: Likewise.
100822         * lib/eealloc.h: Likewise.
100823         * lib/error.c: Likewise.
100824         * lib/error.h: Likewise.
100825         * lib/euidaccess.c: Likewise.
100826         * lib/exclude.c: Likewise.
100827         * lib/exclude.h: Likewise.
100828         * lib/execute.c: Likewise.
100829         * lib/execute.h: Likewise.
100830         * lib/exitfail.c: Likewise.
100831         * lib/exitfail.h: Likewise.
100832         * lib/expl.c: Likewise.
100833         * lib/fatal-signal.c: Likewise.
100834         * lib/fatal-signal.h: Likewise.
100835         * lib/fbufmode.c: Likewise.
100836         * lib/fbufmode.h: Likewise.
100837         * lib/fchdir.c: Likewise.
100838         * lib/fchmodat.c: Likewise.
100839         * lib/fchownat.c: Likewise.
100840         * lib/fcntl--.h: Likewise.
100841         * lib/fcntl-safer.h: Likewise.
100842         * lib/fcntl.in.h: Likewise.
100843         * lib/fd-safer.c: Likewise.
100844         * lib/fflush.c: Likewise.
100845         * lib/file-has-acl.c: Likewise.
100846         * lib/file-set.c: Likewise.
100847         * lib/file-type.c: Likewise.
100848         * lib/file-type.h: Likewise.
100849         * lib/fileblocks.c: Likewise.
100850         * lib/filemode.c: Likewise.
100851         * lib/filemode.h: Likewise.
100852         * lib/filename.h: Likewise.
100853         * lib/filenamecat.c: Likewise.
100854         * lib/filenamecat.h: Likewise.
100855         * lib/findprog.c: Likewise.
100856         * lib/findprog.h: Likewise.
100857         * lib/float.in.h: Likewise.
100858         * lib/floor.c: Likewise.
100859         * lib/floorf.c: Likewise.
100860         * lib/floorl.c: Likewise.
100861         * lib/fopen-safer.c: Likewise.
100862         * lib/fopen.c: Likewise.
100863         * lib/fpending.c: Likewise.
100864         * lib/fpending.h: Likewise.
100865         * lib/fprintf.c: Likewise.
100866         * lib/fprintftime.h: Likewise.
100867         * lib/fpucw.h: Likewise.
100868         * lib/fpurge.c: Likewise.
100869         * lib/fpurge.h: Likewise.
100870         * lib/freadable.c: Likewise.
100871         * lib/freadable.h: Likewise.
100872         * lib/freadahead.c: Likewise.
100873         * lib/freadahead.h: Likewise.
100874         * lib/freading.c: Likewise.
100875         * lib/freading.h: Likewise.
100876         * lib/free.c: Likewise.
100877         * lib/freopen.c: Likewise.
100878         * lib/frexp.c: Likewise.
100879         * lib/frexpl.c: Likewise.
100880         * lib/fseek.c: Likewise.
100881         * lib/fseterr.c: Likewise.
100882         * lib/fseterr.h: Likewise.
100883         * lib/fstatat.c: Likewise.
100884         * lib/fstrcmp.c: Likewise.
100885         * lib/fstrcmp.h: Likewise.
100886         * lib/fsusage.c: Likewise.
100887         * lib/fsusage.h: Likewise.
100888         * lib/ftell.c: Likewise.
100889         * lib/ftello.c: Likewise.
100890         * lib/fts-cycle.c: Likewise.
100891         * lib/fts.c: Likewise.
100892         * lib/fts_.h: Likewise.
100893         * lib/full-read.c: Likewise.
100894         * lib/full-read.h: Likewise.
100895         * lib/full-write.c: Likewise.
100896         * lib/full-write.h: Likewise.
100897         * lib/fwritable.c: Likewise.
100898         * lib/fwritable.h: Likewise.
100899         * lib/fwriteerror.c: Likewise.
100900         * lib/fwriteerror.h: Likewise.
100901         * lib/fwriting.c: Likewise.
100902         * lib/fwriting.h: Likewise.
100903         * lib/gcd.c: Likewise.
100904         * lib/gcd.h: Likewise.
100905         * lib/getcwd.c: Likewise.
100906         * lib/getdate.h: Likewise.
100907         * lib/getdate.y: Likewise.
100908         * lib/getdomainname.c: Likewise.
100909         * lib/getdomainname.h: Likewise.
100910         * lib/getgroups.c: Likewise.
100911         * lib/gethostname.c: Likewise.
100912         * lib/gethrxtime.c: Likewise.
100913         * lib/gethrxtime.h: Likewise.
100914         * lib/getloadavg.c: Likewise.
100915         * lib/getndelim2.c: Likewise.
100916         * lib/getndelim2.h: Likewise.
100917         * lib/getnline.c: Likewise.
100918         * lib/getnline.h: Likewise.
100919         * lib/getopt.c: Likewise.
100920         * lib/getopt.in.h: Likewise.
100921         * lib/getopt1.c: Likewise.
100922         * lib/getopt_int.h: Likewise.
100923         * lib/getpagesize.h: Likewise.
100924         * lib/getsubopt.c: Likewise.
100925         * lib/gettime.c: Likewise.
100926         * lib/getugroups.c: Likewise.
100927         * lib/getugroups.h: Likewise.
100928         * lib/getusershell.c: Likewise.
100929         * lib/gl_anyavltree_list1.h: Likewise.
100930         * lib/gl_anyavltree_list2.h: Likewise.
100931         * lib/gl_anyhash_list1.h: Likewise.
100932         * lib/gl_anyhash_list2.h: Likewise.
100933         * lib/gl_anylinked_list1.h: Likewise.
100934         * lib/gl_anylinked_list2.h: Likewise.
100935         * lib/gl_anyrbtree_list1.h: Likewise.
100936         * lib/gl_anyrbtree_list2.h: Likewise.
100937         * lib/gl_anytree_list1.h: Likewise.
100938         * lib/gl_anytree_list2.h: Likewise.
100939         * lib/gl_anytree_oset.h: Likewise.
100940         * lib/gl_anytreehash_list1.h: Likewise.
100941         * lib/gl_anytreehash_list2.h: Likewise.
100942         * lib/gl_array_list.c: Likewise.
100943         * lib/gl_array_list.h: Likewise.
100944         * lib/gl_array_oset.c: Likewise.
100945         * lib/gl_array_oset.h: Likewise.
100946         * lib/gl_avltree_list.c: Likewise.
100947         * lib/gl_avltree_list.h: Likewise.
100948         * lib/gl_avltree_oset.c: Likewise.
100949         * lib/gl_avltree_oset.h: Likewise.
100950         * lib/gl_avltreehash_list.c: Likewise.
100951         * lib/gl_avltreehash_list.h: Likewise.
100952         * lib/gl_carray_list.c: Likewise.
100953         * lib/gl_carray_list.h: Likewise.
100954         * lib/gl_linked_list.c: Likewise.
100955         * lib/gl_linked_list.h: Likewise.
100956         * lib/gl_linkedhash_list.c: Likewise.
100957         * lib/gl_linkedhash_list.h: Likewise.
100958         * lib/gl_list.c: Likewise.
100959         * lib/gl_list.h: Likewise.
100960         * lib/gl_oset.c: Likewise.
100961         * lib/gl_oset.h: Likewise.
100962         * lib/gl_rbtree_list.c: Likewise.
100963         * lib/gl_rbtree_list.h: Likewise.
100964         * lib/gl_rbtree_oset.c: Likewise.
100965         * lib/gl_rbtree_oset.h: Likewise.
100966         * lib/gl_rbtreehash_list.c: Likewise.
100967         * lib/gl_rbtreehash_list.h: Likewise.
100968         * lib/gl_sublist.c: Likewise.
100969         * lib/gl_sublist.h: Likewise.
100970         * lib/group-member.c: Likewise.
100971         * lib/group-member.h: Likewise.
100972         * lib/hard-locale.c: Likewise.
100973         * lib/hard-locale.h: Likewise.
100974         * lib/hash-pjw.c: Likewise.
100975         * lib/hash-pjw.h: Likewise.
100976         * lib/hash-triple.c: Likewise.
100977         * lib/hash.c: Likewise.
100978         * lib/hash.h: Likewise.
100979         * lib/human.c: Likewise.
100980         * lib/human.h: Likewise.
100981         * lib/i-ring.c: Likewise.
100982         * lib/i-ring.h: Likewise.
100983         * lib/idcache.c: Likewise.
100984         * lib/imaxabs.c: Likewise.
100985         * lib/imaxdiv.c: Likewise.
100986         * lib/inet_pton.c: Likewise.
100987         * lib/inet_pton.h: Likewise.
100988         * lib/intprops.h: Likewise.
100989         * lib/inttostr.c: Likewise.
100990         * lib/inttostr.h: Likewise.
100991         * lib/inttypes.in.h: Likewise.
100992         * lib/isapipe.c: Likewise.
100993         * lib/isdir.c: Likewise.
100994         * lib/isnan.c: Likewise.
100995         * lib/isnan.h: Likewise.
100996         * lib/isnanf.c: Likewise.
100997         * lib/isnanf.h: Likewise.
100998         * lib/isnanl-nolibm.h: Likewise.
100999         * lib/isnanl.c: Likewise.
101000         * lib/isnanl.h: Likewise.
101001         * lib/javacomp.c: Likewise.
101002         * lib/javacomp.h: Likewise.
101003         * lib/javaexec.c: Likewise.
101004         * lib/javaexec.h: Likewise.
101005         * lib/javaversion.c: Likewise.
101006         * lib/javaversion.h: Likewise.
101007         * lib/javaversion.java: Likewise.
101008         * lib/lbrkprop.h: Likewise.
101009         * lib/lchmod.h: Likewise.
101010         * lib/lchown.c: Likewise.
101011         * lib/ldexpl.c: Likewise.
101012         * lib/linebreak.c: Likewise.
101013         * lib/linebreak.h: Likewise.
101014         * lib/linebuffer.c: Likewise.
101015         * lib/linebuffer.h: Likewise.
101016         * lib/locale.in.h: Likewise.
101017         * lib/logl.c: Likewise.
101018         * lib/long-options.c: Likewise.
101019         * lib/long-options.h: Likewise.
101020         * lib/lstat.c: Likewise.
101021         * lib/lstat.h: Likewise.
101022         * lib/math.in.h: Likewise.
101023         * lib/mbchar.c: Likewise.
101024         * lib/mbchar.h: Likewise.
101025         * lib/mbfile.h: Likewise.
101026         * lib/mbiter.h: Likewise.
101027         * lib/mbscasecmp.c: Likewise.
101028         * lib/mbscasestr.c: Likewise.
101029         * lib/mbschr.c: Likewise.
101030         * lib/mbscspn.c: Likewise.
101031         * lib/mbslen.c: Likewise.
101032         * lib/mbsncasecmp.c: Likewise.
101033         * lib/mbsnlen.c: Likewise.
101034         * lib/mbspbrk.c: Likewise.
101035         * lib/mbspcasecmp.c: Likewise.
101036         * lib/mbsrchr.c: Likewise.
101037         * lib/mbssep.c: Likewise.
101038         * lib/mbsspn.c: Likewise.
101039         * lib/mbsstr.c: Likewise.
101040         * lib/mbstok_r.c: Likewise.
101041         * lib/mbswidth.c: Likewise.
101042         * lib/mbswidth.h: Likewise.
101043         * lib/mbuiter.h: Likewise.
101044         * lib/memcasecmp.c: Likewise.
101045         * lib/memcasecmp.h: Likewise.
101046         * lib/memchr.c: Likewise.
101047         * lib/memcmp.c: Likewise.
101048         * lib/memcoll.c: Likewise.
101049         * lib/memcoll.h: Likewise.
101050         * lib/memcpy.c: Likewise.
101051         * lib/memrchr.c: Likewise.
101052         * lib/mkancesdirs.c: Likewise.
101053         * lib/mkdir-p.c: Likewise.
101054         * lib/mkdir-p.h: Likewise.
101055         * lib/mkdir.c: Likewise.
101056         * lib/mkdirat.c: Likewise.
101057         * lib/mkdtemp.c: Likewise.
101058         * lib/mkstemp-safer.c: Likewise.
101059         * lib/mkstemp.c: Likewise.
101060         * lib/modechange.c: Likewise.
101061         * lib/modechange.h: Likewise.
101062         * lib/mountlist.c: Likewise.
101063         * lib/mountlist.h: Likewise.
101064         * lib/mpsort.c: Likewise.
101065         * lib/nanosleep.c: Likewise.
101066         * lib/obstack.c: Likewise.
101067         * lib/obstack.h: Likewise.
101068         * lib/open-safer.c: Likewise.
101069         * lib/open.c: Likewise.
101070         * lib/openat-die.c: Likewise.
101071         * lib/openat-priv.h: Likewise.
101072         * lib/openat-proc.c: Likewise.
101073         * lib/openat.c: Likewise.
101074         * lib/openat.h: Likewise.
101075         * lib/pagealign_alloc.c: Likewise.
101076         * lib/pagealign_alloc.h: Likewise.
101077         * lib/physmem.c: Likewise.
101078         * lib/physmem.h: Likewise.
101079         * lib/pipe-safer.c: Likewise.
101080         * lib/pipe.c: Likewise.
101081         * lib/pipe.h: Likewise.
101082         * lib/posixtm.c: Likewise.
101083         * lib/posixtm.h: Likewise.
101084         * lib/posixver.c: Likewise.
101085         * lib/printf-frexp.c: Likewise.
101086         * lib/printf-frexp.h: Likewise.
101087         * lib/printf-frexpl.c: Likewise.
101088         * lib/printf-frexpl.h: Likewise.
101089         * lib/printf.c: Likewise.
101090         * lib/progname.c: Likewise.
101091         * lib/progname.h: Likewise.
101092         * lib/progreloc.c: Likewise.
101093         * lib/putenv.c: Likewise.
101094         * lib/quote.c: Likewise.
101095         * lib/quote.h: Likewise.
101096         * lib/quotearg.c: Likewise.
101097         * lib/quotearg.h: Likewise.
101098         * lib/raise.c: Likewise.
101099         * lib/readline.c: Likewise.
101100         * lib/readline.h: Likewise.
101101         * lib/readlink.c: Likewise.
101102         * lib/readtokens.c: Likewise.
101103         * lib/readtokens.h: Likewise.
101104         * lib/readtokens0.c: Likewise.
101105         * lib/readtokens0.h: Likewise.
101106         * lib/readutmp.c: Likewise.
101107         * lib/readutmp.h: Likewise.
101108         * lib/realloc.c: Likewise.
101109         * lib/relocwrapper.c: Likewise.
101110         * lib/rename-dest-slash.c: Likewise.
101111         * lib/rename.c: Likewise.
101112         * lib/rmdir.c: Likewise.
101113         * lib/rpmatch.c: Likewise.
101114         * lib/safe-read.c: Likewise.
101115         * lib/safe-read.h: Likewise.
101116         * lib/safe-write.c: Likewise.
101117         * lib/safe-write.h: Likewise.
101118         * lib/same-inode.h: Likewise.
101119         * lib/same.c: Likewise.
101120         * lib/same.h: Likewise.
101121         * lib/save-cwd.c: Likewise.
101122         * lib/save-cwd.h: Likewise.
101123         * lib/savedir.c: Likewise.
101124         * lib/savedir.h: Likewise.
101125         * lib/savewd.c: Likewise.
101126         * lib/savewd.h: Likewise.
101127         * lib/search.in.h: Likewise.
101128         * lib/setenv.c: Likewise.
101129         * lib/setenv.h: Likewise.
101130         * lib/settime.c: Likewise.
101131         * lib/sh-quote.c: Likewise.
101132         * lib/sh-quote.h: Likewise.
101133         * lib/sig2str.c: Likewise.
101134         * lib/sig2str.h: Likewise.
101135         * lib/signal.in.h: Likewise.
101136         * lib/signbitd.c: Likewise.
101137         * lib/signbitf.c: Likewise.
101138         * lib/signbitl.c: Likewise.
101139         * lib/sigprocmask.c: Likewise.
101140         * lib/sincosl.c: Likewise.
101141         * lib/sleep.c: Likewise.
101142         * lib/sprintf.c: Likewise.
101143         * lib/sqrtl.c: Likewise.
101144         * lib/stat-time.h: Likewise.
101145         * lib/stdio--.h: Likewise.
101146         * lib/stdio-safer.h: Likewise.
101147         * lib/stdlib--.h: Likewise.
101148         * lib/stdlib-safer.h: Likewise.
101149         * lib/stdlib.in.h: Likewise.
101150         * lib/stpcpy.c: Likewise.
101151         * lib/stpncpy.c: Likewise.
101152         * lib/strchrnul.c: Likewise.
101153         * lib/strcspn.c: Likewise.
101154         * lib/strerror.c: Likewise.
101155         * lib/strftime.c: Likewise.
101156         * lib/strftime.h: Likewise.
101157         * lib/striconveh.c: Likewise.
101158         * lib/striconveh.h: Likewise.
101159         * lib/striconveha.c: Likewise.
101160         * lib/striconveha.h: Likewise.
101161         * lib/stripslash.c: Likewise.
101162         * lib/strnlen1.c: Likewise.
101163         * lib/strnlen1.h: Likewise.
101164         * lib/strtod.c: Likewise.
101165         * lib/strtoimax.c: Likewise.
101166         * lib/strtok_r.c: Likewise.
101167         * lib/strtol.c: Likewise.
101168         * lib/strtoll.c: Likewise.
101169         * lib/strtoul.c: Likewise.
101170         * lib/strtoull.c: Likewise.
101171         * lib/sysexits.in.h: Likewise.
101172         * lib/tempname.c: Likewise.
101173         * lib/tempname.h: Likewise.
101174         * lib/timespec.h: Likewise.
101175         * lib/tls.c: Likewise.
101176         * lib/tls.h: Likewise.
101177         * lib/tmpdir.c: Likewise.
101178         * lib/tmpdir.h: Likewise.
101179         * lib/tmpfile-safer.c: Likewise.
101180         * lib/tmpfile.c: Likewise.
101181         * lib/trigl.c: Likewise.
101182         * lib/trigl.h: Likewise.
101183         * lib/trim.c: Likewise.
101184         * lib/trim.h: Likewise.
101185         * lib/trunc.c: Likewise.
101186         * lib/truncf.c: Likewise.
101187         * lib/truncl.c: Likewise.
101188         * lib/tsearch.c: Likewise.
101189         * lib/unicodeio.c: Likewise.
101190         * lib/unicodeio.h: Likewise.
101191         * lib/unistd--.h: Likewise.
101192         * lib/unistd-safer.h: Likewise.
101193         * lib/unistdio/ulc-fprintf.c: Likewise.
101194         * lib/unistdio/ulc-vfprintf.c: Likewise.
101195         * lib/unlinkdir.c: Likewise.
101196         * lib/unlinkdir.h: Likewise.
101197         * lib/unlocked-io.h: Likewise.
101198         * lib/unsetenv.c: Likewise.
101199         * lib/userspec.c: Likewise.
101200         * lib/utime.c: Likewise.
101201         * lib/utimecmp.c: Likewise.
101202         * lib/utimecmp.h: Likewise.
101203         * lib/utimens.c: Likewise.
101204         * lib/verify.h: Likewise.
101205         * lib/verror.c: Likewise.
101206         * lib/verror.h: Likewise.
101207         * lib/version-etc-fsf.c: Likewise.
101208         * lib/version-etc.c: Likewise.
101209         * lib/version-etc.h: Likewise.
101210         * lib/vfprintf.c: Likewise.
101211         * lib/vprintf.c: Likewise.
101212         * lib/vsprintf.c: Likewise.
101213         * lib/w32spawn.h: Likewise.
101214         * lib/wait-process.c: Likewise.
101215         * lib/wait-process.h: Likewise.
101216         * lib/wcwidth.c: Likewise.
101217         * lib/write-any-file.c: Likewise.
101218         * lib/xalloc-die.c: Likewise.
101219         * lib/xalloc.h: Likewise.
101220         * lib/xasprintf.c: Likewise.
101221         * lib/xgetcwd.c: Likewise.
101222         * lib/xgetcwd.h: Likewise.
101223         * lib/xgetdomainname.c: Likewise.
101224         * lib/xgetdomainname.h: Likewise.
101225         * lib/xgethostname.c: Likewise.
101226         * lib/xmalloc.c: Likewise.
101227         * lib/xmalloca.c: Likewise.
101228         * lib/xmalloca.h: Likewise.
101229         * lib/xmemcoll.c: Likewise.
101230         * lib/xnanosleep.c: Likewise.
101231         * lib/xreadlink.c: Likewise.
101232         * lib/xreadlink.h: Likewise.
101233         * lib/xsetenv.c: Likewise.
101234         * lib/xsetenv.h: Likewise.
101235         * lib/xstriconv.c: Likewise.
101236         * lib/xstriconv.h: Likewise.
101237         * lib/xstrndup.c: Likewise.
101238         * lib/xstrndup.h: Likewise.
101239         * lib/xstrtod.c: Likewise.
101240         * lib/xstrtod.h: Likewise.
101241         * lib/xstrtol-error.c: Likewise.
101242         * lib/xstrtol.c: Likewise.
101243         * lib/xstrtol.h: Likewise.
101244         * lib/xtime.h: Likewise.
101245         * lib/xvasprintf.c: Likewise.
101246         * lib/xvasprintf.h: Likewise.
101247         * lib/yesno.c: Likewise.
101248         * lib/yesno.h: Likewise.
101249         * posix-modules: Likewise.
101250         * tests/test-alloca-opt.c: Likewise.
101251         * tests/test-arcfour.c: Likewise.
101252         * tests/test-arctwo.c: Likewise.
101253         * tests/test-argmatch.c: Likewise.
101254         * tests/test-argp-2.sh: Likewise.
101255         * tests/test-argp.c: Likewise.
101256         * tests/test-arpa_inet.c: Likewise.
101257         * tests/test-array_list.c: Likewise.
101258         * tests/test-array_oset.c: Likewise.
101259         * tests/test-atexit.c: Likewise.
101260         * tests/test-avltree_list.c: Likewise.
101261         * tests/test-avltree_oset.c: Likewise.
101262         * tests/test-avltreehash_list.c: Likewise.
101263         * tests/test-base64.c: Likewise.
101264         * tests/test-binary-io.c: Likewise.
101265         * tests/test-byteswap.c: Likewise.
101266         * tests/test-c-ctype.c: Likewise.
101267         * tests/test-c-strcasecmp.c: Likewise.
101268         * tests/test-c-strcasestr.c: Likewise.
101269         * tests/test-c-strncasecmp.c: Likewise.
101270         * tests/test-c-strstr.c: Likewise.
101271         * tests/test-canonicalize-lgpl.c: Likewise.
101272         * tests/test-canonicalize.c: Likewise.
101273         * tests/test-carray_list.c: Likewise.
101274         * tests/test-ceilf.c: Likewise.
101275         * tests/test-ceill.c: Likewise.
101276         * tests/test-count-one-bits.c: Likewise.
101277         * tests/test-crc.c: Likewise.
101278         * tests/test-dirname.c: Likewise.
101279         * tests/test-fbufmode.c: Likewise.
101280         * tests/test-fcntl.c: Likewise.
101281         * tests/test-fflush.c: Likewise.
101282         * tests/test-floorf.c: Likewise.
101283         * tests/test-floorl.c: Likewise.
101284         * tests/test-fopen.c: Likewise.
101285         * tests/test-fprintf-posix.c: Likewise.
101286         * tests/test-fprintf-posix.h: Likewise.
101287         * tests/test-fpurge.c: Likewise.
101288         * tests/test-freadable.c: Likewise.
101289         * tests/test-freadahead.c: Likewise.
101290         * tests/test-freading.c: Likewise.
101291         * tests/test-freopen.c: Likewise.
101292         * tests/test-frexp.c: Likewise.
101293         * tests/test-frexpl.c: Likewise.
101294         * tests/test-fseek.c: Likewise.
101295         * tests/test-fseeko.c: Likewise.
101296         * tests/test-fseterr.c: Likewise.
101297         * tests/test-fstrcmp.c: Likewise.
101298         * tests/test-ftell.c: Likewise.
101299         * tests/test-ftello.c: Likewise.
101300         * tests/test-fwritable.c: Likewise.
101301         * tests/test-fwriting.c: Likewise.
101302         * tests/test-getaddrinfo.c: Likewise.
101303         * tests/test-getpass.c: Likewise.
101304         * tests/test-gettimeofday.c: Likewise.
101305         * tests/test-hmac-md5.c: Likewise.
101306         * tests/test-hmac-sha1.c: Likewise.
101307         * tests/test-iconv.c: Likewise.
101308         * tests/test-iconvme.c: Likewise.
101309         * tests/test-inttypes.c: Likewise.
101310         * tests/test-isnan.c: Likewise.
101311         * tests/test-isnanf.c: Likewise.
101312         * tests/test-isnanl-nolibm.c: Likewise.
101313         * tests/test-isnanl.c: Likewise.
101314         * tests/test-isnanl.h: Likewise.
101315         * tests/test-ldexpl.c: Likewise.
101316         * tests/test-linked_list.c: Likewise.
101317         * tests/test-linkedhash_list.c: Likewise.
101318         * tests/test-locale.c: Likewise.
101319         * tests/test-localename.c: Likewise.
101320         * tests/test-lock.c: Likewise.
101321         * tests/test-lseek.c: Likewise.
101322         * tests/test-malloca.c: Likewise.
101323         * tests/test-math.c: Likewise.
101324         * tests/test-mbscasecmp.c: Likewise.
101325         * tests/test-mbscasestr1.c: Likewise.
101326         * tests/test-mbscasestr2.c: Likewise.
101327         * tests/test-mbscasestr3.c: Likewise.
101328         * tests/test-mbscasestr4.c: Likewise.
101329         * tests/test-mbschr.c: Likewise.
101330         * tests/test-mbscspn.c: Likewise.
101331         * tests/test-mbsncasecmp.c: Likewise.
101332         * tests/test-mbspbrk.c: Likewise.
101333         * tests/test-mbspcasecmp.c: Likewise.
101334         * tests/test-mbsrchr.c: Likewise.
101335         * tests/test-mbsspn.c: Likewise.
101336         * tests/test-mbsstr1.c: Likewise.
101337         * tests/test-mbsstr2.c: Likewise.
101338         * tests/test-mbsstr3.c: Likewise.
101339         * tests/test-md5.c: Likewise.
101340         * tests/test-memmem.c: Likewise.
101341         * tests/test-netinet_in.c: Likewise.
101342         * tests/test-open.c: Likewise.
101343         * tests/test-printf-frexp.c: Likewise.
101344         * tests/test-printf-frexpl.c: Likewise.
101345         * tests/test-printf-posix.c: Likewise.
101346         * tests/test-printf-posix.h: Likewise.
101347         * tests/test-rbtree_list.c: Likewise.
101348         * tests/test-rbtree_oset.c: Likewise.
101349         * tests/test-rbtreehash_list.c: Likewise.
101350         * tests/test-read-file.c: Likewise.
101351         * tests/test-rijndael.c: Likewise.
101352         * tests/test-search.c: Likewise.
101353         * tests/test-signbit.c: Likewise.
101354         * tests/test-sleep.c: Likewise.
101355         * tests/test-snprintf-posix.c: Likewise.
101356         * tests/test-snprintf-posix.h: Likewise.
101357         * tests/test-snprintf.c: Likewise.
101358         * tests/test-sprintf-posix.c: Likewise.
101359         * tests/test-sprintf-posix.h: Likewise.
101360         * tests/test-stat-time.c: Likewise.
101361         * tests/test-stdbool.c: Likewise.
101362         * tests/test-stdint.c: Likewise.
101363         * tests/test-stdio.c: Likewise.
101364         * tests/test-stdlib.c: Likewise.
101365         * tests/test-stpncpy.c: Likewise.
101366         * tests/test-strcasestr.c: Likewise.
101367         * tests/test-striconv.c: Likewise.
101368         * tests/test-striconveh.c: Likewise.
101369         * tests/test-striconveha.c: Likewise.
101370         * tests/test-string.c: Likewise.
101371         * tests/test-sys_select.c: Likewise.
101372         * tests/test-sys_socket.c: Likewise.
101373         * tests/test-sys_stat.c: Likewise.
101374         * tests/test-sys_time.c: Likewise.
101375         * tests/test-sysexits.c: Likewise.
101376         * tests/test-time.c: Likewise.
101377         * tests/test-tls.c: Likewise.
101378         * tests/test-trunc.c: Likewise.
101379         * tests/test-truncf.c: Likewise.
101380         * tests/test-truncl.c: Likewise.
101381         * tests/test-unistd.c: Likewise.
101382         * tests/test-vasnprintf-posix.c: Likewise.
101383         * tests/test-vasnprintf-posix2.c: Likewise.
101384         * tests/test-vasnprintf.c: Likewise.
101385         * tests/test-vasprintf-posix.c: Likewise.
101386         * tests/test-vasprintf.c: Likewise.
101387         * tests/test-verify.c: Likewise.
101388         * tests/test-vfprintf-posix.c: Likewise.
101389         * tests/test-vprintf-posix.c: Likewise.
101390         * tests/test-vsnprintf-posix.c: Likewise.
101391         * tests/test-vsnprintf.c: Likewise.
101392         * tests/test-vsprintf-posix.c: Likewise.
101393         * tests/test-wchar.c: Likewise.
101394         * tests/test-wctype.c: Likewise.
101395         * tests/test-wcwidth.c: Likewise.
101396         * tests/test-xstrtol.c: Likewise.
101397         * tests/test-xvasprintf.c: Likewise.
101398         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
101399         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
101400         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
101401         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
101402         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
101403         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
101404         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
101405         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
101406         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
101407         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
101408         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
101409         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
101410         * tests/uniname/test-uninames.c: Likewise.
101411         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
101412         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
101413         * tests/unistdio/test-u16-printf1.h: Likewise.
101414         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
101415         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
101416         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
101417         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
101418         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
101419         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
101420         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
101421         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
101422         * tests/unistdio/test-u32-printf1.h: Likewise.
101423         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
101424         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
101425         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
101426         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
101427         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
101428         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
101429         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
101430         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
101431         * tests/unistdio/test-u8-printf1.h: Likewise.
101432         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
101433         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
101434         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
101435         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
101436         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
101437         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
101438         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
101439         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
101440         * tests/unistdio/test-ulc-printf1.h: Likewise.
101441         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
101442         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
101443         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
101444         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
101445         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
101446         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
101447         * tests/uniwidth/test-u16-strwidth.c: Likewise.
101448         * tests/uniwidth/test-u16-width.c: Likewise.
101449         * tests/uniwidth/test-u32-strwidth.c: Likewise.
101450         * tests/uniwidth/test-u32-width.c: Likewise.
101451         * tests/uniwidth/test-u8-strwidth.c: Likewise.
101452         * tests/uniwidth/test-u8-width.c: Likewise.
101453         * tests/uniwidth/test-uc_width.c: Likewise.
101454         * config/srclist-update: Likewise.
101455         (fixlicense): Update to GPLv3+.
101457         Change copyright notice from LGPLv2.1+ to LGPLv3+.
101458         * tests/test-tsearch.c: Change copyright notice.
101460         Change copyright notice from LGPLv2.0+ to LGPLv3+.
101461         * lib/c-strcaseeq.h: Change copyright notice.
101462         * lib/streq.h: Likewise.
101463         * lib/uniconv.h: Likewise.
101464         * lib/uniconv/u-conv-from-enc.h: Likewise.
101465         * lib/uniconv/u-conv-to-enc.h: Likewise.
101466         * lib/uniconv/u-strconv-from-enc.h: Likewise.
101467         * lib/uniconv/u-strconv-to-enc.h: Likewise.
101468         * lib/uniconv/u16-conv-from-enc.c: Likewise.
101469         * lib/uniconv/u16-conv-to-enc.c: Likewise.
101470         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
101471         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
101472         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
101473         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
101474         * lib/uniconv/u32-conv-from-enc.c: Likewise.
101475         * lib/uniconv/u32-conv-to-enc.c: Likewise.
101476         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
101477         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
101478         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
101479         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
101480         * lib/uniconv/u8-conv-from-enc.c: Likewise.
101481         * lib/uniconv/u8-conv-to-enc.c: Likewise.
101482         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
101483         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
101484         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
101485         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
101486         * lib/uniname.h: Likewise.
101487         * lib/uniname/uniname.c: Likewise.
101488         * lib/unistdio.h: Likewise.
101489         * lib/unistdio/u-asnprintf.h: Likewise.
101490         * lib/unistdio/u-asprintf.h: Likewise.
101491         * lib/unistdio/u-printf-args.c: Likewise.
101492         * lib/unistdio/u-printf-args.h: Likewise.
101493         * lib/unistdio/u-printf-parse.h: Likewise.
101494         * lib/unistdio/u-snprintf.h: Likewise.
101495         * lib/unistdio/u-sprintf.h: Likewise.
101496         * lib/unistdio/u-vasprintf.h: Likewise.
101497         * lib/unistdio/u-vsnprintf.h: Likewise.
101498         * lib/unistdio/u-vsprintf.h: Likewise.
101499         * lib/unistdio/u16-asnprintf.c: Likewise.
101500         * lib/unistdio/u16-asprintf.c: Likewise.
101501         * lib/unistdio/u16-printf-parse.c: Likewise.
101502         * lib/unistdio/u16-snprintf.c: Likewise.
101503         * lib/unistdio/u16-sprintf.c: Likewise.
101504         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
101505         * lib/unistdio/u16-u16-asprintf.c: Likewise.
101506         * lib/unistdio/u16-u16-snprintf.c: Likewise.
101507         * lib/unistdio/u16-u16-sprintf.c: Likewise.
101508         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
101509         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
101510         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
101511         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
101512         * lib/unistdio/u16-vasnprintf.c: Likewise.
101513         * lib/unistdio/u16-vasprintf.c: Likewise.
101514         * lib/unistdio/u16-vsnprintf.c: Likewise.
101515         * lib/unistdio/u16-vsprintf.c: Likewise.
101516         * lib/unistdio/u32-asnprintf.c: Likewise.
101517         * lib/unistdio/u32-asprintf.c: Likewise.
101518         * lib/unistdio/u32-printf-parse.c: Likewise.
101519         * lib/unistdio/u32-snprintf.c: Likewise.
101520         * lib/unistdio/u32-sprintf.c: Likewise.
101521         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
101522         * lib/unistdio/u32-u32-asprintf.c: Likewise.
101523         * lib/unistdio/u32-u32-snprintf.c: Likewise.
101524         * lib/unistdio/u32-u32-sprintf.c: Likewise.
101525         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
101526         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
101527         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
101528         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
101529         * lib/unistdio/u32-vasnprintf.c: Likewise.
101530         * lib/unistdio/u32-vasprintf.c: Likewise.
101531         * lib/unistdio/u32-vsnprintf.c: Likewise.
101532         * lib/unistdio/u32-vsprintf.c: Likewise.
101533         * lib/unistdio/u8-asnprintf.c: Likewise.
101534         * lib/unistdio/u8-asprintf.c: Likewise.
101535         * lib/unistdio/u8-printf-parse.c: Likewise.
101536         * lib/unistdio/u8-snprintf.c: Likewise.
101537         * lib/unistdio/u8-sprintf.c: Likewise.
101538         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
101539         * lib/unistdio/u8-u8-asprintf.c: Likewise.
101540         * lib/unistdio/u8-u8-snprintf.c: Likewise.
101541         * lib/unistdio/u8-u8-sprintf.c: Likewise.
101542         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
101543         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
101544         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
101545         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
101546         * lib/unistdio/u8-vasnprintf.c: Likewise.
101547         * lib/unistdio/u8-vasprintf.c: Likewise.
101548         * lib/unistdio/u8-vsnprintf.c: Likewise.
101549         * lib/unistdio/u8-vsprintf.c: Likewise.
101550         * lib/unistdio/ulc-asnprintf.c: Likewise.
101551         * lib/unistdio/ulc-asprintf.c: Likewise.
101552         * lib/unistdio/ulc-printf-parse.c: Likewise.
101553         * lib/unistdio/ulc-snprintf.c: Likewise.
101554         * lib/unistdio/ulc-sprintf.c: Likewise.
101555         * lib/unistdio/ulc-vasnprintf.c: Likewise.
101556         * lib/unistdio/ulc-vasprintf.c: Likewise.
101557         * lib/unistdio/ulc-vsnprintf.c: Likewise.
101558         * lib/unistdio/ulc-vsprintf.c: Likewise.
101559         * lib/unistr.h: Likewise.
101560         * lib/unistr/u-cpy-alloc.h: Likewise.
101561         * lib/unistr/u-cpy.h: Likewise.
101562         * lib/unistr/u-endswith.h: Likewise.
101563         * lib/unistr/u-move.h: Likewise.
101564         * lib/unistr/u-set.h: Likewise.
101565         * lib/unistr/u-startswith.h: Likewise.
101566         * lib/unistr/u-stpcpy.h: Likewise.
101567         * lib/unistr/u-stpncpy.h: Likewise.
101568         * lib/unistr/u-strcat.h: Likewise.
101569         * lib/unistr/u-strcpy.h: Likewise.
101570         * lib/unistr/u-strcspn.h: Likewise.
101571         * lib/unistr/u-strdup.h: Likewise.
101572         * lib/unistr/u-strlen.h: Likewise.
101573         * lib/unistr/u-strncat.h: Likewise.
101574         * lib/unistr/u-strncpy.h: Likewise.
101575         * lib/unistr/u-strnlen.h: Likewise.
101576         * lib/unistr/u-strpbrk.h: Likewise.
101577         * lib/unistr/u-strspn.h: Likewise.
101578         * lib/unistr/u-strstr.h: Likewise.
101579         * lib/unistr/u-strtok.h: Likewise.
101580         * lib/unistr/u16-check.c: Likewise.
101581         * lib/unistr/u16-chr.c: Likewise.
101582         * lib/unistr/u16-cmp.c: Likewise.
101583         * lib/unistr/u16-cpy-alloc.c: Likewise.
101584         * lib/unistr/u16-cpy.c: Likewise.
101585         * lib/unistr/u16-endswith.c: Likewise.
101586         * lib/unistr/u16-mblen.c: Likewise.
101587         * lib/unistr/u16-mbsnlen.c: Likewise.
101588         * lib/unistr/u16-mbtouc-aux.c: Likewise.
101589         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
101590         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
101591         * lib/unistr/u16-mbtouc.c: Likewise.
101592         * lib/unistr/u16-mbtoucr.c: Likewise.
101593         * lib/unistr/u16-move.c: Likewise.
101594         * lib/unistr/u16-next.c: Likewise.
101595         * lib/unistr/u16-prev.c: Likewise.
101596         * lib/unistr/u16-set.c: Likewise.
101597         * lib/unistr/u16-startswith.c: Likewise.
101598         * lib/unistr/u16-stpcpy.c: Likewise.
101599         * lib/unistr/u16-stpncpy.c: Likewise.
101600         * lib/unistr/u16-strcat.c: Likewise.
101601         * lib/unistr/u16-strchr.c: Likewise.
101602         * lib/unistr/u16-strcmp.c: Likewise.
101603         * lib/unistr/u16-strcpy.c: Likewise.
101604         * lib/unistr/u16-strcspn.c: Likewise.
101605         * lib/unistr/u16-strdup.c: Likewise.
101606         * lib/unistr/u16-strlen.c: Likewise.
101607         * lib/unistr/u16-strmblen.c: Likewise.
101608         * lib/unistr/u16-strmbtouc.c: Likewise.
101609         * lib/unistr/u16-strncat.c: Likewise.
101610         * lib/unistr/u16-strncmp.c: Likewise.
101611         * lib/unistr/u16-strncpy.c: Likewise.
101612         * lib/unistr/u16-strnlen.c: Likewise.
101613         * lib/unistr/u16-strpbrk.c: Likewise.
101614         * lib/unistr/u16-strrchr.c: Likewise.
101615         * lib/unistr/u16-strspn.c: Likewise.
101616         * lib/unistr/u16-strstr.c: Likewise.
101617         * lib/unistr/u16-strtok.c: Likewise.
101618         * lib/unistr/u16-to-u32.c: Likewise.
101619         * lib/unistr/u16-to-u8.c: Likewise.
101620         * lib/unistr/u16-uctomb-aux.c: Likewise.
101621         * lib/unistr/u16-uctomb.c: Likewise.
101622         * lib/unistr/u32-check.c: Likewise.
101623         * lib/unistr/u32-chr.c: Likewise.
101624         * lib/unistr/u32-cmp.c: Likewise.
101625         * lib/unistr/u32-cpy-alloc.c: Likewise.
101626         * lib/unistr/u32-cpy.c: Likewise.
101627         * lib/unistr/u32-endswith.c: Likewise.
101628         * lib/unistr/u32-mblen.c: Likewise.
101629         * lib/unistr/u32-mbsnlen.c: Likewise.
101630         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
101631         * lib/unistr/u32-mbtouc.c: Likewise.
101632         * lib/unistr/u32-mbtoucr.c: Likewise.
101633         * lib/unistr/u32-move.c: Likewise.
101634         * lib/unistr/u32-next.c: Likewise.
101635         * lib/unistr/u32-prev.c: Likewise.
101636         * lib/unistr/u32-set.c: Likewise.
101637         * lib/unistr/u32-startswith.c: Likewise.
101638         * lib/unistr/u32-stpcpy.c: Likewise.
101639         * lib/unistr/u32-stpncpy.c: Likewise.
101640         * lib/unistr/u32-strcat.c: Likewise.
101641         * lib/unistr/u32-strchr.c: Likewise.
101642         * lib/unistr/u32-strcmp.c: Likewise.
101643         * lib/unistr/u32-strcpy.c: Likewise.
101644         * lib/unistr/u32-strcspn.c: Likewise.
101645         * lib/unistr/u32-strdup.c: Likewise.
101646         * lib/unistr/u32-strlen.c: Likewise.
101647         * lib/unistr/u32-strmblen.c: Likewise.
101648         * lib/unistr/u32-strmbtouc.c: Likewise.
101649         * lib/unistr/u32-strncat.c: Likewise.
101650         * lib/unistr/u32-strncmp.c: Likewise.
101651         * lib/unistr/u32-strncpy.c: Likewise.
101652         * lib/unistr/u32-strnlen.c: Likewise.
101653         * lib/unistr/u32-strpbrk.c: Likewise.
101654         * lib/unistr/u32-strrchr.c: Likewise.
101655         * lib/unistr/u32-strspn.c: Likewise.
101656         * lib/unistr/u32-strstr.c: Likewise.
101657         * lib/unistr/u32-strtok.c: Likewise.
101658         * lib/unistr/u32-to-u16.c: Likewise.
101659         * lib/unistr/u32-to-u8.c: Likewise.
101660         * lib/unistr/u32-uctomb.c: Likewise.
101661         * lib/unistr/u8-check.c: Likewise.
101662         * lib/unistr/u8-chr.c: Likewise.
101663         * lib/unistr/u8-cmp.c: Likewise.
101664         * lib/unistr/u8-cpy-alloc.c: Likewise.
101665         * lib/unistr/u8-cpy.c: Likewise.
101666         * lib/unistr/u8-endswith.c: Likewise.
101667         * lib/unistr/u8-mblen.c: Likewise.
101668         * lib/unistr/u8-mbsnlen.c: Likewise.
101669         * lib/unistr/u8-mbtouc-aux.c: Likewise.
101670         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
101671         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
101672         * lib/unistr/u8-mbtouc.c: Likewise.
101673         * lib/unistr/u8-mbtoucr.c: Likewise.
101674         * lib/unistr/u8-move.c: Likewise.
101675         * lib/unistr/u8-next.c: Likewise.
101676         * lib/unistr/u8-prev.c: Likewise.
101677         * lib/unistr/u8-set.c: Likewise.
101678         * lib/unistr/u8-startswith.c: Likewise.
101679         * lib/unistr/u8-stpcpy.c: Likewise.
101680         * lib/unistr/u8-stpncpy.c: Likewise.
101681         * lib/unistr/u8-strcat.c: Likewise.
101682         * lib/unistr/u8-strchr.c: Likewise.
101683         * lib/unistr/u8-strcmp.c: Likewise.
101684         * lib/unistr/u8-strcpy.c: Likewise.
101685         * lib/unistr/u8-strcspn.c: Likewise.
101686         * lib/unistr/u8-strdup.c: Likewise.
101687         * lib/unistr/u8-strlen.c: Likewise.
101688         * lib/unistr/u8-strmblen.c: Likewise.
101689         * lib/unistr/u8-strmbtouc.c: Likewise.
101690         * lib/unistr/u8-strncat.c: Likewise.
101691         * lib/unistr/u8-strncmp.c: Likewise.
101692         * lib/unistr/u8-strncpy.c: Likewise.
101693         * lib/unistr/u8-strnlen.c: Likewise.
101694         * lib/unistr/u8-strpbrk.c: Likewise.
101695         * lib/unistr/u8-strrchr.c: Likewise.
101696         * lib/unistr/u8-strspn.c: Likewise.
101697         * lib/unistr/u8-strstr.c: Likewise.
101698         * lib/unistr/u8-strtok.c: Likewise.
101699         * lib/unistr/u8-to-u16.c: Likewise.
101700         * lib/unistr/u8-to-u32.c: Likewise.
101701         * lib/unistr/u8-uctomb-aux.c: Likewise.
101702         * lib/unistr/u8-uctomb.c: Likewise.
101703         * lib/unitypes.h: Likewise.
101704         * lib/uniwidth.h: Likewise.
101705         * lib/uniwidth/cjk.h: Likewise.
101706         * lib/uniwidth/u16-strwidth.c: Likewise.
101707         * lib/uniwidth/u16-width.c: Likewise.
101708         * lib/uniwidth/u32-strwidth.c: Likewise.
101709         * lib/uniwidth/u32-width.c: Likewise.
101710         * lib/uniwidth/u8-strwidth.c: Likewise.
101711         * lib/uniwidth/u8-width.c: Likewise.
101712         * lib/uniwidth/width.c: Likewise.
101714 2007-10-07  Bruno Haible  <bruno@clisp.org>
101716         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
101717         The file is still under LGPL (see modules/inttypes).
101719 2007-10-06  Bruno Haible  <bruno@clisp.org>
101721         * modules/trunc (Dependencies): Add 'extensions'.
101722         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
101723         Reported by Ben Pfaff <blp@gnu.org>.
101725 2007-10-06  Bruno Haible  <bruno@clisp.org>
101727         * modules/freopen-tests: New file.
101728         * tests/test-freopen.c: New file.
101730         * modules/fopen-tests: New file.
101731         * tests/test-fopen.c: New file.
101733         * modules/fopen: New file.
101734         * lib/fopen.c: New file.
101735         * m4/fopen.m4: New file.
101736         * modules/freopen: New file.
101737         * lib/freopen.c: New file.
101738         * m4/freopen.m4: New file.
101739         * lib/stdio.in.h (fopen, freopen): New declarations.
101740         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
101741         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101742         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
101743         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101744         * doc/functions/fopen.texi: Mention the 'fopen' module.
101745         * doc/functions/freopen.texi: Mention the 'freopen' module.
101747 2007-10-06  Bruno Haible  <bruno@clisp.org>
101749         * modules/open-tests: New file.
101750         * tests/test-open.c: New file.
101752         * modules/open: New file.
101753         * lib/open.c: New file.
101754         * m4/open.m4: New file.
101755         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
101756         lib/open.c does.
101757         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
101758         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
101759         macros.
101760         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
101761         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
101762         REPLACE_OPEN.
101763         * doc/functions/open.texi: Mention the 'open' module.
101765 2007-10-04  Bruno Haible  <bruno@clisp.org>
101767         * modules/ceill-tests: New file.
101768         * tests/test-ceill.c: New file.
101770         * modules/ceill: New file.
101771         * lib/ceill.c: Replace entire file.
101772         * m4/ceill.m4: New file.
101773         * lib/math.in.h (ceill): Replace declaration.
101774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
101775         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
101776         * doc/functions/ceill.texi: Mention the 'ceill' module.
101777         * modules/mathl (Files): Remove lib/ceill.c.
101778         (Depends-on): Add ceill.
101780 2007-10-04  Bruno Haible  <bruno@clisp.org>
101782         * modules/ceilf-tests: New file.
101783         * tests/test-ceilf.c: New file.
101785         * modules/ceilf: New file.
101786         * lib/ceil.c: New file.
101787         * lib/ceilf.c: New file.
101788         * m4/ceilf.m4: New file.
101789         * lib/math.in.h (ceilf): New declaration.
101790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
101791         HAVE_DECL_CEILF.
101792         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
101793         HAVE_DECL_CEILF.
101794         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
101796 2007-10-04  Bruno Haible  <bruno@clisp.org>
101798         * modules/floorl-tests: New file.
101799         * tests/test-floorl.c: New file.
101801         * modules/floorl: New file.
101802         * lib/floorl.c: Replace entire file.
101803         * m4/floorl.m4: New file.
101804         * lib/math.in.h (floorl): Replace declaration.
101805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
101806         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
101807         * doc/functions/floorl.texi: Mention the 'floorl' module.
101808         * modules/mathl (Files): Remove lib/floorl.c.
101809         (Depends-on): Add floorl.
101811 2007-10-04  Bruno Haible  <bruno@clisp.org>
101813         * modules/floorf-tests: New file.
101814         * tests/test-floorf.c: New file.
101816         * modules/floorf: New file.
101817         * lib/floor.c: New file.
101818         * lib/floorf.c: New file.
101819         * m4/floorf.m4: New file.
101820         * lib/math.in.h (floorf): New declaration.
101821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
101822         HAVE_DECL_FLOORF.
101823         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
101824         HAVE_DECL_FLOORF.
101825         * doc/functions/floorf.texi: Mention the 'floorf' module.
101827 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
101828             Bruno Haible  <bruno@clisp.org>
101830         Advertise for the Git server instead of the CVS server.
101831         * doc/gnulib-intro.texi (Steady Development): Mention the Git
101832         repository instead of the CVS one.
101833         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
101834         about all VCS systems generically.
101835         * doc/gnulib.texi (Introduction): Capitalize `Git'.
101837 2007-10-04  Bruno Haible  <bruno@clisp.org>
101839         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
101840         means.
101841         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
101843 2007-10-04  Bruno Haible  <bruno@clisp.org>
101845         * modules/truncl-tests: New file.
101846         * tests/test-truncl.c: New file.
101848         * modules/truncl: New file.
101849         * lib/truncl.c: New file.
101850         * m4/truncl.m4: New file.
101851         * lib/math.in.h (truncl): New declaration.
101852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
101853         HAVE_DECL_TRUNCL.
101854         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
101855         HAVE_DECL_TRUNCL.
101856         * doc/functions/truncl.texi: Mention the 'truncl' module.
101858 2007-10-04  Bruno Haible  <bruno@clisp.org>
101860         * modules/truncf-tests: New file.
101861         * tests/test-truncf.c: New file.
101863         * modules/truncf: New file.
101864         * lib/trunc.c: Make paramerizable through USE_* macros.
101865         * lib/truncf.c: New file.
101866         * m4/truncf.m4: New file.
101867         * lib/math.in.h (truncf): New declaration.
101868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
101869         HAVE_DECL_TRUNCF.
101870         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
101871         HAVE_DECL_TRUNCF.
101872         * doc/functions/truncf.texi: Mention the 'truncf' module.
101874 2007-10-03  Bruno Haible  <bruno@clisp.org>
101876         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
101877         augmentation also for tests modules.
101878         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
101879         * modules/atexit-tests (Makefile.am): Likewise.
101880         * modules/binary-io-tests (Makefile.am): Likewise.
101881         * modules/c-strcase-tests (Makefile.am): Likewise.
101882         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
101883         * modules/canonicalize-tests (Makefile.am): Likewise.
101884         * modules/closein-tests (Makefile.am): Likewise.
101885         * modules/fprintf-posix-tests (Makefile.am): Likewise.
101886         * modules/freadahead-tests (Makefile.am): Likewise.
101887         * modules/fseek-tests (Makefile.am): Likewise.
101888         * modules/fseeko-tests (Makefile.am): Likewise.
101889         * modules/ftell-tests (Makefile.am): Likewise.
101890         * modules/ftello-tests (Makefile.am): Likewise.
101891         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
101892         * modules/isnanl-tests (Makefile.am): Likewise.
101893         * modules/lseek-tests (Makefile.am): Likewise.
101894         * modules/mbscasecmp-tests (Makefile.am): Likewise.
101895         * modules/mbscasestr-tests (Makefile.am): Likewise.
101896         * modules/mbschr-tests (Makefile.am): Likewise.
101897         * modules/mbscspn-tests (Makefile.am): Likewise.
101898         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
101899         * modules/mbspbrk-tests (Makefile.am): Likewise.
101900         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
101901         * modules/mbsrchr-tests (Makefile.am): Likewise.
101902         * modules/mbsspn-tests (Makefile.am): Likewise.
101903         * modules/mbsstr-tests (Makefile.am): Likewise.
101904         * modules/printf-posix-tests (Makefile.am): Likewise.
101905         * modules/snprintf-posix-tests (Makefile.am): Likewise.
101906         * modules/sprintf-posix-tests (Makefile.am): Likewise.
101907         * modules/tsearch-tests (Makefile.am): Likewise.
101908         * modules/uniname/uniname-tests (Makefile.am): Likewise.
101909         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
101910         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
101911         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
101912         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
101913         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
101914         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
101915         * modules/vprintf-posix-tests (Makefile.am): Likewise.
101916         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
101917         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
101918         * modules/xstrtoimax-tests (Makefile.am): Likewise.
101919         * modules/xstrtol-tests (Makefile.am): Likewise.
101920         * modules/xstrtoumax-tests (Makefile.am): Likewise.
101921         * modules/yesno-tests (Makefile.am): Likewise.
101923 2007-10-03  Bruno Haible  <bruno@clisp.org>
101925         * modules/trunc-tests: New file.
101926         * tests/test-trunc.c: New file.
101928         * modules/trunc: New file.
101929         * lib/trunc.c: New file.
101930         * m4/trunc.m4: New file.
101931         * lib/math.in.h (trunc): New declaration.
101932         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
101933         HAVE_DECL_TRUNC.
101934         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
101935         HAVE_DECL_TRUNC.
101936         * doc/functions/trunc.texi: Mention the 'trunc' module.
101938 2007-10-03  Bruno Haible  <bruno@clisp.org>
101940         * tests/test-fpending.c: New file, mostly copied
101941         from coreutils/lib/t-fpending.c.
101942         * modules/fpending-tests: New file.
101944 2007-10-03  Bruno Haible  <bruno@clisp.org>
101946         Port the stdio extensions to QNX (untested).
101947         * lib/fseterr.c (fseterr): Add support for QNX.
101948         * lib/fbufmode.c (fbufmode): Likewise.
101949         * lib/freadable.c (freadable): Likewise.
101950         * lib/fwritable.c (fwritable): Likewise.
101951         * lib/freading.c (freading): Likewise.
101952         * lib/fwriting.c (fwriting): Likewise.
101953         * lib/freadahead.c (freadahed): Likewise.
101954         * lib/fpurge.c (fpurge): Likewise.
101955         * lib/fseeko.c (rpl_fseeko): Likewise.
101957 2007-10-03  Bruno Haible  <bruno@clisp.org>
101958             Jim Meyering  <jim@meyering.net>
101959             Eric Blake  <ebb9@byu.net>
101961         * doc/relocatable.texi: Use @command instead of @program.
101963 2007-10-02  Jim Meyering  <jim@meyering.net>
101965         Perform one more "_.h" -> ".in.h" substitution.
101966         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
101967         instead of unistd_.h here, too.
101969 2007-10-01  Bruno Haible  <bruno@clisp.org>
101971         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
101972         Needed for the alloca-opt module.
101974 2007-09-30  Bruno Haible  <bruno@clisp.org>
101976         * lib/alloca.in.h: Renamed from lib/alloca_.h.
101977         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
101978         alloca_.h.
101979         * lib/argz.in.h: Renamed from lib/argz_.h.
101980         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
101981         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
101982         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
101983         byteswap_.h.
101984         * lib/dirent.in.h: Renamed from lib/dirent_.h.
101985         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
101986         dirent_.h.
101987         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
101988         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
101989         fcntl_.h.
101990         * lib/float.in.h: Renamed from lib/float_.h.
101991         * modules/float (Files, Makefile.am): Use float.in.h instead of
101992         float_.h.
101993         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
101994         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
101995         fnmatch_.h.
101996         * lib/getopt.in.h: Renamed from lib/getopt_.h.
101997         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
101998         getopt_.h.
101999         * lib/glob.in.h: Renamed from lib/glob_.h.
102000         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
102001         * lib/iconv.in.h: Renamed from lib/iconv_.h.
102002         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
102003         iconv_.h.
102004         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
102005         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
102006         inttypes_.h.
102007         * lib/locale.in.h: Renamed from lib/locale_.h.
102008         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
102009         locale_.h.
102010         * lib/math.in.h: Renamed from lib/math_.h.
102011         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
102012         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
102013         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
102014         of netinet_in_.h. Add dependency.
102015         * lib/poll.in.h: Renamed from lib/poll_.h.
102016         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
102017         * lib/search.in.h: Renamed from lib/search_.h.
102018         * modules/search (Files, Makefile.am): Use search.in.h instead of
102019         search_.h.
102020         * lib/signal.in.h: Renamed from lib/signal_.h.
102021         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
102022         _signal.h.
102023         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
102024         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
102025         stdbool_.h.
102026         * lib/stdint.in.h: Renamed from lib/stdint_.h.
102027         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
102028         stdint_.h.
102029         * lib/stdio.in.h: Renamed from lib/stdio_.h.
102030         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
102031         stdio_.h.
102032         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
102033         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
102034         stdlib_.h.
102035         * lib/string.in.h: Renamed from lib/string_.h.
102036         * modules/string (Files, Makefile.am): Use string.in.h instead of
102037         string_.h.
102038         * doc/gnulib-tool.texi (Initial import): Update.
102039         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
102040         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
102041         of sys_select_.h. Add dependency.
102042         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
102043         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
102044         of sys_socket_.h.
102045         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
102046         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
102047         sys_stat_.h.
102048         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
102049         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
102050         sys_time_.h.
102051         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
102052         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
102053         sysexits_.h.
102054         * lib/time.in.h: Renamed from lib/time_.h.
102055         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
102056         * lib/unistd.in.h: Renamed from lib/unistd_.h.
102057         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
102058         unistd_.h.
102059         * lib/wchar.in.h: Renamed from lib/wchar_.h.
102060         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
102061         wchar_.h.
102062         * lib/wctype.in.h: Renamed from lib/wctype_.h.
102063         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
102064         wctype_.h.
102065         * build-aux/bootstrap (slurp): Update.
102066         * lib/.cppi-disable: Update.
102068 2007-09-30  Bruno Haible  <bruno@clisp.org>
102070         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
102071         Needed on BeOS.
102073 2007-09-30  Bruno Haible  <bruno@clisp.org>
102075         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
102077 2007-09-29  Bruno Haible  <bruno@clisp.org>
102079         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
102081 2007-09-29  Bruno Haible  <bruno@clisp.org>
102083         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
102084         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
102085         * build-aux/install-reloc: Compile also areadlink.c.
102086         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
102088 2007-09-29  Bruno Haible  <bruno@clisp.org>
102090         * gnulib-tool (func_emit_initmacro_done): Indentation.
102092 2007-09-29  Bruno Haible  <bruno@clisp.org>
102094         * README: Add CVS checkout update instructions.
102095         Info from Bob Proulx <bob@proulx.com>.
102097 2007-09-28  Eric Blake  <ebb9@byu.net>
102099         Provide move-if-change.
102100         * build-aux/move-if-change: New file, based on best practice
102101         rather than any canonical upstream location.
102103 2007-09-28  Jim Meyering  <jim@meyering.net>
102105         Fix canonicalize loop-detection corner case.
102106         Do not attempt to stat the symlink values stored via seen_triple.
102107         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
102108         on linux-2.6.18, (but not 2.6.22).
102109         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
102110         triple_compare.  The former compares dev,ino,filename, while the latter
102111         would actually stat dirname(filename) when dev and ino were equal.
102112         * lib/hash-triple.c: Install <string.h>.
102113         (STREQ): Define.
102114         (triple_compare_ino_str): New function.
102115         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
102117 2007-09-28  Eric Blake  <ebb9@byu.net>
102119         Enforce that AC_REPLACE_FUNCS files exist.
102120         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
102121         override check for typos.
102123         Fix test-closein on Solaris 10.
102124         * tests/test-closein.c (main): Don't assume stdin can be inherited
102125         closed on all systems.
102126         * tests/test-closein.sh: Likewise.
102127         Reported by Piotr Tarnowski.
102129 2007-09-28  Jim Meyering  <jim@meyering.net>
102131         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
102133 2007-09-27  Jim Meyering  <jim@meyering.net>
102135         canonicalize: Avoid a false-positive cycle failure.
102136         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
102137         Sort.  Remove cycle-check.
102138         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
102139         not cycle-check.h.
102140         (seen_triple): New function.
102141         (canonicalize_filename_mode): Use it instead of cycle-check.
102142         * tests/test-canonicalize.c: Add a test for this bug.
102143         * tests/test-canonicalize.sh: Set up and run the test.
102145         New module, file-set, from coreutils.
102146         * modules/file-set: Define it.
102147         * lib/file-set.c, lib/file-set.h: Implement.
102149         New module, hash-triple, from coreutils.
102150         * modules/hash-triple: Define it.
102151         * lib/hash-triple.c, lib/hash-triple.h: Implement.
102153 2007-09-25  Eric Blake  <ebb9@byu.net>
102155         Fix strerror on Interix.
102156         * lib/string_.h (strerror): Declare replacement.
102157         * doc/functions/strerror.texi (strerror): Document the Interix
102158         shortcoming.
102159         * modules/string (Makefile.am): Support new hooks.
102160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
102161         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
102162         gl_FUNC_STRERROR_SEPARATE.
102163         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
102164         * lib/strerror.c (rpl_strerror): Provide replacement.
102165         * modules/strerror (Depends-on): Add string.
102166         (configure.ac): Detect use of module.
102167         * tests/test-strerror.c: New file.
102168         * modules/strerror-tests: New test module.
102169         * modules/argp (Depends-on): Add strerror.
102170         * modules/error (Depends-on): Likewise.
102171         Reported by Martin Koeppe.
102173 2007-09-24  Bruno Haible  <bruno@clisp.org>
102175         * README: Update git instructions.
102177 2007-09-24  Eric Blake  <ebb9@byu.net>
102179         Revert fpending breakage from 2007-09-08.
102180         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
102181         __fpending.c.
102183 2007-09-24  Jim Meyering  <jim@meyering.net>
102185         filenamecat.c: Add a test.
102186         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
102187         showing how the function works when DIR is the empty string.
102189 2007-09-21  Simon Josefsson  <simon@josefsson.org>
102191         * tests/test-canonicalize.sh: Turn on executable bit.
102193 2007-09-19  Eric Blake  <ebb9@byu.net>
102195         * README: Update CVS instructions.
102197 2007-09-18  Bruno Haible  <bruno@clisp.org>
102199         * modules/areadlink: New file.
102200         * lib/areadlink.h (areadlink): New declaration.
102201         * lib/areadlink.c: New file, based on lib/xreadlink.c.
102203 2007-09-17  Jim Meyering  <jim@meyering.net>
102205         * lib/savewd.c (ESTALE) [!defined]: Define.
102206         Reported to be required on Interix by Martin Koeppe.
102208 2007-09-17  Bruno Haible  <bruno@clisp.org>
102210         * gnulib-tool (func_version): Use $version.
102212 2007-09-16  Bruno Haible  <bruno@clisp.org>
102214         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
102215         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
102216         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
102217         Reported by Greg Schafer <gschafer@zip.com.au>.
102219 2007-09-15  Bruno Haible  <bruno@clisp.org>
102221         * gnulib-tool (sed): Try a little harder to make bash understand the
102222         alias.
102223         Reported by Bruce Korb <bruce.korb@gmail.com>.
102225 2007-09-13  Eric Blake  <ebb9@byu.net>
102227         * ChangeLog: Remove conflict markers.
102229 2007-09-13  Simon Josefsson  <simon@josefsson.org>
102231         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
102232         Reported by Bruno Haible <bruno@clisp.org>.
102234 2007-09-12  Bruno Haible  <bruno@clisp.org>
102236         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
102237         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
102238         is not defined.
102240 2007-09-12  Eric Blake  <ebb9@byu.net>
102242         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
102243         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
102244         Autoconf definition.
102245         * modules/euidaccess (Depends-on): Add extensions, for
102246         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
102247         * modules/fnmatch (Depends-on): Likewise.
102248         * modules/getaddrinfo (Depends-on): Likewise.
102249         * modules/getdelim (Depends-on): Likewise.
102250         * modules/getline (Depends-on): Likewise.
102251         * modules/getsubopt (Depends-on): Likewise.
102252         * modules/gettext (Depends-on): Likewise.
102253         * modules/group-member (Depends-on): Likewise.
102254         * modules/mbchar (Depends-on): Likewise.
102255         * modules/memmem (Depends-on): Likewise.
102256         * modules/mempcpy (Depends-on): Likewise.
102257         * modules/memrchr (Depends-on): Likewise.
102258         * modules/pagealign_alloc (Depends-on): Likewise.
102259         * modules/readutmp (Depends-on): Likewise.
102260         * modules/stpcpy (Depends-on): Likewise.
102261         * modules/stpncpy (Depends-on): Likewise.
102262         * modules/strchrnul (Depends-on): Likewise.
102263         * modules/strndup (Depends-on): Likewise.
102264         * modules/strsep (Depends-on): Likewise.
102265         * modules/strverscmp (Depends-on): Likewise.
102266         * modules/vasprintf (Depends-on): Likewise.
102267         * modules/wcwidth (Depends-on): Likewise.
102268         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
102269         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
102270         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
102271         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
102272         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
102273         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102274         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
102275         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
102276         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
102277         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
102278         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
102279         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102280         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102281         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
102282         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
102283         * m4/readutmp.m4 (gl_READUTMP): Likewise.
102284         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
102285         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102286         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102287         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102288         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102289         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102290         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102291         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
102292         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
102293         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
102294         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
102295         so that lock.m4 can be used in gettext without extensions module.
102297 2007-09-11  Bruno Haible  <bruno@clisp.org>
102299         * m4/isc-posix.m4: Remove file.
102300         Suggested by Eric Blake.
102302 2007-09-11  Eric Blake  <ebb9@byu.net>
102304         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
102306 2007-09-10  Bruno Haible  <bruno@clisp.org>
102308         * posix-modules: Fix typo in error message.
102309         Reported by Matt <mkraai@beckman.com>.
102311 2007-09-09  Bruno Haible  <bruno@clisp.org>
102313         * doc/functions/getdelim.texi: Update list of platforms lacking the
102314         function.
102315         * doc/functions/getline.texi: Likewise.
102317 2007-09-09  Jim Meyering  <jim@meyering.net>
102319         * lib/hash.c (hash_initialize): Detect calloc failure.
102320         Reported by Bruno Haible.
102322 2007-09-09  Bruno Haible  <bruno@clisp.org>
102324         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
102325         malloc or realloc fails.
102327 2007-09-09  Bruno Haible  <bruno@clisp.org>
102329         * modules/getcwd (Depends-on): Add malloc-posix.
102330         * modules/glob (Depends-on): Likewise.
102331         * modules/putenv (Depends-on): Likewise.
102332         * modules/strdup (Depends-on): Likewise.
102333         * modules/getdelim (Depends-on): Add realloc-posix.
102334         * modules/read-file (Depends-on): Likewise.
102336 2007-09-09  Bruno Haible  <bruno@clisp.org>
102338         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
102339         (gl_FUNC_MALLOC_POSIX): Require it.
102340         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
102341         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
102342         * modules/realloc (Files): Add m4/malloc.m4.
102343         * modules/calloc (Files): Likewise.
102345 2007-09-09  Bruno Haible  <bruno@clisp.org>
102347         * modules/malloc-posix: New file.
102348         * modules/malloc (Depends-on): Add malloc-posix.
102349         * lib/malloc.c: Include errno.h.
102350         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
102351         and a POSIX-compatible malloc into a single function. Set ENOMEM
102352         when returning NULL.
102353         * m4/malloc.m4: New file.
102354         * doc/functions/malloc.texi: Mention the malloc-posix module.
102355         * lib/stdlib_.h (malloc): New declaration.
102356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102357         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
102358         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
102359         and HAVE_MALLOC_POSIX.
102361 2007-09-09  Bruno Haible  <bruno@clisp.org>
102363         * modules/realloc-posix: New file.
102364         * modules/realloc (Depends-on): Add realloc-posix.
102365         * lib/realloc.c: Include errno.h.
102366         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
102367         and a POSIX-compatible realloc into a single function. Set ENOMEM
102368         when returning NULL.
102369         * m4/realloc.m4: New file.
102370         * doc/functions/realloc.texi: Mention the realloc-posix module.
102371         * lib/stdlib_.h (realloc): New declaration.
102372         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102373         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
102374         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
102375         and HAVE_REALLOC_POSIX.
102377 2007-09-09  Bruno Haible  <bruno@clisp.org>
102379         * modules/calloc-posix: New file.
102380         * modules/calloc (Depends-on): Add calloc-posix.
102381         * lib/calloc.c: Include errno.h.
102382         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
102383         and a POSIX-compatible calloc into a single function. Set ENOMEM
102384         when returning NULL.
102385         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
102386         * doc/functions/calloc.texi: Mention the calloc-posix module.
102387         * lib/stdlib_.h (calloc): New declaration.
102388         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
102389         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
102390         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
102391         and HAVE_CALLOC_POSIX.
102393 2007-09-09  Bruno Haible  <bruno@clisp.org>
102395         Allow for modules to show an arbitrary notice.
102396         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
102397         * gnulib-tool: New option --extract-notice.
102398         (func_usage): Document it.
102399         (sed_extract_prog): Update.
102400         (func_get_notice): New function.
102401         (func_modules_notice): New function.
102402         (func_import, func_create_testdir): Invoke it.
102403         Suggested by Jim Meyering.
102405 2007-09-09  Bruno Haible  <bruno@clisp.org>
102407         * gnulib-tool: New options --verbose, --quiet.
102408         (func_usage): Document them.
102409         (verbose): New variable.
102410         (func_execute_command): New function.
102411         (func_import): Don't show the module list and the file list if
102412         $verbose < 0.
102413         (func_create_testdir): Likewise. Use func_execute_command.
102414         (func_create_megatestdir): Use func_execute_command.
102416 2007-09-08  Bruno Haible  <bruno@clisp.org>
102418         * gnulib-tool (func_import): Prefer rsync over wget when available,
102419         for fetching the PO files.
102421 2007-09-08  Bruno Haible  <bruno@clisp.org>
102423         * posix-modules: New file. Portions copied from gnulib-tool.
102424         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
102426 2007-09-08  Jim Meyering  <jim@meyering.net>
102428         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
102429         * lib/fpending.h: Rename from __fpending.h.
102430         * lib/fpending.c: Rename from __fpending.c.
102431         Include "fpending.h", not "__fpending.h".
102432         * lib/__fpending.h, lib/__fpending.c: Remove files.
102433         * modules/fpending (Files): Reflect new file names.
102434         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
102436 2007-09-08  Bruno Haible  <bruno@clisp.org>
102438         * m4/inttypes-h.m4: Remove stub file.
102440 2007-09-07  Simon Josefsson  <simon@josefsson.org>
102442         * doc/headers/stdint.texi: Discuss #include_next issue.
102444 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
102446         * build-aux/bootstrap: Remove obsolete comment about wget --help.
102448 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102450         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
102451         in variable name.
102453 2007-09-03  Jim Meyering  <jim@meyering.net>
102455         New module: git-version-gen.
102456         * modules/git-version-gen: New file.
102458         Import changes from coreutils for bootstrap script.
102460         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
102462         bootstrap: uses rsync to download the .po files
102463         * build-aux/bootstrap (po_download_command_format): New global.
102464         (download_po_files): Use rsync.
102465         (update_po_files): Don't remove .po files after download,
102466         so future rsync runs can take advantage of the copies.
102468         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
102470         Solve the unnecessary-.po-file-regeneration problem once and for all.
102471         * build-aux/bootstrap (download_po_files): New function, renamed from
102472         get_translations.  Now, downloads, but doesn't update LINGUAS.
102473         (update_po_files): New function.
102475         bootstrap: Ignore more.
102476         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
102477         uniwidth to e.g., lib/.gitignore.
102478         (slurp): Handle the sys_stat_.h -> sys mapping, too.
102480         * build-aux/bootstrap: New setting: vc_ignore.
102481         (insert_sorted_if_absent): Create $file if absent.
102482         Adapt to new, possibly empty, list: $vc_ignore.
102484         bootstrap: generate more ignorable names
102485         * build-aux/bootstrap (slurp): When generating ignorable names,
102486         also map .sin to .sed, .gperf to .c, and .y to .c.
102488 2007-09-03  Jim Meyering  <jim@meyering.net>
102490         * build-aux/git-version-gen: New file, from coreutils.  For details, see
102491         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
102493 2007-09-02  Bruno Haible  <bruno@clisp.org>
102495         Fix mis-recognition of 'mcs' on QNX 6.
102496         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
102497         output contains the string "Mono".
102498         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
102499         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
102501 2007-09-01  Bruno Haible  <bruno@clisp.org>
102503         Fix collision between uniwidth/* and linebreak modules.
102504         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
102505         u32_width): Remove declarations.
102506         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
102507         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
102508         streq3, streq2, streq1, streq0): Remove functions.
102509         (STREQ): Remove macro.
102510         (is_cjk_encoding): Remove function.
102511         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
102512         (uc_width, u8_width, u16_width, u32_width): Remove functions.
102513         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
102514         * NEWS: Document the change.
102516 2007-09-01  Bruno Haible  <bruno@clisp.org>
102518         * lib/streq.h: Add double-inclusion guard.
102520 2007-09-01  Karl Berry  <karl@gnu.org>
102522         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
102524 2007-08-28  Jim Meyering  <jim@meyering.net>
102526         Rename mreadlink_with_size to areadlink_with_size.
102527         * NEWS: Document the change.
102528         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
102529         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
102530         * lib/mreadlink.h: Rename this to...
102531         * lib/areadlink.h: ...this.
102532         * modules/mreadlink-with-size: Rename this to...
102533         * modules/areadlink-with-size: ...this.
102534         * lib/canonicalize.c: Reflect the renaming.
102535         * modules/canonicalize: Likewise.
102537 2007-08-26  Bruno Haible  <bruno@clisp.org>
102539         * gnulib-tool (func_import): When deciding which files to remove,
102540         consider also dangling symbolic links.
102541         Reported by Eric Blake.
102543 2007-08-26  Bruno Haible  <bruno@clisp.org>
102545         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
102547 2007-08-23  Simon Josefsson  <simon@josefsson.org>
102549         * lib/readline.c: Don't include getline.h, the prototype is now
102550         found in stdio.h.
102552 2007-08-23  Jim Meyering  <jim@meyering.net>
102554         Getdelim touchup.
102555         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
102556         around the funlockfile call, since funlockfile never sets errno.
102557         Don't set errno upon failed realloc.
102559 2007-08-22  Eric Blake  <ebb9@byu.net>
102561         Getline touchups.
102562         * lib/getdelim.c (getdelim): Revert regression that required *n to
102563         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
102564         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
102565         getdelim, rather than whether implementation is missing.
102566         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
102567         * lib/stdio_.h (getline): Also declare if replacement is
102568         required.
102569         * doc/functions/getdelim.texi: New file.
102570         * doc/functions/getline.texi: Likewise.
102571         * doc/gnulib.texi (Function Substitutes): Add new files.
102572         Reported by Bruno Haible.
102574 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
102576         * users.txt: Add Guile.
102578 2007-08-22  Eric Blake  <ebb9@byu.net>
102580         * tests/test-getdelim.c (main): Use remove, not unlink.
102581         * tests/test-getline.c (main): Likewise.
102583         Move getline and getdelim into stdio.h, per POSIX 200x.
102584         * modules/getline (Files): Remove getline.h.
102585         (Depends-on): Add stdio.
102586         (configure.ac): Add module indicator.
102587         * modules/getdelim (Files): Remove getdelim.h.
102588         (Depends-on): Add stdio.
102589         (configure.ac): Add module indicator.
102590         * modules/stdio (Makefile.am): Work with new indicators.
102591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
102592         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
102593         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102594         * lib/getdelim.h: Delete.
102595         * lib/getline.h: Delete.
102596         * lib/stdio_.h (getdelim, getline): Declare.
102597         * modules/getdelim-tests: New module.
102598         * modules/getline-tests: Likewise.
102599         * tests/test-getdelim.c: New file.
102600         * tests/test-getline.c: Likewise.
102601         * NEWS: Document the change.
102602         * lib/getline.c: Update choice of header.
102603         * lib/csharpcomp.c: Likewise.
102604         * lib/getpass.c: Likewise.
102605         * lib/javacomp.c: Likewise.
102606         * lib/javaversion.c: Likewise.
102607         * lib/yesno.c: Likewise.
102608         * lib/getdelim.c: Likewise.
102609         (getdelim): Set errno on failure, and avoid memory leak.
102611 2007-08-19  Bruno Haible  <bruno@clisp.org>
102613         * modules/closein (Depends-on): Add freadahead.
102614         * lib/closein.c: Include freadahead.h.
102615         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
102616         is zero.
102618 2007-08-19  Bruno Haible  <bruno@clisp.org>
102620         * modules/freadahead-tests: New file.
102621         * tests/test-freadahead.sh: New file.
102622         * tests/test-freadahead.c: New file.
102624         * modules/freadahead: New file.
102625         * lib/freadahead.h: New file.
102626         * lib/freadahead.c: New file.
102627         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
102628         fbufmode, fpurge, freadable, fwritable.
102630 2007-08-19  Eric Blake  <ebb9@byu.net>
102632         Test yesno in combination with closein.
102633         * lib/yesno.c (yesno): Document use of stdin.
102634         * modules/yesno-tests (Files): New module.
102635         * tests/test-yesno.c (main): New file.
102636         * tests/test-yesno.sh: Likewise.
102638 2007-08-19  Bruno Haible  <bruno@clisp.org>
102640         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
102641         * lib/fseeko.c (rpl_fseeko): Likewise.
102642         * lib/fseterr.c (fseterr): Likewise.
102644 2007-08-19  Bruno Haible  <bruno@clisp.org>
102646         * tests/test-lseek.c (main): Disable a test for BeOS.
102647         * doc/functions/lseek.texi: Document the BeOS bug.
102649 2007-08-19  Bruno Haible  <bruno@clisp.org>
102650             Eric Blake  <ebb9@byu.net>
102652         * lib/lseek.c: Include <sys/stat.h>.
102653         (rpl_lseek): Add workaround code also for Unix platforms.
102654         Needed for BeOS.
102655         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
102656         * doc/functions/lseek.texi: Document BeOS definiency.
102658 2007-08-18  Bruno Haible  <bruno@clisp.org>
102660         * modules/fstrcmp-tests: New file.
102661         * tests/test-fstrcmp.c: New file.
102663 2007-08-18  Bruno Haible  <bruno@clisp.org>
102665         * modules/fstrcmp: New file, from GNU gettext with modifications.
102666         * lib/fstrcmp.h: New file, from GNU gettext.
102667         * lib/fstrcmp.c: New file, from GNU gettext.
102668         * MODULES.html.sh (String handling): Add fstrcmp.
102670 2007-08-18  Bruno Haible  <bruno@clisp.org>
102672         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
102673         'bool'.
102674         (diag, compareseq): Remove const from the ctxt argument.
102675         (USE_HEURISTIC): Undefine at the end.
102677 2007-08-18  Jim Meyering  <jim@meyering.net>
102679         New file: lib/idcache.h
102680         * NEWS: Mention the addition.
102681         * modules/idcache (Files): Add lib/idcache.h
102682         * lib/idcache.c: Include "idcache.h".
102683         Don't include <sys/types.h>.
102684         Add a FIXME comment.
102685         Move file-scoped "static" declarations to the top.
102686         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
102688 2007-08-17  Bruno Haible  <bruno@clisp.org>
102689         and Paul Eggert  <eggert@cs.ucla.edu>
102691         * MODULES.html.sh: Add diffseq.
102692         * modules/diffseq: New file.
102693         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
102694         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
102696 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
102698         Import changes from coreutils for bootstrap script.
102700         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
102702         * build-aux/bootstrap (slurp): Work even in environments where
102703         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
102704         current code does not slurp files whose names start with ".", and
102705         this looks like it might be a troublesome area.
102707         2007-07-11  Jim Meyering  <jim@meyering.net>
102709         If there's a GPL vN copyright comment, require that N == 3.
102711         2007-07-08  Jim Meyering  <jim@meyering.net>
102713         Run the coreutils-specific code only if tests/Makefile.am.in exists.
102714         * build-aux/bootstrap (mam_template): Move definition out of loop.
102716         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
102718         * build-aux/bootstrap (symlink_to_dir): Rename function from
102719         symlink_to_gnulib.  Add a directory parameter.  Update all
102720         callers.
102721         (cp_mark_as_generated): Also check for -- and link to -- files in
102722         gl/.
102724         2007-07-08  Jim Meyering  <jim@meyering.net>
102726         Adapt to deeper hierarchy in gnulib.
102727         * build-aux/bootstrap (symlink_to_dir): If the destination
102728         directory doesn't exist, create it. This is required at least for
102729         "lib/uniwidth/cjk.h".
102731         2007-05-15  Jim Meyering  <jim@meyering.net>
102733         * build-aux/bootstrap: Now that generated Makefile.am files
102734         are no longer under version control, they must be created at
102735         bootstrap time.
102737 2007-08-14  Ben Pfaff  <blp@gnu.org>
102739         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
102741 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
102743         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
102744         given the changes below.
102745         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
102746         even on hosts that have padding bits beyond the supported 64.
102748 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
102750         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
102751         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
102752         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
102753         depends on it.
102754         (xstrtol_error): Remove.
102755         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
102756         but with a different signature.
102757         (ATTRIBUTE_NORETURN, __attribute__): New macros.
102758         * lib/xstrtol-error.c: Include exitfail.h.
102759         (xstrtol_fatal): New function, with a different signature from the
102760         old xstrtol_error, so that the caller need not worry about passing
102761         in an exit status, or about storage management of the option argument.
102762         (xstrtol_error): Now a static function.  Redo signature to
102763         implement xstrtol_fatal.  Output the correct number of hyphens in
102764         front of the option so that the caller need not worry about
102765         storage management.
102766         (N_): New macro.
102767         (_): Remove; not used now.
102768         * modules/xstrtol: Depend on getopt.
102769         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
102770         of old STRTOL_FATAL_ERROR macro.
102771         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
102772         of test program.
102773         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
102774         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
102776 2007-08-08  Eric Blake  <ebb9@byu.net>
102778         * lib/xstrtol-error.c: Add missing include.
102780         Move xstrtol messages into gnulib domain, when --pobase is used.
102781         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
102782         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
102783         * modules/xstrtol (Files): Distribute new file.
102784         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
102785         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
102786         * tests/test-xstrtol.c: ...into new file.
102787         * tests/test-xstrtoul.c: Also test xstrtoul.
102788         * tests/test-xstrtoimax.c: Also test xstrtoimax.
102789         * tests/test-xstrtoumax.c: Also test xstrtoumax.
102790         * tests/test-xstrtol.sh: Drive the tests.
102791         * tests/test-xstrtoimax.sh: Likewise.
102792         * tests/test-xstrtoumax.sh: Likewise.
102793         * modules/xstrtol-tests: New module.
102794         * modules/xstrtoimax-tests: Likewise.
102795         * modules/xstrtoumax-tests: Likewise.
102797 2007-08-08  Jim Meyering  <jim@meyering.net>
102799         New function: mfile_name_concat.
102800         * lib/filenamecat.c (mfile_name_concat): New function, just like
102801         file_name_concat, but return NULL upon failure rather than exiting
102802         with a diagnostic.
102803         * lib/filenamecat.h: Declare it.
102805 2007-08-07  Bruno Haible  <bruno@clisp.org>
102807         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
102808         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
102809         warning from gcc.
102810         Reported by Eric Blake.
102812 2007-08-07  Simon Josefsson  <simon@josefsson.org>
102814         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
102815         * modules/crypto/arcfour (License): Likewise.
102816         * modules/crypto/des-tests (License): Likewise.
102817         * modules/crypto/gc-arctwo-tests (License): Likewise.
102818         * modules/crypto/gc-des-tests (License): Likewise.
102819         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
102820         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
102821         * modules/crypto/gc-md2-tests (License): Likewise.
102822         * modules/crypto/gc-md4-tests (License): Likewise.
102823         * modules/crypto/gc-md5-tests (License): Likewise.
102824         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
102825         * modules/crypto/gc-rijndael-tests (License): Likewise.
102826         * modules/crypto/gc-sha1-tests (License): Likewise.
102827         * modules/crypto/gc-tests (License): Likewise.
102828         * modules/crypto/hmac-md5 (License): Likewise.
102829         * modules/crypto/hmac-sha1 (License): Likewise.
102830         * modules/crypto/md2-tests (License): Likewise.
102831         * modules/crypto/md4-tests (License): Likewise.
102832         * modules/crypto/md5 (License): Likewise.
102833         * modules/crypto/rijndael (License): Likewise.
102834         * modules/crypto/sha1 (License): Likewise.
102835         * modules/memxor (License): Likewise.
102837 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
102838         and Bruno Haible  <bruno@clisp.org>
102840         * NEWS: Describe interface changes to human, xstrtol.
102841         * lib/human.h: Include <xstrtol.h>.
102842         (human_options): Return enum strtol_error, not int.  Remove
102843         bool arg; take int * instead.
102844         * lib/human.c: Don't include "gettext.h".
102845         (_): Remove; no longer used.
102846         Don't include <xstrtol.h>, since human.h does it.
102847         (human_options): Adjust to abovementioned interface changes.
102848         Do not report error to stderr; that's now the caller's
102849         responsibility.
102850         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
102851         interface change.
102852         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
102853         Str, Argument_type_string.  All uses changed.  Put " argument"
102854         in diagnostics to make them clearer.  Change wording of suffix
102855         message for clarity.
102856         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
102857         Argument_type_string.
102858         (STRTOL_FATAL_WARN): Remove; no longer used.
102859         * modules/human (Depends-on): Remove gettext-h.
102861 2007-08-06  Simon Josefsson  <simon@josefsson.org>
102863         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
102865 2007-07-31  Bruno Haible  <bruno@clisp.org>
102867         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
102868         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
102869         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
102871 2007-07-31  Bruno Haible  <bruno@clisp.org>
102873         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
102874         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
102876 2007-07-30  Bruno Haible  <bruno@clisp.org>
102878         * modules/base64 (License): Use the synonymous term "LGPLv2+".
102879         * modules/c-ctype (License): Likewise.
102880         * modules/c-strcase (License): Likewise.
102881         * modules/check-version (License): Likewise.
102882         * modules/iconv (License): Likewise.
102883         * modules/iconv_open (License): Likewise.
102884         * modules/read-file (License): Likewise.
102885         * modules/striconv (License): Likewise.
102886         * modules/strverscmp (License): Likewise.
102887         * modules/vasprintf (License): Likewise.
102888         * modules/crypto/des (License): Likewise.
102889         * modules/crypto/gc (License): Likewise.
102890         * modules/crypto/gc-arcfour (License): Likewise.
102891         * modules/crypto/gc-arctwo (License): Likewise.
102892         * modules/crypto/gc-des (License): Likewise.
102893         * modules/crypto/gc-hmac-md5 (License): Likewise.
102894         * modules/crypto/gc-hmac-sha1 (License): Likewise.
102895         * modules/crypto/gc-md2 (License): Likewise.
102896         * modules/crypto/gc-md4 (License): Likewise.
102897         * modules/crypto/gc-md5 (License): Likewise.
102898         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
102899         * modules/crypto/gc-random (License): Likewise.
102900         * modules/crypto/gc-rijndael (License): Likewise.
102901         * modules/crypto/gc-sha1 (License): Likewise.
102902         * modules/crypto/md2 (License): Likewise.
102903         * modules/crypto/md4 (License): Likewise.
102905 2007-07-30  Jim Meyering  <jim@meyering.net>
102907         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
102908         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
102909         it has valid stat data.  This bug would cause du not to count the
102910         sizes of inaccessible directories.
102911         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
102912         in <http://bugzilla.redhat.com/250077>.
102914 2007-07-25  Peter O'Gorman  <peter@pogma.com>
102915             Bruno Haible  <bruno@clisp.org>
102917         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
102918         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
102919         #include_next, gives a diagnostic about it, but reports no error in
102920         the exit code.
102921         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
102923 2007-07-24  Ben Pfaff  <blp@gnu.org>
102925         Improve name: "count-one-bits" is better than "popcount".
102926         * MODULES.html.sh: Update name.
102927         * lib/popcount.h: Renamed lib/count-one-bits.h.
102928         (popcount): Renamed count_one_bits.
102929         (popcountl): Renamed count_one_bits_l.
102930         (popcountll): Renamed count_one_bits_ll.
102931         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
102932         * modules/popcount: Renamed module/count-one-bits.
102933         * modules/popcount-tests: Renamed module/count-one-bits-tests.
102934         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
102936 2007-07-23  Ben Pfaff  <blp@gnu.org>
102938         * lib/popcount.h (popcount32): Reduce size of constants, to allow
102939         better code generation, and add U to large constants to avoid
102940         warnings, in non-GCC case.
102941         Suggested by Bruno Haible.
102943 2007-07-23  Ben Pfaff  <blp@gnu.org>
102945         * lib/popcount.h: Use verify_true instead of if...abort.
102946         * modules/popcount: Depend on verify module.
102947         Suggested by Jim Meyering.
102949 2007-07-23  Bruno Haible  <bruno@clisp.org>
102951         * gnulib-tool (func_import): Create a .cvsignore file also when the
102952         directory is not yet in CVS but the toplevel directory is. When
102953         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
102954         Reported by Karl Berry.
102956 2007-07-22  Ben Pfaff  <blp@gnu.org>
102958         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
102959         case.
102960         Suggested by Eric Blake.
102962 2007-07-22  Ben Pfaff  <blp@gnu.org>
102964         New module: popcount.
102965         * MODULES.html.sh: Add popcount.
102966         * modules/popcount: New file.
102967         * modules/popcount-tests: New file.
102968         * tests/test-popcount.c: New file.
102969         * lib/popcount.h: New file.
102970         * m4/popcount.m4: New file.
102972 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
102974         * build-aux/announce-gen: Update to GPLv3.
102976         * build-aux/config.guess: Update from config.
102978 2007-07-21  Bruno Haible  <bruno@clisp.org>
102980         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
102981         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
102983 2007-07-20  Jim Meyering  <jim@meyering.net>
102985         * check-module: Diagnose a self-dependency.
102987 2007-07-19  Bruno Haible  <bruno@clisp.org>
102989         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
102990         empty.
102991         Reported by Eric Blake.
102993 2007-07-18  Bruno Haible  <bruno@clisp.org>
102995         * gnulib-tool: New options --po-base, --po-domain.
102996         (func_usage): Document them.
102997         (pobase, po_domain): New variables.
102998         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
102999         DEFAULT_TEXT_DOMAIN.
103000         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
103001         (func_import): Consider pobase and po_domain. Create a po/ directory.
103002         (func_create_testdir): Set pobase and po_domain to empty.
103003         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
103004         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
103006 2007-07-18  Bruno Haible  <bruno@clisp.org>
103008         * gnulib-tool (func_get_automake_snippet): Synthesize also an
103009         EXTRA_DIST augmentation for files in build-aux/.
103011 2007-07-16  Bruno Haible  <bruno@clisp.org>
103013         * modules/lseek (License): Use the synonymous term "LGPLv2+".
103014         * modules/getdelim (License): Likewise.
103016 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103018         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
103019         * modules/d-type (License): Likewise.
103020         * modules/extensions (License): Likewise.
103021         * modules/fnmatch (License): Likewise.
103022         * modules/fseeko (License): Likewise.
103023         * modules/getaddrinfo (License): Likewise.
103024         * modules/getline (License): Likewise.
103025         * modules/getlogin_r (License): Likewise.
103026         * modules/getpass (License): Likewise.
103027         * modules/gettimeofday (License): Likewise.
103028         * modules/glob (License): Likewise.
103029         * modules/inet_ntop (License): Likewise.
103030         * modules/malloc (License): Likewise.
103031         * modules/malloca (License): Likewise.
103032         * modules/memmem (License): Likewise.
103033         * modules/mempcpy (License): Likewise.
103034         * modules/memset (License): Likewise.
103035         * modules/minmax (License): Likewise.
103036         * modules/mktime (License): Likewise.
103037         * modules/netinet_in (License): Likewise.
103038         * modules/pathmax (License): Likewise.
103039         * modules/poll (License): Likewise.
103040         * modules/regex (License): Likewise.
103041         * modules/snprintf (License): Likewise.
103042         * modules/stdbool (License): Likewise.
103043         * modules/stdint (License): Likewise.
103044         * modules/stdio (License): Likewise.
103045         * modules/strcase (License): Likewise.
103046         * modules/strcasestr (License): Likewise.
103047         * modules/strdup (License): Likewise.
103048         * modules/string (License): Likewise.
103049         * modules/strndup (License): Likewise.
103050         * modules/strnlen (License): Likewise.
103051         * modules/strpbrk (License): Likewise.
103052         * modules/strptime (License): Likewise.
103053         * modules/strsep (License): Likewise.
103054         * modules/sys_select (License): Likewise.
103055         * modules/sys_socket (License): Likewise.
103056         * modules/sys_stat (License): Likewise.
103057         * modules/sys_time (License): Likewise.
103058         * modules/time (License): Likewise.
103059         * modules/time_r (License): Likewise.
103060         * modules/timegm (License): Likewise.
103061         * modules/unistd (License): Likewise.
103062         * modules/vsnprintf (License): Likewise.
103063         * modules/wctype (License): Likewise.
103065 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103067         * modules/argz (License): LGPLv2+.
103069 2007-07-15  Karl Berry  <karl@gnu.org>
103071         * doc/gnulib.texi: revise node structure per new fdl.texi.
103073 2007-07-14  Bruno Haible  <bruno@clisp.org>
103075         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
103076         the output file.
103077         * lib/uniname/uninames.h: Regenerated.
103079 2007-07-14  Karl Berry  <karl@gnu.org>
103081         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
103082         omitting sectioning and index commands.
103084 2007-07-13  Bruno Haible  <bruno@clisp.org>
103086         New gnulib-tool option --more-symlinks.
103087         * gnulib-tool (func_usage): Document --more-symlinks.
103088         (do_copyrights): New variable.
103089         Recognize option --more-symlinks.
103090         (func_import): Don't add a copyright notice transform to
103091         sed_transform_lib_file if do_copyrights is empty.
103093 2007-07-13  Bruno Haible  <bruno@clisp.org>
103095         * lib/vasnprintf.c (decimal_point_char): Define also if
103096         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
103097         && !NEED_PRINTF_DIRECTIVE_A.
103098         Reported by Clemens Koller <clemens.koller@anagramm.de> via
103099         Gary V. Vaughan <gary@gnu.org>.
103101 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
103103         * lib/inttypes_.h: Undo previous change, since it was fixed
103104         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
103106 2007-07-13  Bruno Haible  <bruno@clisp.org>
103108         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
103109         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
103111 2007-07-13  Jim Meyering  <jim@meyering.net>
103113         df: Don't fail for Tru64's "file-on-file mount".
103114         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
103115         so we fall through and use statfs instead.  Details here:
103116         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
103117         Reported by Albert Chin.
103119 2007-07-13  Bruno Haible  <bruno@clisp.org>
103121         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
103122         * modules/configmake (License): Likewise.
103123         * modules/gettext (License): Likewise.
103124         * modules/gettext-h (License): Likewise.
103125         * modules/include_next (License): Likewise.
103126         * modules/link-warning (License): Likewise.
103127         * modules/localcharset (License): Likewise.
103128         * modules/localename (License): Likewise.
103129         * modules/lock (License): Likewise.
103130         * modules/relocatable-lib-lgpl (License): Likewise.
103131         * modules/size_max (License): Likewise.
103132         * modules/vasnprintf (License): Likewise.
103133         * modules/wchar (License): Likewise.
103134         * modules/xsize (License): Likewise.
103136 2007-07-13  Bruno Haible  <bruno@clisp.org>
103138         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
103139         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
103141 2007-07-12  Bruno Haible  <bruno@clisp.org>
103143         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
103144         in the modules files.
103146 2007-07-11  Karl Berry  <karl@gnu.org>
103148         * MODULES.html.sh (func_module): use
103149          sed -e '\|^'"${includefile}"'$|d'
103150          instead of /.../d, to avoid errors on $includefile's containing /.
103152 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
103154         * gnulib-tool (func_import): Avoid duplication of --avoid
103155         statements
103156         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
103157         names to `_' in variable names.
103159 2007-07-10  Eric Blake  <ebb9@byu.net>
103161         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
103162         * NEWS: Document this change.
103164 2007-07-08  Bruno Haible  <bruno@clisp.org>
103166         Update to Unicode 5.0.
103167         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
103168         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
103169         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
103170         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
103171         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
103172         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
103173         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
103174         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
103175         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
103176         U+10A3F, U+1D242..U+1D244.
103177         (nonspacing_table_ind): Update.
103178         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
103179         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
103181 2007-07-08  Bruno Haible  <bruno@clisp.org>
103183         Update to Unicode 5.0.
103184         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
103185         code transform. Extend the name index field of unicode_name_to_code and
103186         unicode_code_to_name from 16 to 24 bits.
103187         * lib/uniname/uniname.c (unicode_character_name,
103188         unicode_name_character): Add the range 0x12xxx to the code transform.
103189         * lib/uniname/uninames.h: Regenerated.
103190         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
103192 2007-07-07  Bruno Haible  <bruno@clisp.org>
103194         * modules/wcwidth-tests: New file.
103195         * tests/test-wcwidth.c: New file.
103197         Work around MacOS X wcwidth() bug.
103198         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
103199         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
103200         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
103201         original wcwidth in non-UTF-8 locales.
103202         * modules/wcwidth (Depends-on): Add localcharset, streq,
103203         uniwidth/width.
103204         * doc/functions/wcwidth.texi: Update.
103206 2007-07-07  Bruno Haible  <bruno@clisp.org>
103208         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
103209         (wcwidth): New declaration.
103210         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
103211         macros.
103212         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
103213         here. Prepare for creating <wchar.h> unconditionally.
103214         * modules/wchar (Depends-on): Add link-warning.
103215         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
103216         REPLACE_WCWIDTH, and GL_LINK_WARNING.
103217         * lib/wcwidth.h: Remove file.
103218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
103219         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
103220         * modules/wcwidth (Files): Remove lib/wcwidth.h.
103221         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
103222         (Include): Replace wcwidth.h with <wchar.h>.
103223         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
103224         * lib/mbchar.h: Don't include wcwidth.h.
103225         * lib/mbswidth.c: Likewise.
103226         * NEWS: Mention the change.
103228 2007-07-07  Bruno Haible  <bruno@clisp.org>
103230         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
103231         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
103232         definition with an external declaration.
103233         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
103234         defined as a function. Remove AC_C_INLINE requirement.
103235         * modules/wcwidth (Files): Add lib/wcwidth.c.
103236         (Makefile.am): Remove redundant statement.
103238 2007-07-07  Bruno Haible  <bruno@clisp.org>
103240         * MODULES.html.sh (Unicode string functions): Add the new modules.
103242         * tests/uniwidth/test-u32-strwidth.c: New file.
103243         * modules/uniwidth/u32-strwidth-tests: New file.
103245         * lib/uniwidth/u32-strwidth.c: New file.
103246         * modules/uniwidth/u32-strwidth: New file.
103248         * tests/uniwidth/test-u16-strwidth.c: New file.
103249         * modules/uniwidth/u16-strwidth-tests: New file.
103251         * lib/uniwidth/u16-strwidth.c: New file.
103252         * modules/uniwidth/u16-strwidth: New file.
103254         * tests/uniwidth/test-u8-strwidth.c: New file.
103255         * modules/uniwidth/u8-strwidth-tests: New file.
103257         * lib/uniwidth/u8-strwidth.c: New file.
103258         * modules/uniwidth/u8-strwidth: New file.
103260         * tests/uniwidth/test-u32-width.c: New file.
103261         * modules/uniwidth/u32-width-tests: New file.
103263         * lib/uniwidth/u32-width.c: New file.
103264         * modules/uniwidth/u32-width: New file.
103266         * tests/uniwidth/test-u16-width.c: New file.
103267         * modules/uniwidth/u16-width-tests: New file.
103269         * lib/uniwidth/u16-width.c: New file.
103270         * modules/uniwidth/u16-width: New file.
103272         * tests/uniwidth/test-u8-width.c: New file.
103273         * modules/uniwidth/u8-width-tests: New file.
103275         * lib/uniwidth/u8-width.c: New file.
103276         * modules/uniwidth/u8-width: New file.
103278         * tests/uniwidth/test-uc_width.c: New file.
103279         * modules/uniwidth/width-tests: New file.
103281         * lib/uniwidth/width.c: New file, from GNU libiconv.
103282         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
103283         * modules/uniwidth/width: New file.
103285         * lib/uniwidth.h: New file, from GNU libiconv.
103286         * modules/uniwidth/base: New file.
103288 2007-07-07  Bruno Haible  <bruno@clisp.org>
103290         * lib/uniname.h: New file, from GNU gettext.
103291         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
103292         * lib/uniname/uninames.h: New file, from GNU gettext.
103293         * lib/uniname/uniname.c: New file, from GNU gettext.
103294         * tests/uniname/test-uninames.sh: New file.
103295         * tests/uniname/test-uninames.c: New file, from GNU gettext.
103296         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
103297         * modules/uniname/base: New file.
103298         * modules/uniname/uniname: New file.
103299         * modules/uniname/uniname-tests: New file.
103300         * MODULES.html.sh (Unicode string functions): Add the new modules.
103302 2007-07-06  Bruno Haible  <bruno@clisp.org>
103304         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
103306 2007-07-06  Bruno Haible  <bruno@clisp.org>
103308         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
103309         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
103310         includes <cygwin/sys_time.h> which includes <sys/select.h> which
103311         include <sys/time.h>.
103312         Reported by Eric Blake.
103314 2007-07-06  Eric Blake  <ebb9@byu.net>
103316         Fix testing canonicalize on cygwin.
103317         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103318         Revert patch from 2007-06-19.
103319         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
103320         canonicalize module is also in use.
103321         * tests/test-canonicalize.c: New file.
103322         * tests/test-canonicalize.sh: Likewise.
103323         * modules/canonicalize-tests: Likewise.
103325 2007-07-06  Jim Meyering  <jim@meyering.net>
103327         * lib/getugroups.c (getugroups): Detect getgrent failure.
103328         Adjust comment to reflect reality: this function may return -1.
103330 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
103332         * build-aux/bootstrap (TP_URL,get_translations): Update to use
103333         the new TP address.
103334         (usage): Fix typo
103335         (gnulib_mk): New variable.
103337 2007-07-05  Jim Meyering  <jim@meyering.net>
103339         Don't let endgrent clobber errno, no matter how improbable.
103340         * lib/getugroups.c (getugroups): Save and restore errno around
103341         endgrent call.
103343         Close the group DB even when failing with 2^31 or more members.
103344         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
103346 2007-07-04  Jim Meyering  <jim@meyering.net>
103348         * lib/getugroups.h: New file.
103349         * lib/getugroups.c: Include "getugroups.h".
103350         Remove uses of "register" keyword.
103351         Move local variable, "cp", down into scope where used.
103352         Give "username" parameter the "const" attribute.
103353         * modules/getugroups (Files): Add lib/getugroups.h
103355 2007-07-04  Karl Berry  <karl@gnu.org>
103357         * MODULES.html.sh (func_all_modules): Complete rename of
103358         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
103360 2007-07-02  Bruno Haible  <bruno@clisp.org>
103362         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
103363         mode, when inttypes.h comes from gnulib.
103364         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
103366 2007-07-02  Simon Josefsson  <simon@josefsson.org>
103368         * NEWS: Mention lgpl module name change.
103370         * modules/lgpl-2.1: Renamed from lgpl.
103372         * NEWS: Mention gpl module name change.
103374         * modules/gpl-3.0: New file, based on gpl-2.0.
103376         * modules/gpl-2.0: Renamed from gpl.
103378         * modules/gpl: Fix filename, doc/gpl.texi is now found at
103379         doc/gpl-2.0.texi.
103381 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
103383         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
103384         #define __STDC_LIMIT_MACROS temporarily while including
103385         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
103386         Problem reported by Joel E. Denny in
103387         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
103389 2007-07-01  Bruno Haible  <bruno@clisp.org>
103391         * lib/unistdio.h: New file.
103392         * lib/unistdio/u-asnprintf.h: New file.
103393         * lib/unistdio/u-asprintf.h: New file.
103394         * lib/unistdio/u-printf-args.c: New file.
103395         * lib/unistdio/u-printf-args.h: New file.
103396         * lib/unistdio/u-printf-parse.h: New file.
103397         * lib/unistdio/u-snprintf.h: New file.
103398         * lib/unistdio/u-sprintf.h: New file.
103399         * lib/unistdio/u-vasprintf.h: New file.
103400         * lib/unistdio/u-vsnprintf.h: New file.
103401         * lib/unistdio/u-vsprintf.h: New file.
103402         * lib/unistdio/ulc-asnprintf.c: New file.
103403         * lib/unistdio/ulc-asprintf.c: New file.
103404         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
103405         * lib/unistdio/ulc-printf-parse.c: New file.
103406         * lib/unistdio/ulc-snprintf.c: New file.
103407         * lib/unistdio/ulc-sprintf.c: New file.
103408         * lib/unistdio/ulc-vasnprintf.c: New file.
103409         * lib/unistdio/ulc-vasprintf.c: New file.
103410         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
103411         * lib/unistdio/ulc-vsnprintf.c: New file.
103412         * lib/unistdio/ulc-vsprintf.c: New file.
103413         * lib/unistdio/u8-asnprintf.c: New file.
103414         * lib/unistdio/u8-asprintf.c: New file.
103415         * lib/unistdio/u8-printf-parse.c: New file.
103416         * lib/unistdio/u8-snprintf.c: New file.
103417         * lib/unistdio/u8-sprintf.c: New file.
103418         * lib/unistdio/u8-vasnprintf.c: New file.
103419         * lib/unistdio/u8-vasprintf.c: New file.
103420         * lib/unistdio/u8-vsnprintf.c: New file.
103421         * lib/unistdio/u8-vsprintf.c: New file.
103422         * lib/unistdio/u8-u8-asnprintf.c: New file.
103423         * lib/unistdio/u8-u8-asprintf.c: New file.
103424         * lib/unistdio/u8-u8-snprintf.c: New file.
103425         * lib/unistdio/u8-u8-sprintf.c: New file.
103426         * lib/unistdio/u8-u8-vasnprintf.c: New file.
103427         * lib/unistdio/u8-u8-vasprintf.c: New file.
103428         * lib/unistdio/u8-u8-vsnprintf.c: New file.
103429         * lib/unistdio/u8-u8-vsprintf.c: New file.
103430         * lib/unistdio/u16-asnprintf.c: New file.
103431         * lib/unistdio/u16-asprintf.c: New file.
103432         * lib/unistdio/u16-printf-parse.c: New file.
103433         * lib/unistdio/u16-snprintf.c: New file.
103434         * lib/unistdio/u16-sprintf.c: New file.
103435         * lib/unistdio/u16-vasnprintf.c: New file.
103436         * lib/unistdio/u16-vasprintf.c: New file.
103437         * lib/unistdio/u16-vsnprintf.c: New file.
103438         * lib/unistdio/u16-vsprintf.c: New file.
103439         * lib/unistdio/u16-u16-asnprintf.c: New file.
103440         * lib/unistdio/u16-u16-asprintf.c: New file.
103441         * lib/unistdio/u16-u16-snprintf.c: New file.
103442         * lib/unistdio/u16-u16-sprintf.c: New file.
103443         * lib/unistdio/u16-u16-vasnprintf.c: New file.
103444         * lib/unistdio/u16-u16-vasprintf.c: New file.
103445         * lib/unistdio/u16-u16-vsnprintf.c: New file.
103446         * lib/unistdio/u16-u16-vsprintf.c: New file.
103447         * lib/unistdio/u32-asnprintf.c: New file.
103448         * lib/unistdio/u32-asprintf.c: New file.
103449         * lib/unistdio/u32-printf-parse.c: New file.
103450         * lib/unistdio/u32-snprintf.c: New file.
103451         * lib/unistdio/u32-sprintf.c: New file.
103452         * lib/unistdio/u32-vasnprintf.c: New file.
103453         * lib/unistdio/u32-vasprintf.c: New file.
103454         * lib/unistdio/u32-vsnprintf.c: New file.
103455         * lib/unistdio/u32-vsprintf.c: New file.
103456         * lib/unistdio/u32-u32-asnprintf.c: New file.
103457         * lib/unistdio/u32-u32-asprintf.c: New file.
103458         * lib/unistdio/u32-u32-snprintf.c: New file.
103459         * lib/unistdio/u32-u32-sprintf.c: New file.
103460         * lib/unistdio/u32-u32-vasnprintf.c: New file.
103461         * lib/unistdio/u32-u32-vasprintf.c: New file.
103462         * lib/unistdio/u32-u32-vsnprintf.c: New file.
103463         * lib/unistdio/u32-u32-vsprintf.c: New file.
103464         * tests/unistdio/test-ulc-asnprintf1.c: New file.
103465         * tests/unistdio/test-ulc-asnprintf1.h: New file.
103466         * tests/unistdio/test-ulc-printf1.h: New file.
103467         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
103468         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
103469         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
103470         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
103471         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
103472         * tests/unistdio/test-ulc-vasprintf1.c: New file.
103473         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
103474         * tests/unistdio/test-ulc-vsprintf1.c: New file.
103475         * tests/unistdio/test-u8-asnprintf1.c: New file.
103476         * tests/unistdio/test-u8-asnprintf1.h: New file.
103477         * tests/unistdio/test-u8-printf1.h: New file.
103478         * tests/unistdio/test-u8-vasnprintf1.c: New file.
103479         * tests/unistdio/test-u8-vasnprintf2.c: New file.
103480         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
103481         * tests/unistdio/test-u8-vasnprintf3.c: New file.
103482         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
103483         * tests/unistdio/test-u8-vasprintf1.c: New file.
103484         * tests/unistdio/test-u8-vsnprintf1.c: New file.
103485         * tests/unistdio/test-u8-vsprintf1.c: New file.
103486         * tests/unistdio/test-u16-asnprintf1.c: New file.
103487         * tests/unistdio/test-u16-asnprintf1.h: New file.
103488         * tests/unistdio/test-u16-printf1.h: New file.
103489         * tests/unistdio/test-u16-vasnprintf1.c: New file.
103490         * tests/unistdio/test-u16-vasnprintf2.c: New file.
103491         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
103492         * tests/unistdio/test-u16-vasnprintf3.c: New file.
103493         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
103494         * tests/unistdio/test-u16-vasprintf1.c: New file.
103495         * tests/unistdio/test-u16-vsnprintf1.c: New file.
103496         * tests/unistdio/test-u16-vsprintf1.c: New file.
103497         * tests/unistdio/test-u32-asnprintf1.c: New file.
103498         * tests/unistdio/test-u32-asnprintf1.h: New file.
103499         * tests/unistdio/test-u32-printf1.h: New file.
103500         * tests/unistdio/test-u32-vasnprintf1.c: New file.
103501         * tests/unistdio/test-u32-vasnprintf2.c: New file.
103502         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
103503         * tests/unistdio/test-u32-vasnprintf3.c: New file.
103504         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
103505         * tests/unistdio/test-u32-vasprintf1.c: New file.
103506         * tests/unistdio/test-u32-vsnprintf1.c: New file.
103507         * tests/unistdio/test-u32-vsprintf1.c: New file.
103508         * modules/unistdio/base: New file.
103509         * modules/unistdio/u-printf-args: New file.
103510         * modules/unistdio/ulc-asnprintf: New file.
103511         * modules/unistdio/ulc-asprintf: New file.
103512         * modules/unistdio/ulc-fprintf: New file.
103513         * modules/unistdio/ulc-printf-parse: New file.
103514         * modules/unistdio/ulc-snprintf: New file.
103515         * modules/unistdio/ulc-sprintf: New file.
103516         * modules/unistdio/ulc-vasnprintf: New file.
103517         * modules/unistdio/ulc-vasprintf: New file.
103518         * modules/unistdio/ulc-vfprintf: New file.
103519         * modules/unistdio/ulc-vsnprintf: New file.
103520         * modules/unistdio/ulc-vsprintf: New file.
103521         * modules/unistdio/u8-asnprintf: New file.
103522         * modules/unistdio/u8-asprintf: New file.
103523         * modules/unistdio/u8-printf-parse: New file.
103524         * modules/unistdio/u8-snprintf: New file.
103525         * modules/unistdio/u8-sprintf: New file.
103526         * modules/unistdio/u8-vasnprintf: New file.
103527         * modules/unistdio/u8-vasprintf: New file.
103528         * modules/unistdio/u8-vsnprintf: New file.
103529         * modules/unistdio/u8-vsprintf: New file.
103530         * modules/unistdio/u8-u8-asnprintf: New file.
103531         * modules/unistdio/u8-u8-asprintf: New file.
103532         * modules/unistdio/u8-u8-snprintf: New file.
103533         * modules/unistdio/u8-u8-sprintf: New file.
103534         * modules/unistdio/u8-u8-vasnprintf: New file.
103535         * modules/unistdio/u8-u8-vasprintf: New file.
103536         * modules/unistdio/u8-u8-vsnprintf: New file.
103537         * modules/unistdio/u8-u8-vsprintf: New file.
103538         * modules/unistdio/u16-asnprintf: New file.
103539         * modules/unistdio/u16-asprintf: New file.
103540         * modules/unistdio/u16-printf-parse: New file.
103541         * modules/unistdio/u16-snprintf: New file.
103542         * modules/unistdio/u16-sprintf: New file.
103543         * modules/unistdio/u16-vasnprintf: New file.
103544         * modules/unistdio/u16-vasprintf: New file.
103545         * modules/unistdio/u16-vsnprintf: New file.
103546         * modules/unistdio/u16-vsprintf: New file.
103547         * modules/unistdio/u16-u16-asnprintf: New file.
103548         * modules/unistdio/u16-u16-asprintf: New file.
103549         * modules/unistdio/u16-u16-snprintf: New file.
103550         * modules/unistdio/u16-u16-sprintf: New file.
103551         * modules/unistdio/u16-u16-vasnprintf: New file.
103552         * modules/unistdio/u16-u16-vasprintf: New file.
103553         * modules/unistdio/u16-u16-vsnprintf: New file.
103554         * modules/unistdio/u16-u16-vsprintf: New file.
103555         * modules/unistdio/u32-asnprintf: New file.
103556         * modules/unistdio/u32-asprintf: New file.
103557         * modules/unistdio/u32-printf-parse: New file.
103558         * modules/unistdio/u32-snprintf: New file.
103559         * modules/unistdio/u32-sprintf: New file.
103560         * modules/unistdio/u32-vasnprintf: New file.
103561         * modules/unistdio/u32-vasprintf: New file.
103562         * modules/unistdio/u32-vsnprintf: New file.
103563         * modules/unistdio/u32-vsprintf: New file.
103564         * modules/unistdio/u32-u32-asnprintf: New file.
103565         * modules/unistdio/u32-u32-asprintf: New file.
103566         * modules/unistdio/u32-u32-snprintf: New file.
103567         * modules/unistdio/u32-u32-sprintf: New file.
103568         * modules/unistdio/u32-u32-vasnprintf: New file.
103569         * modules/unistdio/u32-u32-vasprintf: New file.
103570         * modules/unistdio/u32-u32-vsnprintf: New file.
103571         * modules/unistdio/u32-u32-vsprintf: New file.
103572         * modules/unistdio/ulc-asnprintf-tests: New file.
103573         * modules/unistdio/ulc-vasnprintf-tests: New file.
103574         * modules/unistdio/ulc-vasprintf-tests: New file.
103575         * modules/unistdio/ulc-vsnprintf-tests: New file.
103576         * modules/unistdio/ulc-vsprintf-tests: New file.
103577         * modules/unistdio/u8-asnprintf-tests: New file.
103578         * modules/unistdio/u8-vasnprintf-tests: New file.
103579         * modules/unistdio/u8-vasprintf-tests: New file.
103580         * modules/unistdio/u8-vsnprintf-tests: New file.
103581         * modules/unistdio/u8-vsprintf-tests: New file.
103582         * modules/unistdio/u16-asnprintf-tests: New file.
103583         * modules/unistdio/u16-vasnprintf-tests: New file.
103584         * modules/unistdio/u16-vasprintf-tests: New file.
103585         * modules/unistdio/u16-vsnprintf-tests: New file.
103586         * modules/unistdio/u16-vsprintf-tests: New file.
103587         * modules/unistdio/u32-asnprintf-tests: New file.
103588         * modules/unistdio/u32-vasnprintf-tests: New file.
103589         * modules/unistdio/u32-vasprintf-tests: New file.
103590         * modules/unistdio/u32-vsnprintf-tests: New file.
103591         * modules/unistdio/u32-vsprintf-tests: New file.
103592         * MODULES.html.sh (Unicode string functions): Add the new modules.
103594 2007-07-01  Bruno Haible  <bruno@clisp.org>
103596         * lib/sprintf.c (sprintf): Limit the available length estimation,
103597         to avoid address wraparound.
103598         * lib/vsprintf.c (vsprintf): Likewise.
103599         * modules/sprintf-posix (Dependencies): Add stdint.
103600         * modules/vsprintf-posix (Dependencies): Likewise.
103602 2007-07-01  Bruno Haible  <bruno@clisp.org>
103604         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
103605         Windows PATH as well. Conservative double-quoting. Comments.
103607 2007-07-01  Bruno Haible  <bruno@clisp.org>
103608             Eric Blake  <ebb9@byu.net>
103609             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103611         * gnulib-tool (self_abspathname): Fix algorithm to cope with
103612         empty components in $PATH, denoting '.'.
103614 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103616         * gnulib-tool: Fix indentation.
103617         (func_create_megatestdir): Likewise.
103618         Report by Bruno Haible.
103620 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103622         Sync from Automake.
103623         * build-aux/gnupload: Fix shell portability issues with for loops.
103624         Report by Karl Berry.
103626 2007-06-29  Simon Josefsson  <simon@josefsson.org>
103628         * build-aux/maint.mk (POURL): Use translationproject.org.
103630 2007-06-27  Simon Josefsson  <simon@josefsson.org>
103631             Bruno Haible  <bruno@clisp.org>
103633         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
103634         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
103635         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
103636         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
103637         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
103639 2007-06-27  Bruno Haible  <bruno@clisp.org>
103641         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
103642         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
103644 2007-06-26  Karl Berry  <karl@gnu.org>
103646         * MODULES.html.sh: remove xreadlink-with-size.
103648 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103650         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
103651         method that I hope also handles the double-include problem noted
103652         by Bruno Haible in
103653         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
103655 2007-06-23  Bruno Haible  <bruno@clisp.org>
103657         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
103658         Don't let the 'mostlyclean' target fail if the last subdirectory could
103659         not be removed.
103660         Reported by Karl Berry.
103662 2007-06-23  Bruno Haible  <bruno@clisp.org>
103664         * gnulib-tool (echo): Add a speedier workaround for ksh.
103665         * tests/test-echo.sh: Likewise.
103667 2007-06-23  Bruno Haible  <bruno@clisp.org>
103669         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
103670         * tests/test-echo.sh: Likewise.
103672 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103674         * gnulib-tool (IFS): Initialize early, so we don't set it to
103675         empty later.
103676         (self_abspathname): Rewrite algorithm to set it, reindent.
103677         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
103678         (func_create_megatestdir): Merge some sed scripts.
103680 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103682         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
103683         exposed by Sun Studio 11 cc on Solaris 8.
103685 2007-06-22  Bruno Haible  <bruno@clisp.org>
103687         * gnulib-tool (echo): Ensure the echo primitive does not interpret
103688         backslashes.
103689         * tests/test-echo.sh: New file.
103691 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103693         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
103694         simplify `sed_replace_build_aux' scripts, they are portable but
103695         echoing them with `echo' is not.
103696         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
103698 2007-06-21  Karl Berry  <karl@gnu.org>
103700         * config/srclist.txt: guess we can't handle the licenses via
103701         srclist at the moment.
103703 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
103705         * MODULES.html.sh: Add include_next.
103706         * modules/include_next: New file.
103708 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
103710         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
103711         INCLUDE_NEXT.
103712         (gl_CHECK_NEXT_HEADERS): New macro.
103713         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
103714         the obsolescent gl_ABSOLUTE_HEADER.
103715         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
103716         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
103717         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
103718         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
103719         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
103720         * m4/math_h.m4 (gl_MATH_H): Likewise.
103721         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
103722         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
103723         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
103724         * m4/stdint.m4 (gl_STDINT_H): Likewise.
103725         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
103726         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
103727         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
103728         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
103729         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
103730         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
103731         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
103732         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
103733         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
103734         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
103735         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
103736         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
103737         * m4/inttypes.m4 (gl_INTTYPES_H): Define
103738         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
103739         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
103740         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
103741         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
103742         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
103743         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
103744         * lib/float_.h: Likewise.
103745         * lib/inttypes_.h: Likewise.
103746         * lib/math_.h: Likewise.
103747         * lib/search_.h: Likewise.
103748         * lib/signal_.h: Likewise.
103749         * lib/stdint_.h: Likewise.
103750         * lib/stdio_.h: Likewise.
103751         * lib/stdlib_.h: Likewise.
103752         * lib/string_.h: Likewise.
103753         * lib/sys_stat_.h: Likewise.
103754         * lib/sys_time_.h: Likewise.
103755         * lib/time_.h: Likewise.
103756         * lib/unistd_.h: Likewise.
103757         * lib/wchar_.h: Likewise.
103758         * lib/wctype_.h: Likewise.
103759         * lib/dirent_.h: Likewise.
103760         * lib/iconv_.h: Likewise.
103761         * lib/locale_.h: Likewise.
103762         * lib/netinet_in_.h: Likewise.
103763         * lib/sys_select_.h: Likewise.
103764         * lib/sys_socket_.h: Likewise.
103765         * lib/sysexits_.h: Likewise.
103766         * modules/fcntl (Depends-on): Depend on include_next, not
103767         absolute_header.
103768         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
103769         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
103770         * modules/fchdir: Likewise.
103771         * modules/float: Likewise.
103772         * modules/iconv_open: Likewise.
103773         * modules/inttypes: Likewise.
103774         * modules/locale: Likewise.
103775         * modules/math: Likewise.
103776         * modules/netinet_in: Likewise.
103777         * modules/search: Likewise.
103778         * modules/signal: Likewise.
103779         * modules/stdint: Likewise.
103780         * modules/stdio: Likewise.
103781         * modules/stdlib: Likewise.
103782         * modules/string: Likewise.
103783         * modules/sys_select: Likewise.
103784         * modules/sys_socket: Likewise.
103785         * modules/sys_stat: Likewise.
103786         * modules/sys_time: Likewise.
103787         * modules/sysexits: Likewise.
103788         * modules/time: Likewise.
103789         * modules/unistd: Likewise.
103790         * modules/wchar: Likewise.
103791         * modules/wctype: Likewise.
103792         * modules/sys_stat: Change maintainer to "all".
103793         * modules/unistd: Likewise.
103795 2007-06-20  Karl Berry  <karl@gnu.org>
103797         * config/srclist.txt: track www changes in license files.
103799 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
103801         * build-aux/bootstrap: Remove stray dot.
103802         Make sure build_aux settings are honored when linking
103803         gnulib_extra_files.
103805 2007-06-19  Eric Blake  <ebb9@byu.net>
103807         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103808         Allow compilation on cygwin.
103810 2007-06-19  Jim Meyering  <jim@meyering.net>
103812         xreadlink-with-size: Remove module.  No longer used.
103813         Ex-callers now use xreadlink or mreadlink-with-size.
103814         * modules/xreadlink-with-size: Remove module.
103815         * lib/xreadlink-with-size.c: Remove file.
103816         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
103817         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
103818         just before the function definition *is* accurate.
103820         Eliminate one way canonicalize_filename_mode could exit.
103821         * lib/canonicalize.c (canonicalize_filename_mode):
103822         Use mreadlink_with_size, not xreadlink_with_size.
103824 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
103826         Detect porting problems to FreeBSD/arm, which has time_t wider than
103827         long int.  Original problem reported for GNU diff by Xin Li in
103828         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
103829         * modules/getdate (Depends-on): Add intprops, verify.
103830         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
103831         is an integer type no wider than long int.
103833 2007-06-18  Jim Meyering  <jim@meyering.net>
103835         New module: mreadlink-with-size.
103836         * MODULES.html.sh: Add mreadlink-with-size.
103837         * modules/mreadlink-with-size: New module
103838         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
103839         not xreadlink-with-size.
103840         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
103842 2007-06-16  Bruno Haible  <bruno@clisp.org>
103844         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
103845         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
103846         Reported by Gary V. Vaughan <gary@gnu.org>.
103848 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
103850         Revamp lchown so that it lives in unistd.h where it belongs.
103851         * lib/lchown.h: Remove.
103852         * lib/dirchownmod.c: Don't include lib/lchown.h.
103853         * lib/fchownat.c: Likewise.
103854         * lib/openat.c: Likewise.
103855         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
103856         does not follow symlinks.
103857         (EOPNOTSUPP): Define if not defined.
103858         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
103859         is defined to 0.
103860         (lchown): New decl.
103861         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
103862         Do not check for lchown decl.
103863         Set REPLACE_LCHOWN.
103864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
103865         REPLACE_LCHOWN.
103866         * modules/chown: Make it clear it follows symlinks.
103867         * modules/lchown: Make it clear it doesn't follow symlinks.
103868         (Files): Remove lib/lchown.h
103869         (Depends-on): Add unistd.
103870         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
103871         (Include): Include <unistd.h>, not "lchown.h".
103872         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
103873         REPLACE_LCHOWN.
103875 2007-06-15  Jim Meyering  <jim@meyering.net>
103877         Change license (GPL to LGPL) of fsusage and dependents.
103878         * modules/fsusage (License): Change to LGPL.
103879         * modules/full-read (License): Likewise.
103880         * modules/full-write (License): Likewise.
103881         * modules/safe-read (License): Likewise.
103882         * modules/safe-write (License): Likewise.
103884 2007-06-14  Ben Pfaff  <blp@gnu.org>
103886         Missing part of allocsa -> malloca transition.
103887         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
103888         gl_MALLOCA.
103890 2007-06-12  Bruno Haible  <bruno@clisp.org>
103892         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
103893         to ia64, x86_64, i386.
103894         Reported by Eric Blake.
103896 2007-06-12  Bruno Haible  <bruno@clisp.org>
103898         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
103899         cross-compiling to x86_64.
103901 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103903         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
103904         glitch reported by Ralf Wildenhues in
103905         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
103907         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
103908         Vin Shelton.
103910 2007-06-11  Bruno Haible  <bruno@clisp.org>
103912         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
103913         replacement string.
103914         Reported by Eric Blake.
103916 2007-06-10  Bruno Haible  <bruno@clisp.org>
103918         Prepare vasnprintf code for use with Unicode strings.
103919         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
103920         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
103921         TYPE_U32_STRING.
103922         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
103923         a_u32_string variants.
103924         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103925         * lib/printf-args.c: Don't include config.h and the specification
103926         header if PRINTF_FETCHARGS is already defined.
103927         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103928         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
103929         TYPE_U16_STRING, TYPE_U32_STRING.
103930         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
103931         u16_directive, u16_directives, u32_directive, u32_directives): New
103932         types.
103933         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
103934         New declarations.
103935         * lib/printf-parse.c: Don't include config.h and the specification
103936         header if PRINTF_PARSE is already defined. Eliminate the set of
103937         parameters for WIDE_CHAR_VERSION; the user of this file must provide
103938         them now. Include c-ctype.h.
103939         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
103940         directive and CHAR_T_ONLY_ASCII.
103941         * lib/vasnprintf.c: Don't include config.h and the specification header
103942         if VASNPRINTF is already defined.
103943         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
103944         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
103945         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
103946         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
103947         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
103948         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
103949         code accordingly.
103950         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
103951         pad_ourselves also in this case, with the 'c' and 's' directives, and
103952         with a different notion of "width".
103953         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
103955 2007-06-10  Bruno Haible  <bruno@clisp.org>
103957         * modules/unistr/u32-mbsnlen: New file.
103958         * lib/unistr/u32-mbsnlen.c: New file.
103960         * modules/unistr/u16-mbsnlen: New file.
103961         * lib/unistr/u16-mbsnlen.c: New file.
103963         * modules/unistr/u8-mbsnlen: New file.
103964         * lib/unistr/u8-mbsnlen.c: New file.
103966         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
103967         declarations.
103969 2007-06-10  Bruno Haible  <bruno@clisp.org>
103971         * lib/string_.h (mbsnlen): New declaration.
103972         * lib/mbsnlen.c: New file.
103973         * m4/mbsnlen.m4: New file.
103974         * modules/mbsnlen: New file.
103975         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
103976         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
103977         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
103979 2007-06-10  Bruno Haible  <bruno@clisp.org>
103981         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
103983 2007-06-10  Bruno Haible  <bruno@clisp.org>
103985         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
103986         * lib/mbuiter.h: Likewise.
103988 2007-06-10  Bruno Haible  <bruno@clisp.org>
103990         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
103991         declaration.
103993 2007-06-10  Karl Berry  <karl@gnu.org>
103995         * config/srclist.txt: remove gettext entries, Bruno prefers
103996         to update individually.
103998 2007-06-10  Bruno Haible  <bruno@clisp.org>
104000         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
104001         'maxlen'. Ensure only length + width bytes are allocated, not
104002         length + 1 + width.
104004 2007-06-09  Bruno Haible  <bruno@clisp.org>
104006         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
104007         (CHAR_T): Remove macro.
104008         (VASNPRINTF): Update.
104010 2007-06-09  Bruno Haible  <bruno@clisp.org>
104012         * MODULES.html.sh (Unicode string functions): Add the new modules.
104014         * modules/uniconv/u32-conv-to-enc: New file.
104015         * lib/uniconv/u32-conv-to-enc.c: New file.
104016         * modules/uniconv/u32-conv-to-enc-tests: New file.
104017         * tests/uniconv/test-u32-conv-to-enc.c: New file.
104019         * modules/uniconv/u16-conv-to-enc: New file.
104020         * lib/uniconv/u16-conv-to-enc.c: New file.
104021         * lib/uniconv/u-conv-to-enc.h: New file.
104022         * modules/uniconv/u16-conv-to-enc-tests: New file.
104023         * tests/uniconv/test-u16-conv-to-enc.c: New file.
104025         * modules/uniconv/u8-conv-to-enc: New file.
104026         * lib/uniconv/u8-conv-to-enc.c: New file.
104027         * modules/uniconv/u8-conv-to-enc-tests: New file.
104028         * tests/uniconv/test-u8-conv-to-enc.c: New file.
104030         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
104031         u32_conv_to_encoding): New declarations.
104033 2007-06-09  Bruno Haible  <bruno@clisp.org>
104035         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
104037 2007-06-09  Bruno Haible  <bruno@clisp.org>
104039         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
104040         * modules/malloca: Renamed from modules/allocsa, updated.
104041         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
104042         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
104043         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
104044         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
104045         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
104046         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
104047         * modules/xmalloca: Renamed from modules/xallocsa, updated.
104048         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
104049         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
104050         * modules/c-strcasestr (Depends-on): Update.
104051         * lib/c-strcasestr.c: Update.
104052         * modules/c-strstr (Depends-on): Update.
104053         * lib/c-strstr.c: Update.
104054         * modules/canonicalize-lgpl (Depends-on): Update.
104055         * lib/canonicalize-lgpl.c: Update.
104056         * modules/clean-temp (Depends-on): Update.
104057         * lib/clean-temp.c: Update.
104058         * modules/csharpcomp (Depends-on): Update.
104059         * lib/csharpcomp.c: Update.
104060         * modules/csharpexec (Depends-on): Update.
104061         * lib/csharpexec.c: Update.
104062         * modules/javacomp (Depends-on): Update.
104063         * lib/javacomp.c: Update.
104064         * modules/javaexec (Depends-on): Update.
104065         * lib/javaexec.c: Update.
104066         * modules/mbscasestr (Depends-on): Update.
104067         * lib/mbscasestr.c: Update.
104068         * modules/mbsstr (Depends-on): Update.
104069         * lib/mbsstr.c: Update.
104070         * modules/setenv (Depends-on): Update.
104071         * lib/setenv.c: Update.
104072         * modules/strcasestr (Depends-on): Update.
104073         * lib/strcasestr.c: Update.
104074         * modules/striconveha (Depends-on): Update.
104075         * lib/striconveha.c: Update.
104076         * modules/relocatable-prog-wrapper (Files): Update.
104077         * lib/relocwrapper.c: Update.
104078         * build-aux/install-reloc: Update.
104079         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
104081 2007-06-08  Bruno Haible  <bruno@clisp.org>
104083         Port to uClibc.
104084         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
104085         * lib/fpurge.c (fpurge): Likewise.
104086         * lib/freading.c (freading): Likewise.
104087         * lib/fseeko.c (rpl_fseeko): Likewise.
104088         * lib/fseterr.c (fseterr): Likewise.
104089         * lib/fwriting.c (fwriting): Likewise.
104090         * tests/test-fflush.c (main): Avoid a failure on uClibc.
104092 2007-06-08  Bruno Haible  <bruno@clisp.org>
104094         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
104095         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
104096         * modules/gettext (Files): Add m4/intlmacosx.m4.
104098 2007-06-07  Bruno Haible  <bruno@clisp.org>
104100         * modules/localename-tests: New file.
104101         * tests/test-localename.c: New file.
104103         New module 'localename'.
104104         * lib/localename.h: New file.
104105         * lib/localename.c: New file, from GNU gettext.
104106         * m4/localename.m4: New file.
104107         * modules/localename: New file.
104109 2007-06-07  Bruno Haible  <bruno@clisp.org>
104111         Work around the lack of <wchar.h> on some builds of uClibc.
104112         * doc/headers/wchar.texi: Update.
104113         * lib/wchar_.h: Include <wchar.h> only if it exists.
104114         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
104115         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
104116         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
104117         doesn't exist.
104118         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
104119         * modules/mbfile (Depends-on): Add wchar.
104120         * modules/mbiter (Depends-on): Likewise.
104121         * modules/mbuiter (Depends-on): Likewise.
104122         Reported by Simon Josefsson.
104124 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
104126         Work around problem reported by Steven M. Schweda in
104127         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
104128         Tru64 5.1B with the Compaq compiler environment installed declares
104129         an 'isblank' function but does not define it in the C library.
104130         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
104131         * lib/regex_internal.h (isblank): Likewise.
104132         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
104133         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104135 2007-06-05  Bruno Haible  <bruno@clisp.org>
104137         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
104138         ia64.
104139         * modules/printf-safe: New file.
104140         * modules/fprintf-posix (Depends-on): Add printf-safe.
104141         * modules/printf-posix (Depends-on): Likewise.
104142         * modules/snprintf-posix (Depends-on): Likewise.
104143         * modules/sprintf-posix (Depends-on): Likewise.
104144         * modules/vasnprintf-posix (Depends-on): Likewise.
104145         * modules/vasprintf-posix (Depends-on): Likewise.
104146         * modules/vfprintf-posix (Depends-on): Likewise.
104147         * modules/vprintf-posix (Depends-on): Likewise.
104148         * modules/vsnprintf-posix (Depends-on): Likewise.
104149         * modules/vsprintf-posix (Depends-on): Likewise.
104150         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
104151         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
104152         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
104153         "no" on i386, x86_64, ia64.
104154         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
104155         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104156         on i386, x86_64, ia64.
104157         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
104158         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104159         on i386, x86_64, ia64.
104160         * tests/test-vasnprintf-posix.c: Include float.h.
104161         (LDBL80_WORDS): New macro.
104162         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104163         on i386, x86_64, ia64.
104164         * tests/test-vasprintf-posix.c: Include float.h.
104165         (LDBL80_WORDS): New macro.
104166         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
104167         on i386, x86_64, ia64.
104168         * tests/test-snprintf-posix.c: Include float.h.
104169         * tests/test-sprintf-posix.c: Likewise.
104170         * tests/test-vsnprintf-posix.c: Likewise.
104171         * tests/test-vsprintf-posix.c: Likewise.
104173 2007-06-05  Bruno Haible  <bruno@clisp.org>
104175         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
104176         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
104177         non-IEEE numbers on i386, x86_64, ia64.
104178         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
104179         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
104180         * tests/test-isnanl.h: Include float.h.
104181         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
104183 2007-06-05  Bruno Haible  <bruno@clisp.org>
104185         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
104186         also the %a / %A. Handle the %a / %A code before this extra handling.
104188 2007-06-05  Bruno Haible  <bruno@clisp.org>
104190         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
104191         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
104193 2007-06-05  Bruno Haible  <bruno@clisp.org>
104195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
104196         typo in variable name.
104198 2007-06-05  Eric Blake  <ebb9@byu.net>
104200         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
104201         Reported by Simon Josefsson.
104203 2007-06-04  Bruno Haible  <bruno@clisp.org>
104205         Avoid test failures on some PowerPC platforms.
104206         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
104207         Define differently for PowerPC.
104208         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
104209         Reported by Gary V. Vaughan <gary@gnu.org>.
104211 2007-06-02  Bruno Haible  <bruno@clisp.org>
104213         Fix test-stdint failure on FreeBSD/ia64.
104214         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
104215         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
104216         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
104217         * doc/headers/stdint.texi: Update.
104219 2007-06-01  Bruno Haible  <bruno@clisp.org>
104221         * tests/test-binary-io.c (main): Pass a third argument to open().
104222         Reported by Gary V. Vaughan <gary@gnu.org>.
104224 2007-06-01  Bruno Haible  <bruno@clisp.org>
104226         * doc/functions/frexpl.texi: Update for mingw.
104228 2007-06-01  Bruno Haible  <bruno@clisp.org>
104230         * tests/test-lseek.c (main): Disable test of errno for invalid third
104231         argument.
104232         * doc/functions/lseek.texi: Update.
104233         Reported by Gary V. Vaughan <gary@gnu.org>.
104235 2007-05-28  Bruno Haible  <bruno@clisp.org>
104237         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
104239 2007-05-31  Eric Blake  <ebb9@byu.net>
104241         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
104242         cross compiling.
104244 2007-05-30  Eric Blake  <ebb9@byu.net>
104245         and Bruno Haible  <bruno@clisp.org>
104247         Work around mingw test failures exposed by m4-1.4.9b.
104248         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
104249         * tests/test-unistd.c: Disable uid_t and git_t tests for the
104250         moment.
104252 2007-05-30  Bruno Haible  <bruno@clisp.org>
104254         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
104255         assuming that they are closed. Needed on HP-UX 11.
104257 2007-05-29  Bruno Haible  <bruno@clisp.org>
104259         Fix a problem with #include_next.
104260         * lib/dirent_.h: Split the double-inclusion guard.
104261         * lib/fcntl_.h: Likewise.
104262         * lib/float_.h: Likewise.
104263         * lib/iconv_.h: Likewise.
104264         * lib/inttypes_.h: Likewise.
104265         * lib/locale_.h: Likewise.
104266         * lib/math_.h: Likewise.
104267         * lib/netinet_in_.h: Likewise.
104268         * lib/search_.h: Likewise.
104269         * lib/signal_.h: Likewise.
104270         * lib/stdint_.h: Likewise.
104271         * lib/stdio_.h: Likewise.
104272         * lib/stdlib_.h: Likewise.
104273         * lib/string_.h: Likewise.
104274         * lib/sys_select_.h: Likewise.
104275         * lib/sys_socket_.h: Likewise.
104276         * lib/sys_stat_.h: Likewise.
104277         * lib/sys_time_.h: Likewise.
104278         * lib/sysexits_.h: Likewise.
104279         * lib/time_.h: Likewise.
104280         * lib/unistd_.h: Likewise.
104281         * lib/wchar_.h: Likewise.
104282         * lib/wctype_.h: Likewise.
104284 2007-05-29  Bruno Haible  <bruno@clisp.org>
104286         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
104287         for the moment.
104289 2007-05-29  Bruno Haible  <bruno@clisp.org>
104291         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
104292         invocation.
104293         Reported by Eric Blake.
104295 2007-05-29  Bruno Haible  <bruno@clisp.org>
104297         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
104298         compiling case.
104300 2007-05-29  Eric Blake  <ebb9@byu.net>
104301             Bruno Haible  <bruno@clisp.org>
104303         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
104304         cross compiles.
104306 2007-05-28  Eric Blake  <ebb9@byu.net>
104308         * modules/closein-tests (test_closein_LDADD): Support test on
104309         cygwin with libtool.
104311 2007-05-28  Bruno Haible  <bruno@clisp.org>
104313         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
104314         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
104315         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
104316         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
104317         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
104318         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
104319         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
104320         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
104321         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
104323 2007-05-28  Eric Blake  <ebb9@byu.net>
104325         Unconditionally include <config.h> in unit tests.
104326         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
104327         * tests/test-allocsa.c, tests/test-arcfour.c,
104328         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
104329         tests/test-array_list.c, tests/test-array_oset.c,
104330         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
104331         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
104332         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
104333         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
104334         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
104335         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
104336         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
104337         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
104338         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
104339         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
104340         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
104341         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
104342         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
104343         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
104344         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
104345         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
104346         test-md5.c, test-memmem.c, test-printf-posix.c,
104347         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
104348         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
104349         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
104350         test-strcasestr.c, test-striconv.c, test-striconveh.c,
104351         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
104352         test-vasnprintf-posix2.c, test-vasnprintf.c,
104353         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
104354         test-vfprintf-posix.c, test-vprintf-posix.c,
104355         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
104356         test-xvasprintf.c: Likewise.
104358 2007-05-28  Bruno Haible  <bruno@clisp.org>
104360         * gnulib-tool (func_import): Remember the --with-tests command-line
104361         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
104362         Reported by Eric Blake.
104364 2007-05-28  Bruno Haible  <bruno@clisp.org>
104366         * modules/ftell-tests: New file.
104367         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
104368         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
104370         * lib/ftell.c: New file.
104371         * modules/ftell: New file.
104372         * m4/ftell.m4: New file.
104373         * doc/functions/ftell.texi: Update.
104374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
104375         REPLACE_FTELL.
104376         * lib/stdio_.h (rpl_ftell): New declaration.
104377         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
104378         REPLACE_FTELL.
104380 2007-05-28  Eric Blake  <ebb9@byu.net>
104382         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
104384 2007-05-28  Bruno Haible  <bruno@clisp.org>
104386         * modules/fseek-tests: New file.
104387         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
104388         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
104390         * lib/fseek.c: New file.
104391         * modules/fseek: New file.
104392         * m4/fseek.m4: New file.
104393         * doc/functions/fseek.texi: Update.
104394         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
104395         REPLACE_FSEEK.
104396         * lib/stdio_.h (rpl_fseek): New declaration.
104397         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
104398         REPLACE_FSEEK.
104400 2007-05-28  Bruno Haible  <bruno@clisp.org>
104402         * lib/stdio_.h (fflush): More comments.
104404 2007-05-28  Bruno Haible  <bruno@clisp.org>
104406         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
104407         runtime test.
104409 2007-05-28  Eric Blake  <ebb9@byu.net>
104411         Improve lseek module.
104412         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
104413         * lib/unistd_.h (lseek): Scale back link warning message.
104414         * tests/test-lseek.c: Beef up test.
104415         * tests/test-lseek.sh: Exercise more facets of lseek.
104416         Reported by Bruno Haible.
104418 2007-05-28  Bruno Haible  <bruno@clisp.org>
104420         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
104421         to define.
104423 2007-05-27  Bruno Haible  <bruno@clisp.org>
104425         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
104427 2007-05-27  Bruno Haible  <bruno@clisp.org>
104429         * modules/openmp: New file.
104430         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
104431         Noah Misch.
104433 2007-05-26  Bruno Haible  <bruno@clisp.org>
104435         * modules/chdir-long (Depends-on): Add fchdir.
104436         * modules/chdir-safer (Depends-on): Likewise.
104437         * modules/fts (Depends-on): Likewise.
104438         * modules/fts-lgpl (Depends-on): Likewise.
104439         * modules/openat (Depends-on): Likewise.
104440         * modules/savewd (Depends-on): Likewise.
104442 2007-05-24  Eric Blake  <ebb9@byu.net>
104444         Fix lseek on mingw.
104445         * modules/lseek: New module.
104446         * m4/lseek.m4: New file.
104447         * lib/lseek.c: New file.
104448         * modules/lseek-tests: New file.
104449         * tests/test-lseek.c: New file.
104450         * tests/test-lseek.sh: New file.
104451         * MODULES.html.sh: Document lseek module.
104452         * modules/fflush (Depends-on): Add lseek, fseeko.
104453         * modules/fseeko (Depends-on): Likewise.
104454         * modules/ftello (Depends-on): Likewise.
104455         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
104456         broken.
104457         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
104458         broken.
104459         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
104460         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
104461         * lib/ftello.c (rpl_ftello): Likewise.
104462         * tests/test-fseeko.c (main): Test this.
104463         * tests/test-fseeko.sh: Likewise.
104464         * tests/test-ftello.c (main): Likewise.
104465         * tests/test-ftello.sh: Likewise.
104466         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
104467         implies replacing fseek.
104468         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
104469         HAVE_FTELLO.
104470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
104471         * modules/unistd (Makefile.am): Likewise.
104472         * lib/unistd_.h (lseek): Declare a replacement.
104473         * doc/functions/lseek.texi (lseek): Document this fix.
104474         * doc/functions/fseek.texi (fseek): Likewise.
104475         * doc/functions/ftell.texi (ftell): Likewise.
104477 2007-05-24  Bruno Haible  <bruno@clisp.org>
104479         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
104480         in the printed representation of a NaN.
104481         * tests/test-vasprintf-posix.c (test_function): Likewise.
104482         * tests/test-snprintf-posix.h (test_function): Likewise.
104483         * tests/test-sprintf-posix.h (test_function): Likewise.
104484         Reported by Eric Blake.
104486 2007-05-23  Eric Blake  <ebb9@byu.net>
104488         Fix fseeko/ftello on cygwin 1.5.24.
104489         * doc/functions/fseeko.texi (fseeko): Document the fix.
104490         * doc/functions/ftello.texi (ftello): Document the fix.
104491         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
104492         * doc/functions/stdout.text (stdout): New file.
104493         * doc/functions/stderr.text (stderr): New file.
104494         * doc/gnulib.texi (Function Substitutes): Use new files.
104495         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
104496         prior to 1.7.0.
104497         * tests/test-ftello.c (main): Likewise for ftello.
104498         * tests/test-fseeko.sh: New file.
104499         * tests/test-ftello.sh: New file.
104500         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
104501         with seekable stdin.
104502         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
104503         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
104504         (gl_REPLACE_FSEEKO): New macro.
104505         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
104506         * modules/fseeko (Files): Distribute fseeko.c.
104507         * modules/ftello (Files): Distribute ftello.c.
104508         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
104509         mode.
104510         * lib/ftello.c (rpl_ftello): New file.
104511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
104512         fseeko, ftello.
104513         (gl_STDIN_LARGE_OFFSET): New macro.
104514         * modules/stdio (Makefile.am): Perform the replacement.
104515         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
104517 2007-05-23  Bruno Haible  <bruno@clisp.org>
104519         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
104520         GNULIB_POSIXCHECK is defined.
104522 2007-05-21  Bruno Haible  <bruno@clisp.org>
104524         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
104525         Check also the output for NaN arguments. When cross-compiling, guess
104526         no on IRIX.
104527         * lib/vasnprintf.c: Update comments.
104528         * tests/test-vasnprintf-posix.c (strisnan): New function.
104529         (test_function): Use it.
104530         * tests/test-vasprintf-posix.c (strisnan): New function.
104531         (test_function): Use it.
104532         * tests/test-snprintf-posix.h (strisnan): New function.
104533         (test_function): Use it.
104534         * tests/test-sprintf-posix.h (strisnan): New function.
104535         (test_function): Use it.
104536         Reported by Eric Blake.
104538 2007-05-20  Bruno Haible  <bruno@clisp.org>
104540         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
104541         numbers that fails on BeOS.
104542         * doc/functions/frexpl.texi: Update.
104544 2007-05-20  Jim Meyering  <jim@meyering.net>
104546         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
104547         forced upon us by glibc-2.6.
104549 2007-05-20  Bruno Haible  <bruno@clisp.org>
104551         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
104552         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
104553         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
104554         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
104555         NEED_PRINTF_INFINITE.
104556         (is_infinitel): New function.
104557         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
104558         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
104559         gl_PREREQ_VASNPRINTF_INFINITE.
104560         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
104561         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104562         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
104563         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
104564         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
104565         gl_PREREQ_VASNPRINTF_INFINITE.
104566         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104567         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104568         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104569         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104570         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104571         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104572         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104573         * doc/functions/fprintf.texi: Update.
104574         * doc/functions/printf.texi: Update.
104575         * doc/functions/snprintf.texi: Update.
104576         * doc/functions/sprintf.texi: Update.
104577         * doc/functions/vfprintf.texi: Update.
104578         * doc/functions/vprintf.texi: Update.
104579         * doc/functions/vsnprintf.texi: Update.
104580         * doc/functions/vsprintf.texi: Update.
104582 2007-05-20  Bruno Haible  <bruno@clisp.org>
104584         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
104585         was not found in libc.
104586         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
104588 2007-05-20  Bruno Haible  <bruno@clisp.org>
104590         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104591         printed as "-nan" instead of "nan".
104592         * tests/test-vasprintf-posix.c (test_function): Likewise.
104593         * tests/test-snprintf-posix.h (test_function): Likewise.
104594         * tests/test-sprintf-posix.h (test_function): Likewise.
104595         Needed for HP-UX 11.
104597 2007-05-20  Jim Meyering  <jim@meyering.net>
104599         Fix buggy test for the fchownat-deref bug.
104600         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
104601         symlink required for the run-test.  Without it, this test would
104602         always declare that fchownat doesn't work, and client code would
104603         unnecessarily use the replacement function with fixed libc.
104604         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
104605         Reported by Greg Schafer.
104607 2007-05-19  Bruno Haible  <bruno@clisp.org>
104609         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
104610         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
104611         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
104612         Needed for IRIX 6.5 and Solaris 2.5.1.
104614 2007-05-19  Bruno Haible  <bruno@clisp.org>
104616         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
104617         (test_function): Skip tests involving -0.0 on platforms where
104618         -0.0 = 0.0.
104619         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
104620         (test_function): Skip tests involving -0.0 on platforms where
104621         -0.0 = 0.0.
104622         * tests/test-snprintf-posix.h (have_minus_zero): New function.
104623         (test_function): Skip tests involving -0.0 on platforms where
104624         -0.0 = 0.0.
104625         * tests/test-sprintf-posix.h (have_minus_zero): New function.
104626         (test_function): Skip tests involving -0.0 on platforms where
104627         -0.0 = 0.0.
104628         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
104629         tests.
104630         * tests/test-printf-posix.h (test_function): Likewise.
104631         * tests/test-printf-posix.output: Remove all -0.0 related results.
104632         Needed for IRIX 6.5.
104634 2007-05-19  Bruno Haible  <bruno@clisp.org>
104636         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104637         printed as "nan0x7fffffff" instead of "nan".
104638         * tests/test-vasprintf-posix.c (test_function): Likewise.
104639         * tests/test-snprintf-posix.h (test_function): Likewise.
104640         * tests/test-sprintf-posix.h (test_function): Likewise.
104641         * tests/test-fprintf-posix.h (NaN): Remove macro.
104642         (test_function): Remove all NaN related tests.
104643         * tests/test-printf-posix.h (NaN): Remove macro.
104644         (test_function): Remove all NaN related tests.
104645         * tests/test-printf-posix.output: Remove all NaN related results.
104646         Needed for IRIX 6.5.
104648 2007-05-19  Bruno Haible  <bruno@clisp.org>
104650         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
104651         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
104653 2007-05-19  Bruno Haible  <bruno@clisp.org>
104655         * lib/float_.h: New file.
104656         * m4/float_h.m4: New file.
104657         * modules/float: New file.
104658         * modules/isnanl (Dependencies): Add float.
104659         * modules/isnanl-nolibm (Dependencies): Likewise.
104660         * modules/mathl (Dependencies): Likewise.
104661         * modules/printf-frexpl (Dependencies): Likewise.
104662         * modules/signbit (Dependencies): Likewise.
104663         * modules/vasnprintf (Dependencies): Likewise.
104664         * doc/headers/float.texi: Update.
104666 2007-05-19  Jim Meyering  <jim@meyering.net>
104668         * lib/utimens.c (gl_futimens): Rename from futimens,
104669         now that glibc-2.6 declares futimens.
104670         * lib/utimens.h: Likewise.
104672 2007-05-19  Bruno Haible  <bruno@clisp.org>
104674         Avoid test failures on mingw.
104675         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
104676         * tests/test-printf-posix.sh: Likewise.
104677         * tests/test-vfprintf-posix.sh: Likewise.
104678         * tests/test-vprintf-posix.sh: Likewise.
104680 2007-05-19  Bruno Haible  <bruno@clisp.org>
104682         Fix *printf result for NaN, Inf, -0.0 on mingw.
104683         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
104684         * lib/vasnprintf.c: Include math.h and isnan.h.
104685         (is_infinite_or_zero): New function.
104686         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
104687         values in the %f, %F, %e, %E, %g, %G directives.
104688         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
104689         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104690         gl_PRINTF_INFINITE and test its result. Invoke
104691         gl_PREREQ_VASNPRINTF_INFINITE.
104692         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104693         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104694         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104695         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104696         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104697         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104698         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104699         * doc/functions/fprintf.texi: Update.
104700         * doc/functions/printf.texi: Update.
104701         * doc/functions/snprintf.texi: Update.
104702         * doc/functions/sprintf.texi: Update.
104703         * doc/functions/vfprintf.texi: Update.
104704         * doc/functions/vprintf.texi: Update.
104705         * doc/functions/vsnprintf.texi: Update.
104706         * doc/functions/vsprintf.texi: Update.
104708 2007-05-19  Bruno Haible  <bruno@clisp.org>
104710         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
104711         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
104712         Instead of multiplying with 10^k, set extra_zeroes to k.
104713         (scale10_round_long_double): Remove function.
104715 2007-05-18  Bruno Haible  <bruno@clisp.org>
104717         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
104718         introduced on 2007-05-06.
104720 2007-05-18  Bruno Haible  <bruno@clisp.org>
104722         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
104723         %g directives.
104724         * tests/test-vasprintf-posix.c (test_function): Likewise.
104725         * tests/test-snprintf-posix.h (test_function): Likewise.
104726         * tests/test-sprintf-posix.h (test_function): Likewise.
104728 2007-05-18  Bruno Haible  <bruno@clisp.org>
104730         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
104731         (strmatch): New function.
104732         (test_function): Test the %f directive on numbers of various exponents.
104733         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
104734         (strmatch): New function.
104735         (test_function): Test the %f directive on numbers of various exponents.
104736         * tests/test-snprintf-posix.h (strmatch): New function.
104737         (test_function): Test the %f directive on numbers of various exponents.
104738         * tests/test-sprintf-posix.h (strmatch): New function.
104739         (test_function): Test the %f directive on numbers of various exponents.
104740         * tests/test-snprintf-posix.c (SIZEOF): New macro.
104741         * tests/test-sprintf-posix.c (SIZEOF): New macro.
104742         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
104743         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
104745 2007-05-18  Bruno Haible  <bruno@clisp.org>
104747         Add support for 'long double' number output.
104748         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
104749         * lib/vasnprintf.c: Include math.h and float+.h.
104750         (mp_limb_t): New type.
104751         (GMP_LIMB_BITS): New macro.
104752         (mp_twolimb_t): New type.
104753         (GMP_TWOLIMB_BITS): New macro.
104754         (mpn_t): New type.
104755         (multiply, divide, convert_to_decimal, decode_long_double,
104756         scale10_round_long_double, scale10_round_decimal_long_double,
104757         floorlog10l): New functions.
104758         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
104759         for the %f, %F, %e, %E, %g, %G directives.
104760         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
104761         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104762         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
104763         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
104764         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104765         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104766         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104767         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104768         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104769         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104770         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104771         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
104772         * modules/snprintf-posix (Depends-on): Likewise.
104773         * modules/sprintf-posix (Depends-on): Likewise.
104774         * modules/vasnprintf-posix (Depends-on): Likewise.
104775         * modules/vasprintf-posix (Depends-on): Likewise.
104776         * modules/vfprintf-posix (Depends-on): Likewise.
104777         * modules/vsnprintf-posix (Depends-on): Likewise.
104778         * modules/vsprintf-posix (Depends-on): Likewise.
104779         * modules/vasnprintf (Files): Add lib/float+.h.
104780         * doc/functions/fprintf.texi: Update.
104781         * doc/functions/printf.texi: Update.
104782         * doc/functions/snprintf.texi: Update.
104783         * doc/functions/sprintf.texi: Update.
104784         * doc/functions/vfprintf.texi: Update.
104785         * doc/functions/vprintf.texi: Update.
104786         * doc/functions/vsnprintf.texi: Update.
104787         * doc/functions/vsprintf.texi: Update.
104789 2007-05-18  Bruno Haible  <bruno@clisp.org>
104791         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
104793 2007-05-18  Bruno Haible  <bruno@clisp.org>
104795         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
104796         for printing 64-bit integers. Needed for mingw.
104798 2007-05-18  Bruno Haible  <bruno@clisp.org>
104800         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
104801         gl_FUNC_FREXPL_WORKS.
104802         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
104804 2007-05-18  Bruno Haible  <bruno@clisp.org>
104806         * modules/frexpl-nolibm-tests: New file.
104808         * modules/frexpl-nolibm: New file.
104809         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
104811 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
104813         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
104814         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104815         GCC 4.2, which otherwise issues a lot of warnings.
104816         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
104817         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
104818         Likewise.
104819         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
104820         * modules/iconv_open (iconv.h): Likewise.
104821         * modules/locale (locale.h): Likewise.
104822         * modules/netinet_in (netinet/in.h): Likewise.
104823         * modules/sys_select (sys_select.h): Likewise.
104824         * modules/sys_socket (sys/socket.h): Likewise.
104825         * modules/sys_stat (sys/stat.h): Likewise.
104826         * modules/sysexits (sysexits.h): Likewise.
104827         * modules/unistd (unistd.h): Likewise.
104829 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104831         * modules/closein-tests (Makefile.am): Distribute
104832         `test-closein.sh'.
104834 2007-05-17  Bruno Haible  <bruno@clisp.org>
104836         * tests/test-printf-posix.output: Renamed from
104837         tests/test-fprintf-posix.out.
104838         * modules/fprintf-posix-tests: Update.
104839         * modules/printf-posix-tests: Update.
104840         * modules/vfprintf-posix-tests: Update.
104841         * modules/vprintf-posix-tests: Update.
104842         * tests/test-fprintf-posix.sh: Update.
104843         * tests/test-printf-posix.sh: Update.
104844         * tests/test-vfprintf-posix.sh: Update.
104845         * tests/test-vprintf-posix.sh: Update.
104846         Reported by Ralf Wildenhues.
104848 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
104850         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
104851         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104852         GCC 4.2, which otherwise issues a lot of warnings.
104853         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
104854         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
104855         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
104856         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
104857         it should no longer be needed.
104858         * lib/string_.h: Likewise.
104859         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
104860         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
104861         * modules/inttypes (inttypes.h): Likewise.
104862         * modules/math (math.h): Likewise.
104863         * modules/search (search.h): Likewise.
104864         * modules/signal (signal.h): Likewise.
104865         * modules/stdint (stdint.h): Likewise.
104866         * modules/stdio (stdio.h): Likewise.
104867         * modules/stdlib (stdlib.h): Likewise.
104868         * modules/string (string.h): Likewise.
104869         * modules/sys_time (sys/time.h): Likewise.
104870         * modules/time (time.h): Likewise.
104871         * modules/wchar (wchar.h): Likewise.
104872         * modules/wctype (wtype.h): Likewise.
104874 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
104876         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
104878 2007-05-13  Bruno Haible  <bruno@clisp.org>
104880         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
104881         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
104882         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
104883         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
104884         (gl_PREREQ_STRTOK_R): Don't require it here.
104886 2007-05-13  Bruno Haible  <bruno@clisp.org>
104888         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
104889         when used in C++ mode.
104891 2007-05-12  Bruno Haible  <bruno@clisp.org>
104893         * lib/linebuffer.h: Tweak doc.
104894         * lib/linebuffer.c: Likewise.
104896 2007-05-12  James Youngman  <jay@gnu.org>
104898         * lib/linebuffer.c (readlinebuffer_delim): New function,
104899         like readlinebuffer, but use a caller-specified delimiter.
104900         (readlinebuffer): Just call readlinebuffer_delim with '\n'
104901         as the delimiter.
104902         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
104904 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
104906         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
104907         * modules/openat (Files): Remove openat-die.c.
104908         (Depends-on): Add openat-die.
104909         * modules/openat-die: New module.
104911 2007-05-06  Bruno Haible  <bruno@clisp.org>
104913         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
104914         Update with info about Cygwin.
104915         * doc/functions/fprintf.texi: Update.
104916         * doc/functions/printf.texi: Update.
104917         * doc/functions/snprintf.texi: Update.
104918         * doc/functions/sprintf.texi: Update.
104919         * doc/functions/vfprintf.texi: Update.
104920         * doc/functions/vprintf.texi: Update.
104921         * doc/functions/vsnprintf.texi: Update.
104922         * doc/functions/vsprintf.texi: Update.
104923         Reported by Eric Blake.
104925 2007-05-06  Bruno Haible  <bruno@clisp.org>
104927         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
104928         padding ourselves for the floating-point directives.
104929         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
104930         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
104931         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104932         gl_PRINTF_FLAG_ZERO and test its result. Invoke
104933         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
104934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104935         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104936         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104937         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104938         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104939         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104940         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104941         * tests/test-snprintf-posix.h (test_function): Also check the width
104942         and some flags in the %f directive.
104943         * tests/test-sprintf-posix.h (test_function): Likewise.
104944         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104945         * tests/test-vasprintf-posix.c (test_function): Likewise.
104946         * doc/functions/fprintf.texi: Update.
104947         * doc/functions/printf.texi: Update.
104948         * doc/functions/snprintf.texi: Update.
104949         * doc/functions/sprintf.texi: Update.
104950         * doc/functions/vfprintf.texi: Update.
104951         * doc/functions/vprintf.texi: Update.
104952         * doc/functions/vsnprintf.texi: Update.
104953         * doc/functions/vsprintf.texi: Update.
104955 2007-05-06  Bruno Haible  <bruno@clisp.org>
104957         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
104958         pass the ' flag character to sprintf or snprintf.
104959         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
104960         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
104961         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104962         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
104963         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
104964         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104965         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104966         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104967         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104968         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104969         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104970         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104971         * tests/test-snprintf-posix.h (test_function): Also check the grouping
104972         flag.
104973         * tests/test-sprintf-posix.h (test_function): Likewise.
104974         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104975         * tests/test-vasprintf-posix.c (test_function): Likewise.
104976         * doc/functions/fprintf.texi: Update.
104977         * doc/functions/printf.texi: Update.
104978         * doc/functions/snprintf.texi: Update.
104979         * doc/functions/sprintf.texi: Update.
104980         * doc/functions/vfprintf.texi: Update.
104981         * doc/functions/vprintf.texi: Update.
104982         * doc/functions/vsnprintf.texi: Update.
104983         * doc/functions/vsprintf.texi: Update.
104985 2007-05-01  Bruno Haible  <bruno@clisp.org>
104987         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
104989 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
104991         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
104992         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
104994 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
104996         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
104997         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
104998         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
105000 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
105002         * lib/argp-help.c (struct hol_entry): New member `ord'.
105003         (HOL_ENTRY_PTRCMP): Use ord for comparison
105004         (hol_sort): Initialize ord.
105006 2007-05-01  Bruno Haible  <bruno@clisp.org>
105008         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
105009         Reported by Eric Blake.
105010         * doc/gnulib.texi (Function Substitutes): Update.
105012 2007-05-01  Bruno Haible  <bruno@clisp.org>
105014         * doc/functions.texi: Remove file, now redundant through
105015         doc/functions/*.texi.
105017 2007-05-01  Bruno Haible  <bruno@clisp.org>
105019         * modules/argp (Depends-on): Add sleep.
105021 2007-05-01  Bruno Haible  <bruno@clisp.org>
105023         * modules/sleep-tests: New file.
105024         * tests/test-sleep.c: New file.
105026         * modules/sleep: New file.
105027         * lib/sleep.c: New file.
105028         * m4/sleep.m4: New file.
105029         * lib/unistd_.h (sleep): New declaration.
105030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
105031         HAVE_SLEEP.
105032         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
105033         * doc/functions/sleep.texi: Document the sleep module.
105035 2007-05-01  Bruno Haible  <bruno@clisp.org>
105037         * lib/sigprocmask.h: Remove file.
105038         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
105039         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
105040         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
105041         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
105042         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
105043         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
105044         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
105045         HAVE_SIGSET_T as a shell variable.
105046         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
105047         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
105048         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
105049         (Depends-on): Add signal. Remove verify.
105050         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
105051         (Include): Mention <signal.h> instead of sigprocmask.h.
105052         * NEWS: Mention the change.
105053         * lib/fatal-signal.c: Don't include sigprocmask.h.
105055 2007-05-01  Bruno Haible  <bruno@clisp.org>
105057         * modules/signal: New file.
105058         * lib/signal_.h: New file.
105059         * m4/signal_h.m4: New file.
105061 2007-05-01  Bruno Haible  <bruno@clisp.org>
105063         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
105064         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
105065         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
105066         HAVE_WCTYPE_CTMP_BUG into wctype.h.
105068 2007-05-01  Bruno Haible  <bruno@clisp.org>
105070         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
105071         configure time.
105072         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
105073         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
105074         * modules/sys_stat (Makefile.am): Substitute their values into
105075         sys/stat.h.
105077 2007-05-01  Bruno Haible  <bruno@clisp.org>
105079         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
105080         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
105081         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
105083 2007-05-01  Bruno Haible  <bruno@clisp.org>
105085         * doc/header/assert.texi: Undo last change: don't mention the gnulib
105086         'assert' module here.
105088 2007-05-01  Bruno Haible  <bruno@clisp.org>
105090         * doc/functions/*.texi: New files.
105091         * doc/functions/google-ranking.txt: New file.
105092         * doc/gnulib.texi (Function Substitutes): New chapter.
105093         (ctime, inet_ntoa): Remove sections.
105094         * doc/ctime.texi: Remove file.
105095         * doc/inet_ntoa.texi: Remove file.
105096         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
105097         dependencies.
105098         (%.info): New rule, specifying a --reference-limit.
105100 2007-05-01  Bruno Haible  <bruno@clisp.org>
105102         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
105104 2007-05-01  Bruno Haible  <bruno@clisp.org>
105106         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
105107         the portability of 'mkdir' to mingw systems.
105109 2007-05-01  Bruno Haible  <bruno@clisp.org>
105111         * doc/headers/google-ranking.txt: New file.
105113 2007-04-30  Eric Blake  <ebb9@byu.net>
105115         Prefer fseeko to fseek.
105116         * modules/getpass (Depends-on): Add fseeko.
105117         * lib/getpass.c (getpass): Use fseeko, not fseek.
105119 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
105121         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
105122         assumes the sorting is stable, while most qsort implementations
105123         are not.  Use argument addresses to ensure they never compare as
105124         equal.
105126         * tests/test-argp-2.sh (usage-indent test): Fix output
105127         (func_compare): Restore diff options
105128         * tests/test-argp.c: Restore #include "progname.h"
105130 2007-04-29  Bruno Haible  <bruno@clisp.org>
105132         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
105133         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105134         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
105135         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
105136         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
105137         (configure.ac): Define CHECK_SNPRINTF_POSIX.
105138         (TESTS, check_PROGRAMS): Add test-snprintf.
105139         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
105140         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
105141         (TESTS, check_PROGRAMS): Add test-vsnprintf.
105142         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
105143         assertions that fail on HP-UX, OSF/1, or IRIX.
105144         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
105146 2007-04-29  Bruno Haible  <bruno@clisp.org>
105148         * MODULES.html.sh (posix_functions): Remove 'contents'.
105150 2007-04-29  Karl Berry  <karl@gnu.org>
105152         * config/srclist.txt (gendocs_template_min): new entry.
105154 2007-04-29  Bruno Haible  <bruno@clisp.org>
105156         Work around fpurge bug on BSD systems.
105157         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
105158         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
105159         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
105160         fpurge to rpl_fpurge if the system already has this function.
105161         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
105162         the case where the system already has this function. Correct invariants
105163         on BSD systems.
105164         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
105165         BSD systems.
105167 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
105169         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
105170         proposed by Sven Verdoolaege.
105172         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
105173         options.
105174         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
105175         (usage and help tests): Update
105177 2007-04-29  Bruno Haible  <bruno@clisp.org>
105179         * tests/test-fflush.c (main): Use a file of size 17, not 10.
105180         Print more information in case of failure. Disable a test on BeOS.
105182 2007-04-29  Bruno Haible  <bruno@clisp.org>
105184         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
105185         This helps debugging on systems on which no gdb is available.
105187 2007-04-29  Bruno Haible  <bruno@clisp.org>
105189         * lib/freading.h: Improve comments.
105190         * lib/fwriting.h: Likewise.
105191         * tests/test-freading.c (main): Don't check freading immediately after
105192         repositioning. Needed for glibc.
105194 2007-04-29  Bruno Haible  <bruno@clisp.org>
105196         * lib/freading.c (freading): Trivial simplification.
105198 2007-04-28  Bruno Haible  <bruno@clisp.org>
105200         * tests/test-fwriting.c (main): Also test the interaction between
105201         fflush and fwriting.
105202         * modules/fwriting-tests (Depends-on): Add fflush.
105204         * tests/test-freading.c (main): Also test the interaction between
105205         fflush and freading.
105206         * modules/freading-tests (Depends-on): Add fflush.
105208 2007-04-28  Bruno Haible  <bruno@clisp.org>
105210         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
105211         fseeko and ftello.
105212         Suggested by Eric Blake.
105214 2007-04-28  Jim Meyering  <jim@meyering.net>
105216         Avoid false-negative in gl_STDINT_H's C99 conformance test.
105217         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
105218         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
105220 2007-04-27  Eric Blake  <ebb9@byu.net>
105222         * doc/headers/assert.texi (assert.h): Document assert module use.
105224 2007-04-27  Bruno Haible  <bruno@clisp.org>
105226         * doc/headers/*.texi: New files.
105227         * doc/gnulib.texi (Header File Substitutes): New chapter.
105228         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
105229         dependencies.
105230         (standards.info ,standards.html, standards.dvi): Update dependencies.
105231         (mostlyclean, clean): New targets.
105233 2007-04-27  Bruno Haible  <bruno@clisp.org>
105235         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
105236         * modules/sysexits (Files, Makefile.am): Update.
105238         * lib/sys_socket_.h: Renamed from lib/socket_.h.
105239         * modules/sys_socket (Files, Makefile.am): Update.
105241         * lib/sys_stat_.h: Renamed from lib/stat_.h.
105242         * modules/sys_stat (Files, Makefile.am): Update.
105244 2007-04-27  Eric Blake  <ebb9@byu.net>
105246         * lib/freading.h: Improve comments.
105247         * lib/fwriting.h: Likewise.
105248         * lib/fflush.c: Likewise.
105250         Fix closein for mingw.
105251         * modules/closein-tests: Add tests for closein.
105252         * tests/test-closein.c: New file.
105253         * tests/test-closein.sh: Likewise.
105254         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
105255         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
105257 2007-04-27  Bruno Haible  <bruno@clisp.org>
105259         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
105260         version is < 6.
105261         * lib/math_.h [__DECC]: Likewise.
105262         * lib/stdio_.h [__DECC]: Likewise.
105263         * lib/stdlib_.h [__DECC]: Likewise.
105264         * lib/string_.h [__DECC]: Likewise.
105265         * lib/time_.h [__DECC]: Likewise.
105266         * lib/wchar_.h [__DECC]: Likewise.
105267         * lib/wctype_.h [__DECC]: Likewise.
105269 2007-04-27  Bruno Haible  <bruno@clisp.org>
105271         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
105273 2007-04-27  Bruno Haible  <bruno@clisp.org>
105275         * lib/fflush.c: Add comments.
105276         * modules/fpurge-tests (Depends-on): Add fflush.
105277         * modules/freadable-tests (Depends-on): Likewise.
105278         * modules/fwritable-tests (Depends-on): Likewise.
105280 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
105282         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
105283         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
105284         Report by Bruno Haible <bruno@clisp.org>.
105286 2007-04-26  Eric Blake  <ebb9@byu.net>
105288         Fix fflush on mingw.
105289         * modules/fflush (Depends-on): Add freading.
105290         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
105291         but unread data.
105293 2007-04-26  Eric Blake  <ebb9@byu.net>
105294         and Bruno Haible  <bruno@clisp.org>
105296         Implement freading and fwriting.
105297         * lib/freading.c: New file.
105298         * lib/freading.h: Likewise.
105299         * m4/freading.m4: Likewise.
105300         * modules/freading: Likewise.
105301         * modules/freading-tests: Likewise.
105302         * tests/test-freading.c: Likewise.
105303         * lib/fwriting.c: New file.
105304         * lib/fwriting.h: Likewise.
105305         * m4/fwriting.m4: Likewise.
105306         * modules/fwriting: Likewise.
105307         * modules/fwriting-tests: Likewise.
105308         * tests/test-fwriting.c: Likewise.
105309         * MODULES.html.sh (File stream based Input/Output): Mention them.
105311 2007-04-26  Bruno Haible  <bruno@clisp.org>
105313         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
105314         'long' when we assume it.
105315         Suggested by Eric Blake.
105317 2007-04-26  Bruno Haible  <bruno@clisp.org>
105319         Ensure fseeko, ftello are declared on glibc systems.
105320         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
105321         * modules/fseeko (configure.ac-early): Likewise.
105322         * modules/ftello (configure.ac-early): Likewise.
105323         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
105324         AC_FUNC_FSEEKO for this.
105325         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
105326         (gl_CHECK_FSEEKO): Remove macro.
105328 2007-04-26  Bruno Haible  <bruno@clisp.org>
105330         * tests/test-fflush.c (main): Also check the ftell result after
105331         fflush and fseek/fseeko.
105332         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
105333         file descriptor position cache in the stream.
105334         * lib/fseeko.c (rpl_fseeko): Likewise.
105336 2007-04-26  Bruno Haible  <bruno@clisp.org>
105338         * modules/fflush-tests (Depends-on): Add fseeko.
105340 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
105341             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105343         * lib/argz_.h: ensure error_t definition is obtained in same
105344         mechanism system argz.h would have.
105345         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
105346         argz facilities are known bad.  Err on the side of caution if
105347         cross-compiling.
105349 2007-04-25  Eric Blake  <ebb9@byu.net>
105351         * lib/fpurge.c (includes): Use stdlib.h for free.
105352         * tests/test-fflush.c (main): Also test fflush-fseeko.
105354 2007-04-25  Bruno Haible  <bruno@clisp.org>
105356         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
105357         * lib/fseeko.c: New file.
105358         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
105359         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
105360         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
105361         gl_FUNC_FSEEKO.
105362         (gl_FUNC_FSEEKO): Invoke it.
105363         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
105364         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
105365         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
105367 2007-04-25  Bruno Haible  <bruno@clisp.org>
105369         * modules/fflush (Depends-on): Add ftello.
105371 2007-04-25  Bruno Haible  <bruno@clisp.org>
105373         * modules/ftello-tests: New file.
105374         * tests/test-ftello.c: New file.
105376         * modules/ftello: New file.
105377         * m4/ftello.m4: New file.
105378         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
105379         HAVE_FTELLO.
105380         * lib/stdio_.h (ftello): New declaration.
105381         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
105382         HAVE_FTELLO.
105384 2007-04-25  Bruno Haible  <bruno@clisp.org>
105386         * modules/fseeko-tests: New file.
105387         * tests/test-fseeko.c: New file.
105389         * modules/fseeko: New file.
105390         * m4/fseeko.m4: New file.
105391         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
105392         HAVE_FSEEKO.
105393         * lib/stdio_.h (fseeko): New declaration.
105394         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
105395         HAVE_FSEEKO.
105397 2007-04-25  Bruno Haible  <bruno@clisp.org>
105399         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
105401 2007-04-25  Bruno Haible  <bruno@clisp.org>
105403         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
105404         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
105405         * tests/test-unistd.c: Likewise.
105406         * tests/test-fcntl.c: Likewise.
105408 2007-04-23  Eric Blake  <ebb9@byu.net>
105410         * lib/fflush.c: Fix missing include.
105411         Reported by Bruno Haible.
105413 2007-04-23  Bruno Haible  <bruno@clisp.org>
105415         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
105416         Reported by Eric Blake.
105418 2007-04-23  Bruno Haible  <bruno@clisp.org>
105420         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
105422 2007-04-23  Bruno Haible  <bruno@clisp.org>
105424         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
105426 2007-04-23  Bruno Haible  <bruno@clisp.org>
105428         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
105429         Needed on HP-UX 11.
105431 2007-04-16  Eric Blake  <ebb9@byu.net>
105433         Make fflush rely on fpurge.
105434         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
105435         open coding all variants.
105436         * modules/fflush (Depends-on): Add fpurge and unistd.
105437         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
105438         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
105440         Fix --with-tests compilation on cygwin.
105441         * modules/argmatch-tests (Makefile.am): List gnulib library first
105442         in LDADD.
105443         * modules/argp-tests (Makefile.am): Likewise.
105444         * modules/array-list-tests (Makefile.am): Likewise.
105445         * modules/array-oset-tests (Makefile.am): Likewise.
105446         * modules/avltree-list-tests (Makefile.am): Likewise.
105447         * modules/avltree-oset-tests (Makefile.am): Likewise.
105448         * modules/avltreehash-list-tests (Makefile.am): Likewise.
105449         * modules/carray-list-tests (Makefile.am): Likewise.
105450         * modules/dirname-tests (Makefile.am): Likewise.
105451         * modules/frexp-tests (Makefile.am): Likewise.
105452         * modules/isnanl-tests (Makefile.am): Likewise.
105453         * modules/linked-list-tests (Makefile.am): Likewise.
105454         * modules/linkedhash-list-tests (Makefile.am): Likewise.
105455         * modules/lock-tests (Makefile.am): Likewise.
105456         * modules/rbtree-list-tests (Makefile.am): Likewise.
105457         * modules/rbtree-oset-tests (Makefile.am): Likewise.
105458         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
105459         * modules/tls-tests (Makefile.am): Likewise.
105460         * modules/tsearch-tests (Makefile.am): Likewise.
105461         * modules/xvasprintf-tests (Makefile.am): Likewise.
105463         Fix fpurge for cygwin.
105464         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
105465         value.
105466         * modules/fpurge-tests (Depends-on): Clean up trash.
105468 2007-04-16  Simon Josefsson  <simon@josefsson.org>
105470         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
105472         * m4/autobuild.m4: Re-indent.
105474 2007-04-13  Bruno Haible  <bruno@clisp.org>
105476         * modules/fpurge-tests: New file.
105477         * tests/test-fpurge.c: New file.
105479         * modules/fpurge: New file.
105480         * lib/fpurge.h: New file.
105481         * lib/fpurge.c: New file.
105482         * m4/fpurge.m4: New file.
105484 2007-04-13  Bruno Haible  <bruno@clisp.org>
105486         * modules/fbufmode-tests: New file.
105487         * tests/test-fbufmode.c: New file.
105489         * modules/fbufmode: New file.
105490         * lib/fbufmode.h: New file.
105491         * lib/fbufmode.c: New file.
105492         * m4/fbufmode.m4: New file.
105494 2007-04-13  Bruno Haible  <bruno@clisp.org>
105496         * modules/fwritable-tests: New file.
105497         * tests/test-fwritable.c: New file.
105499         * modules/fwritable: New file.
105500         * lib/fwritable.h: New file.
105501         * lib/fwritable.c: New file.
105502         * m4/fwritable.m4: New file.
105504 2007-04-13  Bruno Haible  <bruno@clisp.org>
105506         * modules/freadable-tests: New file.
105507         * tests/test-freadable.c: New file.
105509         * modules/freadable: New file.
105510         * lib/freadable.h: New file.
105511         * lib/freadable.c: New file.
105512         * m4/freadable.m4: New file.
105514 2007-04-13  Bruno Haible  <bruno@clisp.org>
105516         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
105517         MOSTLYCLEANFILES.
105519 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105521         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
105522         gzip bootstrap.conf to avoid dragging in i18n machinery.
105523         (gnulib_tool_option): Use it.
105525 2007-04-13  Bruno Haible  <bruno@clisp.org>
105527         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
105528         %F directives.
105529         * tests/test-vasprintf-posix.c (test_function): Likewise.
105530         * tests/test-snprintf-posix.h (test_function): Likewise.
105531         * tests/test-sprintf-posix.h (test_function): Likewise.
105532         * tests/test-fprintf-posix.h (test_function): Likewise.
105533         * tests/test-printf-posix.h (test_function): Likewise.
105534         * tests/test-fprintf-posix.out: Likewise.
105536 2007-04-13  Bruno Haible  <bruno@clisp.org>
105538         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
105539         * modules/tls-tests (configure.ac): Likewise.
105540         Reported by Arto C. Nirkko <anirkko@insel.ch>.
105542 2007-04-13  Bruno Haible  <bruno@clisp.org>
105544         * lib/tls.c (glthread_tls_get): Fix return type.
105545         Patch by Arto C. Nirkko <anirkko@insel.ch>.
105547 2007-04-12  Eric Blake  <ebb9@byu.net>
105549         * modules/gettime (Depends-on): Remove gettime.
105550         Reported by Dmitry V. Levin.
105552 2007-04-12  Bruno Haible  <bruno@clisp.org>
105554         * modules/fflush (Include): Mention <stdio.h>.
105555         * modules/strtoimax (Include): Mention <inttypes.h>.
105556         * modules/strtoumax (Include): Likewise.
105558 2007-04-12  Eric Blake  <ebb9@byu.net>
105560         * .cvsignore: New file.
105561         * .gitignore: Likewise.
105563 2007-04-12  Bruno Haible  <bruno@clisp.org>
105565         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
105566         not before, since $(LDADD) often contains libgnu.a.
105567         * modules/striconv-tests (test_striconv_LDADD): Likewise.
105568         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
105569         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
105570         Needed on Cygwin.
105572 2007-04-12  Eric Blake  <ebb9@byu.net>
105574         Work around glibc's failure to flush stdin on fclose.
105575         * lib/closein.c (close_stdin): Flush stdin before closing.
105577         Work around glibc's failure to reset seekable stdin on exit.
105578         * modules/closein: New module.
105579         * lib/closein.c: New file.
105580         * lib/closein.h: Likewise.
105581         * m4/closein.m4: Likewise.
105582         * MODULES.html.sh (File stream based Input/Output): Document it.
105584 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105586         * gnulib-tool: Rename generated 'autobuild' script to
105587         'do-autobuild' in --create-megatestdir output.
105589         * doc/gnulib.texi (Build robot for gnulib): Fix.
105591 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105593         * modules/sysexits (Depends-on): Add absolute-header.
105595 2007-04-12  Eric Blake  <ebb9@byu.net>
105597         No need to preserve errno on success.
105598         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
105599         Reported by Bruno Haible.
105601 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105603         * MODULES.html.sh (Support for maintaining and releasing
105604         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
105606 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105608         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
105610 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105612         * modules/autobuild: New module.
105614         * m4/autobuild.m4: New file.
105616 2007-04-11  Bruno Haible  <bruno@clisp.org>
105618         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
105619         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
105620         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
105621         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
105622         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105623         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105624         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105625         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105626         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105627         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105628         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
105629         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105630         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105631         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
105632         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105633         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105634         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
105635         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105636         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105637         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
105638         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105639         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105640         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
105641         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105642         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105643         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
105644         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105645         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105646         Reported by Eric Blake.
105648 2007-04-11  Bruno Haible  <bruno@clisp.org>
105650         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
105652 2007-04-10  Bruno Haible  <bruno@clisp.org>
105654         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
105655         for NaN and Infinity. Needed on FreeBSD 6.1.
105656         * tests/test-vasnprintf-posix.c (test_function): Undo last change
105657         regarding results for "%010a" of Infinity and NaN.
105658         * tests/test-vasprintf-posix.c (test_function): Likewise.
105659         * tests/test-snprintf-posix.h (test_function): Likewise.
105660         * tests/test-sprintf-posix.h (test_function): Likewise.
105661         * tests/test-fprintf-posix.h (test_function): Likewise.
105662         * tests/test-printf-posix.h (test_function): Likewise.
105663         * tests/test-fprintf-posix.out: Likewise.
105665 2007-04-10  Bruno Haible  <bruno@clisp.org>
105667         * modules/locale-tests: New file.
105668         * tests/test-locale.c: New file.
105670         * modules/locale: New file.
105671         * lib/locale_.h: New file.
105672         * m4/locale_h.m4: New file.
105674 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
105675             Bruno Haible  <bruno@clisp.org>
105677         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
105678         be determined, test for availability of the copysignf, copysign,
105679         copysignl functions.
105680         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
105681         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
105682         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
105684 2007-04-09  Eric Blake  <ebb9@byu.net>
105686         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
105687         * modules/stdio (Makefile.am): Support fflush.
105688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
105689         * modules/fflush: New file.
105690         * lib/fflush.c: Likewise.
105691         * m4/fflush.m4: Likewise.
105692         * modules/fflush-tests: New test.
105693         * tests/test-fflush.c: Likewise.
105694         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
105696 2007-04-06  Bruno Haible  <bruno@clisp.org>
105698         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
105699         (VASNPRINTF): Use signbit for faster determination whether to print a
105700         minus sign.
105701         * modules/vasnprintf (Files): Remove lib/float+.h.
105702         * modules/fprintf-posix (Depends-on): Add signbit.
105703         * modules/snprintf-posix (Depends-on): Likewise.
105704         * modules/sprintf-posix (Depends-on): Likewise.
105705         * modules/vasnprintf-posix (Depends-on): Likewise.
105706         * modules/vasprintf-posix (Depends-on): Likewise.
105707         * modules/vfprintf-posix (Depends-on): Likewise.
105708         * modules/vsnprintf-posix (Depends-on): Likewise.
105709         * modules/vsprintf-posix (Depends-on): Likewise.
105711 2007-04-06  Bruno Haible  <bruno@clisp.org>
105713         * tests/test-frexp.c (main): Test also the sign bit of zero results.
105714         * tests/test-frexpl.c (main): Likewise.
105715         * tests/test-ldexpl.c (main): Likewise.
105716         * modules/frexp-tests (Depends-on): Add signbit.
105717         * modules/frexpl-tests (Depdends-on): Likewise.
105718         * modules/ldexpl-tests (Depdends-on): Likewise.
105720 2007-04-06  Bruno Haible  <bruno@clisp.org>
105722         * modules/signbit-tests: New file.
105723         * tests/test-signbit.c: New file.
105725         * modules/signbit: New file.
105726         * lib/signbitf.c: New file.
105727         * lib/signbitd.c: New file.
105728         * lib/signbitl.c: New file.
105729         * m4/signbit.m4: New file.
105730         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
105731         (signbit): New macro.
105732         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
105733         REPLACE_SIGNBIT.
105734         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
105735         REPLACE_FREXPL into math.h.
105737 2007-04-06  Bruno Haible  <bruno@clisp.org>
105739         * modules/isnanf-nolibm-tests: New file.
105740         * tests/test-isnanf.c: New file.
105742         * modules/isnanf-nolibm: New file.
105743         * lib/isnanf.h: New file.
105744         * lib/isnanf.c: New file.
105745         * lib/isnan.c: Consider the USE_FLOAT macro.
105746         * m4/isnanf.m4: New file.
105748 2007-04-06  Bruno Haible  <bruno@clisp.org>
105750         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
105751         (Link): New section.
105753         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
105755 2007-04-06  Bruno Haible  <bruno@clisp.org>
105757         Assume the 'long double' type.
105758         * m4/longdouble.m4: Remove file.
105759         * config/srclist.txt: Don't mention longdouble.m4.
105760         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
105761         * lib/float+.h: Likewise.
105762         * lib/frexp.c: Likewise.
105763         * lib/printf-args.h: Likewise.
105764         * lib/printf-args.c: Likewise.
105765         * lib/printf-frexp.c: Likewise.
105766         * lib/printf-parse.c: Likewise.
105767         * lib/vasnprintf.c: Likewise.
105768         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
105769         * m4/intl.m4: Likewise.
105770         * m4/isnanl.m4: Likewise.
105771         * m4/printf.m4: Likewise.
105772         * m4/printf-frexpl.m4: Likewise.
105773         * m4/vasnprintf.m4: Likewise.
105774         * modules/allocsa (Files): Remove m4/longdouble.m4.
105775         * modules/gettext (Files): Likewise.
105776         * modules/relocatable-prog-wrapper (Files): Likewise.
105777         * modules/vasnprintf (Files): Likewise.
105778         * modules/isnanl (Files): Likewise.
105779         (Include): Simplify.
105780         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
105781         (Include): Simplify.
105782         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
105783         (Include): Simplify.
105784         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
105785         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105786         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
105787         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105788         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105789         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105790         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
105791         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105792         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105793         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105794         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
105795         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105796         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
105797         * tests/test-isnanl.c: Likewise.
105798         * tests/test-snprintf-posix.h: Likewise.
105799         * tests/test-sprintf-posix.h: Likewise.
105800         * tests/test-vasnprintf-posix.c: Likewise.
105801         * tests/test-vasnprintf-posix2.c: Likewise.
105802         * tests/test-vasprintf-posix.c: Likewise.
105804 2007-04-06  Bruno Haible  <bruno@clisp.org>
105806         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
105807         * lib/math_.h [__DECC]: Include the overridden include file through
105808         #include_next, outside the double-inclusion guard.
105809         * lib/stdio_.h [__DECC]: Likewise.
105810         * lib/stdlib_.h [__DECC]: Likewise.
105811         * lib/string_.h [__DECC]: Likewise.
105812         * lib/time_.h [__DECC]: Likewise.
105813         * lib/wchar_.h [__DECC]: Likewise.
105814         * lib/wctype_.h [__DECC]: Likewise.
105815         * lib/inttypes_.h [__DECC]: Likewise.
105816         Reported by Albert Chin <china@thewrittenword.com> in
105817         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
105819 2007-04-04  Eric Blake  <ebb9@byu.net>
105821         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
105822         1.5.x.
105824 2007-04-04  Bruno Haible  <bruno@clisp.org>
105826         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
105827         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
105829 2007-04-04  Bruno Haible  <bruno@clisp.org>
105831         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
105832         results for "%010a" of Infinity and NaN.
105833         * tests/test-vasprintf-posix.c (test_function): Likewise.
105834         * tests/test-snprintf-posix.h (test_function): Likewise.
105835         * tests/test-sprintf-posix.h (test_function): Likewise.
105836         * tests/test-fprintf-posix.h (test_function): Remove these tests.
105837         * tests/test-printf-posix.h (test_function): Likewise.
105838         * tests/test-fprintf-posix.out: Update.
105839         Needed for FreeBSD 6.1.
105841 2007-04-04  Bruno Haible  <bruno@clisp.org>
105843         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
105844         directly used by the gnulib modules nor by gnulib-tool.
105846 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105848         * DEPENDENCIES: Give overall description of version dependency
105849         desirability.  Use more-typical names for apps.
105850         Add shell, coreutils, diffutils, grep, tar, gzip.
105852 2007-04-04  Simon Josefsson  <simon@josefsson.org>
105854         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
105856 2007-04-04  Karl Berry  <karl@gnu.org>
105858         * MODULES.html.sh (func_module): missing '.
105860 2007-04-03  Bruno Haible  <bruno@clisp.org>
105862         * modules/argmatch-tests (Makefile.am): New variable
105863         test_argmatch_LDADD.
105864         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
105865         * modules/array-list-tests (Makefile.am): New variable
105866         test_array_list_LDADD.
105867         * modules/array-oset-tests (Makefile.am): New variable
105868         test_array_oset_LDADD.
105869         * modules/avltree-list-tests (Makefile.am): New variable
105870         test_avltree_list_LDADD.
105871         * modules/avltree-oset-tests (Makefile.am): New variable
105872         test_avltree_oset_LDADD.
105873         * modules/avltreehash-list-tests (Makefile.am): New variable
105874         test_avltreehash_list_LDADD.
105875         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
105876         test_canonicalize_lgpl_LDADD.
105877         * modules/carray-list-tests (Makefile.am): New variable
105878         test_carray_list_LDADD.
105879         * modules/dirname-tests (Makefile.am): New variable
105880         test_dirname_LDADD.
105881         * modules/linked-list-tests (Makefile.am): New variable
105882         test_linked_list_LDADD.
105883         * modules/linkedhash-list-tests (Makefile.am): New variable
105884         test_linkedhash_list_LDADD.
105885         * modules/rbtree-list-tests (Makefile.am): New variable
105886         test_rbtree_list_LDADD.
105887         * modules/rbtree-oset-tests (Makefile.am): New variable
105888         test_rbtree_oset_LDADD.
105889         * modules/rbtreehash-list-tests (Makefile.am): New variable
105890         test_rbtreehash_list_LDADD.
105891         * modules/xvasprintf-tests (Makefile.am): New variable
105892         test_xvasprintf_LDADD.
105893         Reported by Eric Blake.
105895 2007-04-03  Eric Blake  <ebb9@byu.net>
105897         * DEPENDENCIES: Weaken m4 requirements.
105899 2007-04-03  Bruno Haible  <bruno@clisp.org>
105901         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
105902         * modules/isnanl-tests (configure.ac): Likewise.
105904 2007-04-03  Ben Pfaff  <blp@gnu.org>
105906         * modules/iconv_open: Add $(srcdir)/ to source directory
105907         references in Makefile fragments that call gperf, to fix VPATH
105908         builds.
105910 2007-04-03  Bruno Haible  <bruno@clisp.org>
105912         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
105913         * lib/ldexpl.c: Undo last change.
105915 2007-04-03  Bruno Haible  <bruno@clisp.org>
105917         * modules/printf-frexpl (Depends-on): Undo last change.
105918         (Files): Add m4/ldexpl.m4.
105920 2007-04-03  Bruno Haible  <bruno@clisp.org>
105922         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
105923         * modules/isnanl (Link): New section.
105925         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
105926         * modules/frexp (Link): New section.
105928         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
105929         * modules/frexpl (Link): New section.
105931         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
105932         * modules/ldexpl (Link): New section.
105934 2007-04-03  Bruno Haible  <bruno@clisp.org>
105936         * modules/TEMPLATE-EXTENDED: New file.
105937         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
105939 2007-04-03  Bruno Haible  <bruno@clisp.org>
105941         * DEPENDENCIES: New file.
105942         Suggested by Simon Josefsson.
105944 2007-04-03  Bruno Haible  <bruno@clisp.org>
105946         * doc/gnulib.texi: Escape @.
105948 2007-04-03  James Youngman  <jay@gnu.org>
105949         and Paul Eggert  <eggert@cs.ucla.edu>
105951         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
105952         birthtime on all systems that have birthtime, not just those which
105953         use st_birthtimensec rather than st_birthtim.  Putting zero in
105954         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
105955         that the birth time is not available for files on an NFS mount.
105957 2007-04-03  Simon Josefsson  <simon@josefsson.org>
105959         * modules/memxor: Move back from crypto/, suggested by Bruno.
105960         * modules/crypto/hmac-sha1: Fix memxor dependency.
105962         * modules/crypto/gc: Moved from ../.
105964 2007-04-02  Eric Blake  <ebb9@byu.net>
105966         * lib/ldexpl.c (includes): Avoid libm.
105968         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
105970 2007-04-02  Bruno Haible  <bruno@clisp.org>
105972         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
105973         on IRIX.
105975 2007-04-02  Bruno Haible  <bruno@clisp.org>
105977         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
105978         x86 or x86_64 platforms running MacOS X.
105979         Reported by Ryan Schmidt <@ryandesign.com>.
105981 2007-04-02  Bruno Haible  <bruno@clisp.org>
105983         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
105984         i386.
105986 2007-04-01  Simon Josefsson  <simon@josefsson.org>
105988         * modules/crypto/arcfour: Moved from ../.
105989         * modules/crypto/arcfour-tests: Moved from ../.
105990         * modules/crypto/arctwo: Moved from ../.
105991         * modules/crypto/arctwo-tests: Moved from ../.
105992         * modules/crypto/des: Moved from ../.
105993         * modules/crypto/des-tests: Moved from ../.
105994         * modules/crypto/gc-arcfour: Moved from ../.
105995         * modules/crypto/gc-arcfour-tests: Moved from ../.
105996         * modules/crypto/gc-arctwo: Moved from ../.
105997         * modules/crypto/gc-arctwo-tests: Moved from ../.
105998         * modules/crypto/gc-des: Moved from ../.
105999         * modules/crypto/gc-des-tests: Moved from ../.
106000         * modules/crypto/gc-hmac-md5: Moved from ../.
106001         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
106002         * modules/crypto/gc-hmac-sha1: Moved from ../.
106003         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
106004         * modules/crypto/gc-md2: Moved from ../.
106005         * modules/crypto/gc-md2-tests: Moved from ../.
106006         * modules/crypto/gc-md4: Moved from ../.
106007         * modules/crypto/gc-md4-tests: Moved from ../.
106008         * modules/crypto/gc-md5: Moved from ../.
106009         * modules/crypto/gc-md5-tests: Moved from ../.
106010         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
106011         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
106012         * modules/crypto/gc-random: Moved from ../.
106013         * modules/crypto/gc-rijndael: Moved from ../.
106014         * modules/crypto/gc-rijndael-tests: Moved from ../.
106015         * modules/crypto/gc-sha1: Moved from ../.
106016         * modules/crypto/gc-sha1-tests: Moved from ../.
106017         * modules/crypto/gc-tests: Moved from ../.
106018         * modules/crypto/hmac-md5: Moved from ../.
106019         * modules/crypto/hmac-md5-tests: Moved from ../.
106020         * modules/crypto/hmac-sha1: Moved from ../.
106021         * modules/crypto/hmac-sha1-tests: Moved from ../.
106022         * modules/crypto/md2: Moved from ../.
106023         * modules/crypto/md2-tests: Moved from ../.
106024         * modules/crypto/md4: Moved from ../.
106025         * modules/crypto/md4-tests: Moved from ../.
106026         * modules/crypto/md5: Moved from ../.
106027         * modules/crypto/md5-tests: Moved from ../.
106028         * modules/crypto/memxor: Moved from ../.
106029         * modules/crypto/rijndael: Moved from ../.
106030         * modules/crypto/rijndael-tests: Moved from ../.
106031         * modules/crypto/sha1: Moved from ../.
106033 2007-03-30  James Youngman  <jay@gnu.org>
106035         * tests/test-stat-time.c (prepare_test): use chmod() rather than
106036         rename() to change the ctime of a file (because ctime is unaffected
106037         by rename on jfs2 on AIX 5.1).
106038         (main): Start by doing cleanup, in case a previous run failed leaving
106039         test files behind.
106041 2007-03-31  Bruno Haible  <bruno@clisp.org>
106043         Support old proprietary implementations of iconv.
106044         * modules/iconv_open: New file.
106045         * lib/iconv_.h: New file.
106046         * m4/iconv_h.m4: New file.
106047         * lib/iconv_open.c: New file.
106048         * lib/iconv_open-aix.gperf: New file.
106049         * lib/iconv_open-hpux.gperf: New file.
106050         * lib/iconv_open-irix.gperf: New file.
106051         * lib/iconv_open-osf.gperf: New file.
106052         * m4/iconv_open.m4: New file.
106053         * modules/linebreak (Depends-on): Add iconv_open.
106054         * modules/striconv (Depends-on): Likewise.
106055         * modules/striconveh (Depends-on): Likewise.
106056         * modules/unicodeio (Depends-on): Likewise.
106057         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
106058         (iconv_t)(-1).
106059         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
106060         conversion if cd is (iconv_t)(-1).
106061         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
106062         is not possible.
106064 2007-03-31  Bruno Haible  <bruno@clisp.org>
106066         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106067         work on Solaris either. Protect also second use of "autodetect_jp".
106069 2007-03-31  Bruno Haible  <bruno@clisp.org>
106071         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
106072         the function is not present.
106074 2007-03-31  Bruno Haible  <bruno@clisp.org>
106076         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
106077         the function is not present.
106079 2007-03-31  Bruno Haible  <bruno@clisp.org>
106081         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
106082         a bug in HP-UX iconv_open().
106084 2007-03-31  Bruno Haible  <bruno@clisp.org>
106086         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
106087         (Mathematics <math.h>): New section, add fpieee.
106088         (Input/output <stdio.h>): Add fseterr.
106089         (Mathematics <math.h>): New section, add printf-frexp.
106090         (Container data structures): Add sublist.
106091         (Core language properties): Add fpucw, inline.
106092         (Functions for greatest-width integer types <inttypes.h>): Add
106093         imaxabs, imaxdiv, inttypes.
106094         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
106095         isnanl-nolibm, ldexp.
106096         (Mathematics <math.h>): New section, add printf-frexpl.
106097         (Support for systems lacking POSIX:2001): Add fprintf-posix,
106098         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
106099         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
106100         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
106101         (Unicode string functions): Add unistr/u*-mbtoucr.
106102         (Java): Add javacomp-script, javaexec-script.
106103         (C#): Add csharpcomp-script, csharpexec-script.
106104         (Support for building libraries and executables): Add havelib,
106105         relocatable-*.
106106         (Support for maintaining and releasing projects): Renamed from
106107         'Support for maintaining and release projects'. Add announce-gen.
106109 2007-03-31  Bruno Haible  <bruno@clisp.org>
106111         * README: Talk primarily about git.
106112         (git and CVS): Renamed from CVS.
106113         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
106114         gnulib is available through git.
106115         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
106117 2007-03-30  Bruno Haible  <bruno@clisp.org>
106119         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
106120         * lib/poll_.h: Likewise.
106121         * lib/stat_.h: Likewise.
106122         * lib/sys_time_.h: Likewise.
106123         * lib/sysexit_.h: Likewise.
106124         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
106125         * lib/stdbool_.h: Likewise.
106126         * lib/byteswap_.h: Add double-inclusion guard.
106128 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
106130         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
106132 2007-03-30  Karl Berry  <karl@gnu.org>
106134         * config/srclist-update: double space after USA in the license
106135         substitution, since that's how it's usually (?) written.
106137 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
106139         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
106140         reported by Bruno Haible.
106142 2007-03-29  Bruno Haible  <bruno@clisp.org>
106144         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
106145         a bug in AIX iconv().
106147 2007-03-29  Bruno Haible  <bruno@clisp.org>
106149         * modules/ldexpl-tests: New file.
106150         * tests/test-ldexpl.c: New file.
106152 2007-03-29  Bruno Haible  <bruno@clisp.org>
106154         * lib/ldexpl.c: Include fpucw.h.
106155         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
106156         multiplication.
106157         * modules/ldexpl (Depends-on): Add fpucw.
106159 2007-03-29  Bruno Haible  <bruno@clisp.org>
106161         * modules/ldexpl: New file.
106162         * m4/ldexpl.m4: New file.
106163         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
106164         set.
106165         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
106166         REPLACE_LDEXPL.
106167         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
106168         REPLACE_LDEXPL.
106169         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
106170         gl_FUNC_LDEXPL_WORKS.
106171         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
106172         * modules/mathl (Files): Remove lib/ldexpl.c.
106173         (Depends-on): Add ldexpl.
106175 2007-03-29  Bruno Haible  <bruno@clisp.org>
106177         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
106179 2007-03-29  Bruno Haible  <bruno@clisp.org>
106181         * tests/test-striconveh.c (main): Don't assume that a direct conversion
106182         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
106183         and possibly also HP-UX.
106184         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
106185         work on AIX, IRIX, HP-UX, OSF/1.
106186         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
106187         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
106188         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
106189         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
106190         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
106191         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
106193 2007-03-29  Bruno Haible  <bruno@clisp.org>
106195         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
106197 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106199         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
106200         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
106202 2007-03-29  Eric Blake  <ebb9@byu.net>
106204         * lib/acl-internal.h: Remove redundant include.
106205         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
106206         Cygwin when a file is locked.
106208 2007-03-29  Bruno Haible  <bruno@clisp.org>
106210         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
106211         file.
106212         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
106214 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
106216         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
106217         try to remove a parent directory if the child couldn't be removed
106218         (except for the first rmdir, which could fail because the child
106219         doesn't exist).  Problem reported by Jeff Blaine in
106220         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
106222 2007-03-28  Bruno Haible  <bruno@clisp.org>
106224         * lib/striconveh.c (utf8conv_carefully): New function.
106225         (mem_cd_iconveh_internal): Invoke it.
106227 2007-03-28  Bruno Haible  <bruno@clisp.org>
106229         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
106230         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
106231         input.
106232         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
106233         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
106234         unistr/u8-uctomb.
106236 2007-03-28  Bruno Haible  <bruno@clisp.org>
106238         * modules/unistr/u8-mbtoucr: New file.
106239         * lib/unistr/u8-mbtoucr.c: New file.
106240         * modules/unistr/u16-mbtoucr: New file.
106241         * lib/unistr/u16-mbtoucr.c: New file.
106242         * modules/unistr/u16-mbtoucr: New file.
106243         * lib/unistr/u16-mbtoucr.c: New file.
106244         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
106246 2007-03-27  Simon Josefsson  <simon@josefsson.org>
106247             Bruno Haible  <bruno@clisp.org>
106249         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
106250         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
106251         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
106253         * m4/stdio_h.m4: Add stubs for vasprintf too.
106255         * modules/stdio: Support vasprintf in sed command.
106257         * modules/vasprintf: Depend on stdio for prototypes.  Remove
106258         vasprintf.h.  Add stdio module indicator.
106260         * lib/stdio_.h: Declare asprintf and vasprintf, based on
106261         vasprintf.h.
106263         * lib/vasprintf.h: File removed.
106265         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
106266         * lib/vasprintf.c: Ditto.
106267         * lib/xvasprintf.c: Ditto.
106268         * tests/test-vasprintf-posix.c: Ditto.
106269         * tests/test-vasprintf.c: Ditto.
106271 2007-03-27  Bruno Haible  <bruno@clisp.org>
106273         Make vasnprintf multithread-safe.
106274         * lib/vasnprintf.c (decimal_point_char): New function.
106275         (VASNPRINTF): Use it.
106276         Suggested by Simon Josefsson.
106278 2007-03-27  Eric Blake  <ebb9@byu.net>
106280         Support sub-second birthtime on cygwin.
106281         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
106282         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
106283         (get_stat_birthtime): Also work with st_birthtim.
106285 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
106287         * lib/stat-time.h (USE_BIRTHTIME): Remove.
106288         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
106289         (get_stat_birthtime_ns): Do not try to use "spare" fields.
106290         (get_stat_birthtime_ns): Simplify compile-time tests.
106291         (get_stat_birthtime): Change the API to look like
106292         get_stat_mtime etc., except return a negative tv_nsec on error.
106293         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
106294         Don't check for "spare" fields.
106295         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
106296         or for struct stat.st_birthtime, as these tests aren't used.
106297         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
106299 2007-03-27  Bruno Haible  <bruno@clisp.org>
106301         * lib/stat-time.h: Include <sys/stat.h>.
106303 2007-03-27  James Youngman  <jay@gnu.org>
106305         * lib/stat-time.h (get_stat_birthtime): New function for
106306           retrieving st_birthtime as provided by UFS2 (hence *BSD).
106307         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
106308           and its variants.
106309         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
106310         * modules/stat-time-test: New file.
106311         * tests/test-stat-time.c: New test, devised by Bruno Haible.
106313 2007-03-26  Bruno Haible  <bruno@clisp.org>
106315         Better support of signalling NaNs.
106316         * lib/atanl.c: Include isnanl.h.
106317         (atanl): Perform test for NaN at the beginning of the function and
106318         through a call to isnanl.
106319         * lib/cosl.c: Include isnanl.h.
106320         (cosl): Perform test for NaN at the beginning of the function and
106321         through a call to isnanl.
106322         * lib/ldexpl.c: Include isnanl.h.
106323         (ldexpl): Perform test for NaN through a call to isnanl.
106324         * lib/logl.c: Include isnanl.h.
106325         (logl): Perform test for NaN at the beginning of the function and
106326         through a call to isnanl.
106327         * lib/sinl.c: Include isnanl.h.
106328         (sinl): Perform test for NaN at the beginning of the function and
106329         through a call to isnanl.
106330         * lib/sqrtl.c: Include isnanl.h.
106331         (sqrtl): Perform test for NaN at the beginning of the function and
106332         through a call to isnanl.
106333         * lib/tanl.c: Include isnanl.h.
106334         (tanl): Perform test for NaN at the beginning of the function and
106335         through a call to isnanl.
106336         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
106337         * modules/mathl (Depends-on): Add isnanl.
106339 2007-03-26  Eric Blake  <ebb9@byu.net>
106341         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
106342         regression in logic sense of previous patch.
106344 2007-03-26  Bruno Haible  <bruno@clisp.org>
106346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
106347         unportable shell command "if ! ...".
106348         Reported by Ralf Wildenhues.
106350 2007-03-25  Bruno Haible  <bruno@clisp.org>
106352         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
106353         <sysexits.h> file, and only add EX_CONFIG.
106354         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
106355         absolute file name and whether it is sufficient. Substitute also
106356         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
106357         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
106358         ABSOLUTE_SYSEXITS_H into sysexits.h.
106360 2007-03-25  Bruno Haible  <bruno@clisp.org>
106362         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
106363         hints is NULL.
106365 2007-03-25  Bruno Haible  <bruno@clisp.org>
106367         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
106368         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
106370 2007-03-25  Bruno Haible  <bruno@clisp.org>
106372         * lib/vasnprintf.c: Include langinfo.h.
106373         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
106374         multithread-safe.
106375         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
106376         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
106377         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
106378         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106379         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106380         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106381         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
106382         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
106383         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106384         Reported by Simon Josefsson.
106386 2007-03-25  Bruno Haible  <bruno@clisp.org>
106388         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
106389         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
106390         * modules/vasnprintf (Depends-on): Add stdint.
106392 2007-03-25  Bruno Haible  <bruno@clisp.org>
106394         * modules/fpieee: New file.
106395         * m4/fpieee.m4: New file.
106396         * modules/isnan-nolibm (Depends-on): Add fpieee.
106397         * modules/isnanl-nolibm (Depends-on): Add fpieee.
106398         * modules/isnanl (Depends-on): Add fpieee.
106400 2007-03-25  Bruno Haible  <bruno@clisp.org>
106402         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
106404 2007-03-25  Bruno Haible  <bruno@clisp.org>
106406         Avoid test failures on IRIX 6.5.
106407         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
106408         (main): Use it.
106409         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
106410         macros.
106411         (main): Use them.
106413 2007-03-25  Bruno Haible  <bruno@clisp.org>
106415         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
106416         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
106417         exists but doesn't work.
106418         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
106419         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
106420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
106421         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
106422         math.h.
106424 2007-03-25  Bruno Haible  <bruno@clisp.org>
106426         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
106427         returns inf. Needed on IRIX 6.5.
106429 2007-03-25  Bruno Haible  <bruno@clisp.org>
106431         * tests/test-frexpl.c: Include isnanl-nolibm.h.
106432         (main): Use isnanl instead of x != x idiom.
106433         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
106435         * tests/test-frexp.c: Include isnan.h.
106436         (main): Use isnan instead of x != x idiom.
106437         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
106439 2007-03-25  Bruno Haible  <bruno@clisp.org>
106441         * tests/test-frexp.c (NaN): New function/macro.
106442         (main): Use it instead of 0.0 / 0.0.
106443         * tests/test-isnan.c (NaN): New function/macro.
106444         (main): Use it instead of 0.0 / 0.0.
106445         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
106446         (test_function): Use it instead of 0.0 / 0.0.
106447         * tests/test-vasprintf-posix.c (NaN): New function/macro.
106448         (test_function): Use it instead of 0.0 / 0.0.
106449         * tests/test-snprintf-posix.h (NaN): New function/macro.
106450         (test_function): Use it instead of 0.0 / 0.0.
106451         * tests/test-sprintf-posix.h (NaN): New function/macro.
106452         (test_function): Use it instead of 0.0 / 0.0.
106453         * tests/test-fprintf-posix.h (NaN): New function/macro.
106454         (test_function): Use it instead of 0.0 / 0.0.
106455         * tests/test-printf-posix.h (NaN): New function/macro.
106456         (test_function): Use it instead of 0.0 / 0.0.
106458         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
106460 2007-03-25  Bruno Haible  <bruno@clisp.org>
106462         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
106464 2007-03-25  Bruno Haible  <bruno@clisp.org>
106466         * lib/regexec.c (merge_state_with_log): Make static.
106468 2007-03-25  Bruno Haible  <bruno@clisp.org>
106470         * lib/trigl.c (kernel_rem_pio2): Make static.
106472 2007-03-25  Bruno Haible  <bruno@clisp.org>
106474         * lib/sincosl.c (sincosl_table): Make static.
106476 2007-03-25  Bruno Haible  <bruno@clisp.org>
106478         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
106479         if the compiler does not support C99.
106481 2007-03-25  Bruno Haible  <bruno@clisp.org>
106483         * modules/time (Makefile.am): Ensure all rule action lines start with a
106484         tab.
106486 2007-03-24  Bruno Haible  <bruno@clisp.org>
106488         * modules/tsearch-tests: New file.
106489         * tests/test-tsearch.sh: New file.
106490         * tests/test-tsearch.c: New file, mostly copied from glibc.
106492         * modules/search-tests: New file.
106493         * tests/test-search.c: New file.
106495         * modules/search: New file.
106496         * lib/search_.h: New file, incorporating lib/tsearch.h.
106497         * m4/search_h.m4: New file.
106498         * lib/tsearch.h: Remove file.
106499         * lib/tsearch.c: Include search.h instead of tsearch.h.
106500         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
106501         HAVE_TSEARCH.
106502         * modules/tsearch (Files): Remove lib/tsearch.h.
106503         (Depends-on): Add search.
106504         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
106505         (Include): Change tsearch.h into search.h.
106507 2007-03-24  Bruno Haible  <bruno@clisp.org>
106509         * modules/fpucw: New file.
106510         * lib/fpucw.h: New file.
106511         * lib/frexp.c: Include fpucw.h.
106512         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106513         (FUNC): Use them.
106514         * lib/printf-frexp.c: Include fpucw.h.
106515         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
106516         (FUNC): Use them.
106517         * lib/vasnprintf.c: Include fpucw.h.
106518         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
106519         'long double' calculations.
106520         * tests/test-frexpl.c: Include fpucw.h.
106521         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106522         * tests/test-printf-frexpl.c: Include fpucw.h.
106523         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
106524         * modules/frexpl (Depends-on): Add fpucw.
106525         * modules/printf-frexpl (Depends-on): Likewise.
106526         * modules/fprintf-posix (Depends-on): Likewise.
106527         * modules/snprintf-posix (Depends-on): Likewise.
106528         * modules/sprintf-posix (Depends-on): Likewise.
106529         * modules/vasnprintf-posix (Depends-on): Likewise.
106530         * modules/vasprintf-posix (Depends-on): Likewise.
106531         * modules/vfprintf-posix (Depends-on): Likewise.
106532         * modules/vsnprintf-posix (Depends-on): Likewise.
106533         * modules/vsprintf-posix (Depends-on): Likewise.
106534         * modules/frexpl-tests (Depends-on): Likewise.
106535         * modules/printf-frexpl-tests (Depends-on): Likewise.
106537 2007-03-24  Bruno Haible  <bruno@clisp.org>
106539         * lib/float+.h: New file.
106540         * lib/isnan.c: Include float+.h.
106541         (SIZE): New macro.
106542         (FUNC): Compare only SIZE bytes of the value.
106543         * lib/vasnprintf.c: Include float+.h.
106544         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
106545         SIZEOF_LDBL or SIZEOF_DBL bytes.
106546         * modules/isnan-nolibm (Files): Add lib/float+.h.
106547         * modules/isnanl-nolibm (Files): Add lib/float+.h.
106548         * modules/isnanl (Files): Add lib/float+.h.
106549         * modules/vasnprintf (Files): Add lib/float+.h.
106551 2007-03-24  Bruno Haible  <bruno@clisp.org>
106553         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
106554         include isnanl-nolibm.h.
106556 2007-03-24  Bruno Haible  <bruno@clisp.org>
106558         * tests/test-read-file.c (main): Don't produce spurious output for
106559         expected situations. Make the test fail if it encountered unexpected
106560         results.
106562 2007-03-24  Bruno Haible  <bruno@clisp.org>
106564         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
106565         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
106567 2007-03-24  Bruno Haible  <bruno@clisp.org>
106569         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
106571 2007-03-24  Bruno Haible  <bruno@clisp.org>
106573         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
106574         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
106576         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
106577         * modules/utf8-ucs4: Turn into a symbolic link to module
106578         unistr/u8-mbtouc.
106580         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
106581         utf8-ucs4-unsafe.
106582         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
106583         unistr/u8-mbtouc-unsafe.
106585         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
106586         * modules/utf16-ucs4: Turn into a symbolic link to module
106587         unistr/u16-mbtouc.
106589         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
106590         utf16-ucs4-unsafe.
106591         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
106592         unistr/u16-mbtouc-unsafe.
106594         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
106595         * modules/ucs4-utf8: Turn into a symbolic link to module
106596         unistr/u8-ubtomb.
106598         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
106599         * modules/ucs4-utf16: Turn into a symbolic link to module
106600         unistr/u16-ubtomb.
106602 2007-03-24  Bruno Haible  <bruno@clisp.org>
106604         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
106605         Enable the function only if HAVE_INLINE.
106606         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
106607         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106608         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
106609         Enable the function only if HAVE_INLINE.
106610         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
106611         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106612         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
106613         Enable the function only if HAVE_INLINE.
106614         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
106615         Enable the function only if HAVE_INLINE.
106616         * modules/utf8-ucs4: Update.
106617         * modules/utf8-ucs4-unsafe: Update.
106618         * modules/utf16-ucs4: Update.
106619         * modules/utf16-ucs4-unsafe: Update.
106620         * modules/ucs4-utf8: Update.
106621         * modules/ucs4-utf16: Update.
106623 2007-03-24  Bruno Haible  <bruno@clisp.org>
106625         * lib/utf8-ucs4.h: Remove file.
106626         * lib/utf8-ucs4-unsafe.h: Remove file.
106627         * lib/utf16-ucs4.h: Remove file.
106628         * lib/utf16-ucs4-unsafe.h: Remove file.
106629         * lib/ucs4-utf8.h: Remove file.
106630         * lib/ucs4-utf16.h: Remove file.
106631         * lib/unistr.h: Include their previous contents.
106632         * m4/utf-ucs4.m4: Remove file.
106633         * m4/ucs4-utf.m4: Remove file.
106634         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
106635         (Depends-on): Add unistr/base.
106636         (configure.ac): Remove gl_UTF_UCS4.
106637         (Makefile.am): Update.
106638         (Include): Change to unistr.h.
106639         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
106640         (Depends-on): Add unistr/base.
106641         (configure.ac): Remove gl_UTF_UCS4.
106642         (Makefile.am): Update.
106643         (Include): Change to unistr.h.
106644         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
106645         (Depends-on): Add unistr/base.
106646         (configure.ac): Remove gl_UTF_UCS4.
106647         (Makefile.am): Update.
106648         (Include): Change to unistr.h.
106649         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
106650         (Depends-on): Add unistr/base.
106651         (configure.ac): Remove gl_UTF_UCS4.
106652         (Makefile.am): Update.
106653         (Include): Change to unistr.h.
106654         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
106655         (Depends-on): Add unistr/base.
106656         (configure.ac): Remove gl_UCS4_UTF.
106657         (Makefile.am): Update.
106658         (Include): Change to unistr.h.
106659         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
106660         (Depends-on): Add unistr/base.
106661         (configure.ac): Remove gl_UCS4_UTF.
106662         (Makefile.am): Update.
106663         (Include): Change to unistr.h.
106664         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
106665         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
106666         utf8-ucs4-unsafe.h.
106667         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
106668         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
106669         utf16-ucs4-unsafe.h.
106670         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
106671         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
106672         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
106673         * lib/unistr/u8-strchr.c: Likewise.
106674         * lib/unistr/u8-strrchr.c: Likewise.
106675         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
106676         * lib/unistr/u16-strchr.c: Likewise.
106677         * lib/unistr/u16-strrchr.c: Likewise.
106678         * lib/striconveh.c: Update.
106679         * lib/linebreak.c: Update.
106681 2007-03-24  Bruno Haible  <bruno@clisp.org>
106683         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
106684         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
106686 2007-03-22  Bruno Haible  <bruno@clisp.org>
106688         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
106690 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
106692         * MODULES.html.sh (File system functions): New module write-any-file.
106693         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
106694         * m4/write-any-file.m4: New files.
106696 2007-03-23  Eric Blake  <ebb9@byu.net>
106698         * gnulib-tool: Rearrange space-tab sequences, since some editors
106699         like to eat them.
106701 2007-03-23  Eric Blake  <ebb9@byu.net>
106703         * lib/version-etc.c (version_etc_va): Update license wording to
106704         be more concise.  Recommended by Richard Stallman.
106706 2007-03-22  Bruno Haible  <bruno@clisp.org>
106708         * lib/poll.c (MSG_PEEK): New fallback definition.
106710 2007-03-22  Bruno Haible  <bruno@clisp.org>
106712         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
106713         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
106714         (main): Update.
106715         Fixes a compilation error on BeOS.
106717 2007-03-22  Bruno Haible  <bruno@clisp.org>
106719         * modules/frexpl-tests: New file.
106720         * tests/test-frexpl.c: New file.
106722         * modules/frexpl: New file.
106723         * m4/frexpl.m4: New file.
106724         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
106725         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
106726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
106727         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
106728         (Depends-on): Add frexpl. Remove isnanl-nolibm.
106729         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
106731 2007-03-22  Bruno Haible  <bruno@clisp.org>
106733         * lib/frexpl.c: Share code with lib/frexp.c.
106734         * modules/mathl (Files): Add lib/frexp.c.
106735         (Depends-on): Add isnanl-nolibm.
106737 2007-03-22  Bruno Haible  <bruno@clisp.org>
106739         * modules/printf-frexp (Files): Add m4/frexp.m4.
106740         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
106741         only if the found frexp function actually works.
106743 2007-03-22  Bruno Haible  <bruno@clisp.org>
106745         * lib/frexp.c: Remove older implementation that uses divisions.
106747 2007-03-21  Bruno Haible  <bruno@clisp.org>
106749         * modules/frexp-tests: New file.
106750         * tests/test-frexp.c: New file.
106752         * modules/frexp: New file.
106753         * lib/frexp.c: New file.
106754         * m4/frexp.m4: New file.
106755         * lib/math_.h (frexp): New declaration.
106756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
106757         REPLACE_FREXP.
106758         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
106760 2007-03-21  Bruno Haible  <bruno@clisp.org>
106762         * modules/isnanl-tests: New file.
106763         * tests/test-isnanl.c: New file.
106765         * modules/isnanl: New file.
106766         * lib/isnanl.h: New file.
106767         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
106768         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
106769         gl_FUNC_ISNANL_WORKS.
106770         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
106771         New macros.
106773 2007-03-21  Bruno Haible  <bruno@clisp.org>
106775         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
106776         lib/isnanl.h.
106777         (Include): Update.
106778         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
106779         * lib/vasnprintf.c: Update.
106780         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
106781         tests/test-isnanl.h, remove tests/test-isnanl.c.
106782         (Makefile.am): Update.
106783         * tests/test-isnanl-nolibm.c: New file.
106784         * tests/test-isnanl.h: New file.
106785         * tests/test-isnanl.c: Remove file.
106787 2007-03-21  Jim Meyering  <jim@meyering.net>
106789         When trying to open ".", treat ESTALE like EACCES.
106790         * lib/savewd.c (savewd_save): Resort to forking not just upon
106791         failure with EACCES, but also when errno is ESTALE.
106793 2007-03-20  Bruno Haible  <bruno@clisp.org>
106795         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
106796         Needed on AIX 5.1. Reported by Matthew Woehlke.
106798 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106800         Suggestions by Bruno Haible:
106801         * lib/acl-internal.h: Include "gettext.h" rather than rolling
106802         our own.
106803         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
106804         * modules/acl (Depends-on): Add gettext.
106806 2007-03-19  Bruno Haible  <bruno@clisp.org>
106808         * modules/iconvme: Remove file.
106809         * lib/iconvme.h: Remove file.
106810         * lib/iconvme.c: Remove file.
106811         * m4/iconvme.m4: Remove file.
106813 2007-03-19  Bruno Haible  <bruno@clisp.org>
106815         * doc/relocatable-maint.texi: Break long shell script line.
106816         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106818 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106820         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
106821         handle file_has_acl.
106822         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
106823         * lib/acl.c: Move header inclusions and related macro defns into
106824         lib/acl-internal.h.
106825         (S_ISLNK): Remove defn, since that's now done for us.
106826         (file_has_acl): Move to lib/file-has-acl.c.
106827         Call acl_trivial if available.  This is the crucial part of the fix.
106828         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
106829         shared within the library.  Rewrite a bit, partly to make it compatible
106830         with the GNU coding style.
106831         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
106832         Remove unnecessary double-quotes.
106833         Don't test for acl_to_text; the build will catch that.
106834         Replace acl_entries if it doesn't exist and it is needed.
106835         Check for -lsec and acl_trivial (as used on Solaris 10).
106836         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
106837         lib/file-has-acl.c.
106838         (Depends-on): Add sys_stat, for S_ISLNK.
106840 2007-03-19  Ben Pfaff  <blp@gnu.org>
106842         * doc/gnulib.texi: Fix typos.
106843         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106845 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106847         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
106848         If size is zero here, buf must be zero.
106850 2007-03-19  Simon Josefsson  <simon@josefsson.org>
106852         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
106853         <bruno@clisp.org>.
106855 2007-03-18  Bruno Haible  <bruno@clisp.org>
106857         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
106858         Suggested by Eric Blake.
106860 2007-03-18  Ben Pfaff  <blp@gnu.org>
106862         * doc/relocatable.texi: Recommend using as prefix a directory
106863         that does not exist and will never be created.  Based on
106864         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
106865         and others.
106867 2007-03-17  Bruno Haible  <bruno@clisp.org>
106869         * lib/fchownat.c: Include lchown.h.
106871 2007-03-17  Bruno Haible  <bruno@clisp.org>
106873         Fix endless loop when the given allocated size was > INT_MAX.
106874         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
106875         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
106876         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
106877         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
106878         * lib/sprintf.c (sprintf): Likewise.
106880 2007-03-17  Bruno Haible  <bruno@clisp.org>
106882         * tests/test-argp-2.sh (func_compare): Output a context diff.
106884 2007-03-17  Bruno Haible  <bruno@clisp.org>
106886         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
106887         locale's decimal-point character.
106889 2007-03-17  Bruno Haible  <bruno@clisp.org>
106891         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
106892         before comparing it. Needed because on some platforms (e.g. x86) a
106893         'long double' occupies less bytes than sizeof (long double).
106895 2007-03-17  Bruno Haible  <bruno@clisp.org>
106897         * tests/test-crc.c (main): Make printf statements 64-bit clean.
106898         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
106899         * tests/test-getaddrinfo.c (simple): Likewise.
106900         * tests/test-read-file.c (main): Likewise.
106902 2007-03-17  Bruno Haible  <bruno@clisp.org>
106904         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
106906 2007-03-17  Bruno Haible  <bruno@clisp.org>
106908         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
106909         unused variable.
106911 2007-03-17  Bruno Haible  <bruno@clisp.org>
106913         * tests/test-c-strcasecmp.c: Include c-strcase.h.
106914         * tests/test-c-strncasecmp.c: Likewise.
106916 2007-03-17  Bruno Haible  <bruno@clisp.org>
106918         * modules/stdlib (Depends-on): Add unistd.
106919         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
106920         Needed for MacOS X 10.3.
106922 2007-03-17  Bruno Haible  <bruno@clisp.org>
106924         * lib/unistr/u-strdup.h: Include <stdlib.h>.
106926 2007-03-17  Bruno Haible  <bruno@clisp.org>
106928         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
106930 2007-03-17  Bruno Haible  <bruno@clisp.org>
106932         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
106933         to reflect files copied from gnulib (with or without modifications).
106934         Suggested by Jim Meyering.
106936 2007-03-17  Eric Blake  <ebb9@byu.net>
106938         * NEWS: Document stdlib change from 2007-02-18.
106940 2007-03-17  Jim Meyering  <jim@meyering.net>
106942         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
106943         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
106944         someone uses a name containing shell meta-characters.
106945         Reported by Alfred M. Szmidt.
106947         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
106949 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106951         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
106952         and copy gettext configuration files only if configure.ac contains
106953         a use of AM_GNU_GETTEXT_VERSION.
106955 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106957         * build-aux/bootstrap (gnulib_name): New variable.
106958         (gnulib_tool_options): Use it.
106960 2007-03-13  Simon Josefsson  <simon@josefsson.org>
106962         * tests/test-des.c: Use new namespace.
106964 2007-03-15  Bruno Haible  <bruno@clisp.org>
106966         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
106967         Reported by James Youngman <jay@gnu.org>.
106969 2007-03-15  Bruno Haible  <bruno@clisp.org>
106971         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
106972         declared prototype. Needed with cc on OSF/1 5.1.
106974 2007-03-15  Bruno Haible  <bruno@clisp.org>
106976         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
106977         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
106978         (struct gl_list_implementation): Add dispose_fn argument to the
106979         'create_empty', 'create' methods.
106980         (struct gl_list_impl_base): Add field 'dispose_fn'.
106981         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
106982         argument.
106983         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
106984         dispose_fn argument.
106985         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
106986         dispose_fn on the dropped values.
106987         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
106988         dispose_fn argument.
106989         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
106990         dropped values.
106991         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
106992         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106993         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
106994         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106995         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
106996         argument.
106997         (gl_tree_list_free): Call dispose_fn on the dropped values.
106998         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
106999         the dropped values.
107000         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
107001         Add dispose_fn argument.
107002         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
107003         Call dispose_fn on the dropped values.
107004         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
107005         Add dispose_fn argument.
107006         (gl_sublist_create): Initialize the 'dispose_fn' field.
107007         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
107008         * tests/test-array_list.c (main): Update.
107009         * tests/test-carray_list.c (main): Update.
107010         * tests/test-avltree_list.c (main): Update.
107011         * tests/test-rbtree_list.c (main): Update.
107012         * tests/test-avltreehash_list.c (main): Update.
107013         * tests/test-rbtreehash_list.c (main): Update.
107014         * tests/test-linked_list.c (main): Update.
107015         * tests/test-linkedhash_list.c (main): Update.
107016         * tests/test-array_oset.c (main): Update.
107018 2007-03-15  Bruno Haible  <bruno@clisp.org>
107020         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
107021         (gl_oset_create_empty): Add dispose_fn argument.
107022         (struct gl_oset_implementation): Add dispose_fn argument to
107023         'create_empty' method.
107024         (struct gl_oset_impl_base): Add dispose_fn field.
107025         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
107026         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
107027         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
107028         values.
107029         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
107030         (gl_tree_oset_free): Call dispose_fn on the dropped values.
107031         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107032         dropped value.
107033         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
107034         dropped value.
107035         * tests/test-array_oset.c (main): Update.
107036         * tests/test-avltree_oset.c (main): Update.
107037         * tests/test-rbtree_oset.c (main): Update.
107038         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
107040 2007-03-13  Bruno Haible  <bruno@clisp.org>
107042         * tests/test-stdbool.c (i): Update after last patch.
107044 2007-03-12  Bruno Haible  <bruno@clisp.org>
107046         * lib/quotearg.c: Include <wctype.h> early, before the definition of
107047         the iswprint macro. Needed on Solaris 2.5.1.
107049 2007-03-12  Bruno Haible  <bruno@clisp.org>
107051         * tests/test-printf-frexp.c (main): Declare x as volatile.
107053 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107055         * doc/gnulib.texi (Build robot for gnulib): New section.
107057 2007-03-12  Jim Meyering  <jim@meyering.net>
107059         * build-aux/bootstrap: New file.
107060         * build-aux/bootstrap.conf: New file, from coreutils.
107062 2007-03-11  Bruno Haible  <bruno@clisp.org>
107064         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
107066 2007-03-12  Simon Josefsson  <simon@josefsson.org>
107068         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
107069         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
107070         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
107072 2007-03-11  Bruno Haible  <bruno@clisp.org>
107074         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
107075         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
107077 2007-03-11  Bruno Haible  <bruno@clisp.org>
107079         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
107080         formula. Needed for SunPRO C 5.0.
107082 2007-03-11  Bruno Haible  <bruno@clisp.org>
107084         * modules/long-options (Depends-on): Add getopt.
107086 2007-03-11  Bruno Haible  <bruno@clisp.org>
107088         * modules/modechange (Depends-on): Add stdbool.
107090 2007-03-11  Bruno Haible  <bruno@clisp.org>
107092         * modules/i-ring (Depends-on): Add stdbool.
107094 2007-03-11  Bruno Haible  <bruno@clisp.org>
107096         * modules/gc-des (Depends-on): Add stdbool.
107098 2007-03-11  Bruno Haible  <bruno@clisp.org>
107100         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
107102 2007-03-11  Bruno Haible  <bruno@clisp.org>
107104         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
107106 2007-03-11  Bruno Haible  <bruno@clisp.org>
107108         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
107110 2007-03-11  Bruno Haible  <bruno@clisp.org>
107112         * lib/vasnprintf.c (sprintf): Undefine.
107114 2007-03-11  Bruno Haible  <bruno@clisp.org>
107116         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
107117         initializers in SunPRO C and Compaq C compilers.
107119 2007-03-11  Bruno Haible  <bruno@clisp.org>
107121         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
107122         decrementing code ANSI C compliant.
107124 2007-03-11  Bruno Haible  <bruno@clisp.org>
107126         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
107127         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
107129 2007-03-11  Bruno Haible  <bruno@clisp.org>
107131         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
107132         <stdbool.h> substitute doesn't pass.
107134 2007-03-11  Bruno Haible  <bruno@clisp.org>
107136         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
107138 2007-03-11  Bruno Haible  <bruno@clisp.org>
107140         * gnulib-tool (func_create_megatestdir): Create also an autobuild
107141         script, for submission to autobuild.josefsson.org.
107143 2007-03-10  Bruno Haible  <bruno@clisp.org>
107145         * modules/canonicalize-lgpl-tests: New file.
107146         * tests/test-canonicalize-lgpl.sh: New file.
107147         * tests/test-canonicalize-lgpl.c: New file.
107149         * modules/c-strcase-tests: New file.
107150         * tests/test-c-strcase.sh: New file.
107151         * tests/test-c-strcasecmp.c: New file.
107152         * tests/test-c-strncasecmp.c: New file.
107154         * modules/atexit-tests: New file.
107155         * tests/test-atexit.sh: New file.
107156         * tests/test-atexit.c: New file.
107158 2007-03-10  Bruno Haible  <bruno@clisp.org>
107160         * tests/test-binary-io.sh: Use temporary filenames that are not so
107161         likely to clash with those of other tests (in a parallel make).
107162         * tests/test-binary-io.c: Likewise.
107164 2007-03-10  Bruno Haible  <bruno@clisp.org>
107166         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
107167         fallback; use #error instead.
107168         Suggested by Simon Josefsson.
107170 2007-03-10  Bruno Haible  <bruno@clisp.org>
107172         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
107173         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
107174         first and the last.
107176 2007-03-10  Bruno Haible  <bruno@clisp.org>
107178         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
107180 2007-03-10  Bruno Haible  <bruno@clisp.org>
107182         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
107183         "make distcheck".
107184         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
107185         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
107186         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
107188 2007-03-10  Bruno Haible  <bruno@clisp.org>
107190         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
107191         variable.
107192         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
107193         variable.
107195 2007-03-09  Eric Blake  <ebb9@byu.net>
107196         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
107198         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
107199         types are not being provided by gnulib.
107200         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
107201         types are supported.
107203 2007-03-10  Bruno Haible  <bruno@clisp.org>
107205         * lib/stdio_.h (__attribute__): New macro.
107206         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
107207         vsprintf): Specify __attribute__ __format__ for GCC.
107208         Suggested by Eric Blake.
107210 2007-03-09  Bruno Haible  <bruno@clisp.org>
107212         * modules/printf-posix-tests: New file.
107213         * tests/test-printf-posix.sh: New file.
107214         * tests/test-printf-posix.c: New file.
107216         * modules/printf-posix: New file.
107217         * lib/printf.c: New file.
107218         * m4/printf-posix-rpl.m4: New file.
107219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
107220         REPLACE_PRINTF.
107221         * lib/stdio_.h (printf): New declaration.
107222         (format, __format__, ____printf____, ____scanf____, ____strftime____,
107223         ____strfmon____): New macros.
107224         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
107225         REPLACE_PRINTF.
107227 2007-03-09  Bruno Haible  <bruno@clisp.org>
107229         * tests/test-vasnprintf-posix2.sh: New file.
107230         * tests/test-vasnprintf-posix2.c: New file.
107231         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
107232         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
107233         (Makefile.am): Activate test-vasnprintf-posix2.sh.
107235         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
107236         a locale dependent decimal point, rather than always '.'.
107238 2007-03-09  Eric Blake  <ebb9@byu.net>
107240         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
107241         spite of platforms like Tandem/NSK that define it to -1.
107243 2007-03-08  Bruno Haible  <bruno@clisp.org>
107245         * modules/vprintf-posix-tests: New file.
107246         * tests/test-vprintf-posix.sh: New file.
107247         * tests/test-vprintf-posix.c: New file.
107248         * tests/test-printf-posix.h: New file.
107250         * modules/vprintf-posix: New file.
107251         * lib/vprintf.c: New file.
107252         * m4/vprintf-posix.m4: New file.
107253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
107254         REPLACE_VPRINTF.
107255         * lib/stdio_.h (vprintf): New declaration.
107256         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
107257         REPLACE_VPRINTF.
107259 2007-03-08  Bruno Haible  <bruno@clisp.org>
107261         * modules/fprintf-posix-tests: New file.
107262         * tests/test-fprintf-posix.sh: New file.
107263         * tests/test-fprintf-posix.c: New file.
107265         * modules/fprintf-posix: New file.
107266         * lib/fprintf.c: New file.
107267         * m4/fprintf-posix.m4: New file.
107268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
107269         REPLACE_FPRINTF.
107270         * lib/stdio_.h (fprintf): New declaration.
107271         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
107272         REPLACE_FPRINTF.
107274 2007-03-08  Bruno Haible  <bruno@clisp.org>
107276         * modules/vfprintf-posix-tests: New file.
107277         * tests/test-vfprintf-posix.sh: New file.
107278         * tests/test-vfprintf-posix.c: New file.
107279         * tests/test-fprintf-posix.h: New file.
107280         * tests/test-fprintf-posix.out: New file.
107282         * modules/vfprintf-posix: New file.
107283         * lib/vfprintf.c: New file.
107284         * m4/vfprintf-posix.m4: New file.
107285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
107286         REPLACE_VFPRINTF.
107287         * lib/stdio_.h (vfprintf): New declaration.
107288         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
107289         REPLACE_VFPRINTF.
107291 2007-03-08  Bruno Haible  <bruno@clisp.org>
107293         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
107295 2007-03-08  Bruno Haible  <bruno@clisp.org>
107297         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
107298         instead of 'expr' invocations.
107299         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
107300         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
107301         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
107302         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
107303         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
107304         Suggested by Paul Eggert.
107306 2007-03-08  Bruno Haible  <bruno@clisp.org>
107308         * modules/fseterr-tests: New file.
107309         * tests/test-fseterr.c: New file.
107311         * modules/fseterr: New file.
107312         * lib/fseterr.h: New file.
107313         * lib/fseterr.c: New file.
107315 2007-03-08  Bruno Haible  <bruno@clisp.org>
107317         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
107318         * lib/getopt_.h: Likewise.
107319         * lib/mbswidth.h: Likewise.
107320         * lib/setenv.h: Likewise.
107321         * lib/vasnprintf.h: Likewise.
107322         * lib/vasprintf.h: Likewise.
107323         * lib/verror.h: Likewise.
107324         * lib/xsetenv.h: Likewise.
107325         * lib/xvasprintf.h: Likewise.
107327 2007-03-08  Jim Meyering  <jim@meyering.net>
107329         * users.txt: Add parted.
107331         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
107333 2007-03-07  Bruno Haible  <bruno@clisp.org>
107335         * m4/printf.m4: Make the shell script snippets copy&pastable.
107337 2007-03-02  Bruno Haible  <bruno@clisp.org>
107339         * lib/netinet_in_.h: New file.
107340         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
107341         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
107342         * modules/netinet_in (Files): Add lib/netinet_in_.h.
107343         (Depends-on): Add absolute-header.
107344         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
107345         into netinet/in.h.
107347 2007-03-03  Bruno Haible  <bruno@clisp.org>
107349         * lib/sys_select_.h: New file.
107350         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
107351         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
107352         * modules/sys_select (Files): Add lib/sys_select_.h.
107353         (Depends-on): Add absolute-header.
107354         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
107355         into sys/select.h.
107357 2007-03-02  Bruno Haible  <bruno@clisp.org>
107359         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
107360         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
107361         values.
107362         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
107363         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
107364         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
107365         * modules/sys_socket (Depends-on): Add absolute-header.
107366         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
107367         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
107368         (Include): Remove requirement of inclusion of <sys/types.h>.
107370 2007-03-02  Bruno Haible  <bruno@clisp.org>
107372         * lib/byteswap_.h (bswap_32): Fix formula.
107374 2007-03-06  Bruno Haible  <bruno@clisp.org>
107376         * modules/sprintf-posix-tests: New file.
107377         * tests/test-sprintf-posix.c: New file.
107379         * modules/sprintf-posix: New file.
107380         * lib/sprintf.c: New file.
107381         * m4/sprintf-posix.m4: New file.
107382         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
107383         REPLACE_SPRINTF.
107384         * lib/stdio_.h (sprintf): New declaration.
107385         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
107386         REPLACE_SPRINTF.
107388 2007-03-06  Bruno Haible  <bruno@clisp.org>
107390         * modules/vsprintf-posix-tests: New file.
107391         * tests/test-vsprintf-posix.c: New file.
107392         * tests/test-sprintf-posix.h: New file.
107394         * modules/vsprintf-posix: New file.
107395         * lib/vsprintf.c: New file.
107396         * m4/vsprintf-posix.m4: New file.
107397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
107398         REPLACE_VSPRINTF.
107399         * lib/stdio_.h (vsprintf): New declaration.
107400         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
107401         REPLACE_VSPRINTF.
107403 2007-03-06  Bruno Haible  <bruno@clisp.org>
107405         * modules/vsnprintf (Depend-on): Remove minmax.
107407 2007-03-06  Bruno Haible  <bruno@clisp.org>
107409         * modules/snprintf-posix-tests: New file.
107410         * tests/test-snprintf-posix.c: New file.
107412         * modules/snprintf-posix: New file.
107413         * m4/snprintf-posix.m4: New file.
107414         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
107415         gl_FUNC_SNPRINTF.
107416         (gl_FUNC_SNPRINTF): Invoke it.
107417         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
107418         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
107419         is set.
107420         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
107422 2007-03-06  Bruno Haible  <bruno@clisp.org>
107424         * modules/vsnprintf-posix-tests: New file.
107425         * tests/test-vsnprintf-posix.c: New file.
107426         * tests/test-snprintf-posix.h: New file.
107428         * modules/vsnprintf-posix: New file.
107429         * m4/vsnprintf-posix.m4: New file.
107430         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
107431         gl_FUNC_VSNPRINTF.
107432         (gl_FUNC_VSNPRINTF): Invoke it.
107433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
107434         * lib/stdio_.h (vsnprintf): Define as a replacement if
107435         REPLACE_VSNPRINTF is set.
107436         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
107438 2007-03-06  Bruno Haible  <bruno@clisp.org>
107440         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
107441         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
107443 2007-03-06  Bruno Haible  <bruno@clisp.org>
107445         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
107446         (asinl): Declare also if HAVE_DECL_ASINL is set.
107447         (atanl): Declare also if HAVE_DECL_ATANL is set.
107448         (ceill): Declare also if HAVE_DECL_CEILL is set.
107449         (cosl): Declare also if HAVE_DECL_COSL is set.
107450         (expl): Declare also if HAVE_DECL_EXPL is set.
107451         (floorl): Declare also if HAVE_DECL_FLOORL is set.
107452         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
107453         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
107454         (logl): Declare also if HAVE_DECL_LOGL is set.
107455         (sinl): Declare also if HAVE_DECL_SINL is set.
107456         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
107457         (tanl): Declare also if HAVE_DECL_TANL is set.
107458         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
107459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
107460         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
107461         declaration of frexpl, ldexpl.
107462         * modules/printf-frexpl (Depends-on): Add math.
107463         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
107465 2007-03-05  Bruno Haible  <bruno@clisp.org>
107467         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
107468         frexpl and ldexpl are declared.
107469         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
107471 2007-03-05  Bruno Haible  <bruno@clisp.org>
107473         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
107474         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
107476 2007-03-05  Bruno Haible  <bruno@clisp.org>
107478         * lib/stdio_.h: Include <stddef.h>.
107480 2007-03-05  Bruno Haible  <bruno@clisp.org>
107482         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
107484 2007-03-05  Bruno Haible  <bruno@clisp.org>
107486         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
107487         NetBSD 4, from Ralf Wildenhues.
107489 2007-03-04  Bruno Haible  <bruno@clisp.org>
107491         * lib/vasprintf.h: Update #if logic for the case when the functions
107492         exist but are overridden.
107494 2007-03-04  Bruno Haible  <bruno@clisp.org>
107496         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
107497         implementations: glibc-2.4 and MacOS X 10.3.
107498         * tests/test-vasnprintf-posix.c (test_function): Test also the case
107499         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
107500         * tests/test-vasprintf-posix.c (test_function): Likewise.
107502 2007-03-04  Bruno Haible  <bruno@clisp.org>
107504         * modules/vasprintf-posix-tests: New file.
107505         * tests/test-vasprintf-posix.c: New file.
107507         * modules/vasprintf-posix: New file.
107508         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
107509         defined.
107510         * m4/vasprintf-posix.m4: New file.
107511         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
107512         gl_FUNC_VASPRINTF.
107513         (gl_FUNC_VASPRINTF): Invoke it.
107514         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
107515         here.
107516         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
107518 2007-03-04  Bruno Haible  <bruno@clisp.org>
107520         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
107521         REPLACE_GETTIMEOFDAY.
107522         * modules/sys_time (Makefile.am): Likewise.
107523         * m4/sys_time_h.m4: Likewise.
107524         * m4/gettimeofday.m4: Likewise.
107526 2007-03-04  Bruno Haible  <bruno@clisp.org>
107528         * modules/vasnprintf-posix-tests: New file.
107529         * tests/test-vasnprintf-posix.c: New file.
107531         * modules/vasnprintf-posix: New file.
107532         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
107533         printf-frexpl.h.
107534         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
107535         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
107536         REPLACE_VASNPRINTF is defined.
107537         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
107538         gl_FUNC_VASNPRINTF.
107539         (gl_FUNC_VASNPRINTF): Invoke it.
107540         * m4/vasnprintf-posix.m4: New file.
107541         * m4/printf.m4: New file.
107543 2007-03-04  Bruno Haible  <bruno@clisp.org>
107545         Compile progreloc.c only if --enable-relocatable is specified.
107546         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
107547         if --enable-relocatable was specified.
107548         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
107549         lib_SOURCES.
107551 2007-03-04  Jim Meyering  <jim@meyering.net>
107553         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
107554         Use it consistently, rather than enumerating errno constants.
107556 2007-03-04  Bruno Haible  <bruno@clisp.org>
107558         * modules/xvasprintf-tests: New file.
107559         * tests/test-xvasprintf.c: New file.
107561         * modules/vasprintf-tests: New file.
107562         * tests/test-vasprintf.c: New file.
107564         * modules/vasnprintf-tests: New file.
107565         * tests/test-vasnprintf.c: New file.
107567         * modules/vsnprintf-tests: New file.
107568         * tests/test-vsnprintf.c: New file.
107570         * modules/snprintf-tests: New file.
107571         * tests/test-snprintf.c: New file.
107573 2007-03-04  Bruno Haible  <bruno@clisp.org>
107575         Compile relocatable.c only if --enable-relocatable is specified.
107576         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
107577         gl_RELOCATABLE_LIBRARY.
107578         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
107579         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
107580         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
107581         gl_RELOCATABLE_LIBRARY.
107582         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
107583         (Makefile.am): Remove lib_SOURCES.
107584         * modules/relocatable-lib-lgpl (configure.ac): Invoke
107585         gl_RELOCATABLE_LIBRARY.
107586         (Makefile.am): Remove lib_SOURCES.
107587         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
107588         always.
107589         * modules/relocatable-prog-wrapper (configure.ac): Invoke
107590         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
107592 2007-03-04  Bruno Haible  <bruno@clisp.org>
107594         * modules/argmatch-tests: New file.
107595         * tests/test-argmatch.c: New file.
107597         * tests/test-allocsa.c (main): Halve the number of loop runs.
107599         * modules/alloca-opt-tests: New file.
107600         * tests/test-alloca-opt.c: New file.
107602 2007-03-04  Jim Meyering  <jim@meyering.net>
107604         Work around difference between Linux ACLs and Solaris 10 ZFS.
107605         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
107606         for EINVAL.
107608 2007-03-03  Bruno Haible  <bruno@clisp.org>
107610         * modules/relocatable-prog (Depends-on): Add back progreloc's
107611         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
107613 2007-03-03  Bruno Haible  <bruno@clisp.org>
107615         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
107616         * modules/relocatable-lib: New file.
107618 2007-03-03  Bruno Haible  <bruno@clisp.org>
107620         * modules/relocatable-prog: Renamed from modules/relocatable.
107621         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
107623 2007-03-03  Bruno Haible  <bruno@clisp.org>
107625         * modules/relocatable-script (Files): Add doc/relocatable.texi,
107626         m4/relocatable-lib.m4.
107627         (Depends-on): Remove 'relocatable'.
107628         (configure.ac): Add gl_RELOCATABLE_NOP.
107630 2007-03-03  Bruno Haible  <bruno@clisp.org>
107632         * modules/relocatable-prog-wrapper: New file.
107633         * modules/relocatable (Depends-on): Add it. Remove all other
107634         dependencies except progname.
107635         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
107637         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
107638         (gl_FUNC_STRERROR): Nop.
107639         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
107641         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
107642         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
107644         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
107645         (gl_FUNC_READLINK): Update.
107647         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
107649 2007-03-03  Bruno Haible  <bruno@clisp.org>
107651         * lib/xreadlink.c: Include <unistd.h> unconditionally.
107652         * modules/xreadlink (Depends-on): Add unistd.
107653         * modules/xreadlink-with-size (Depends-on): Likewise.
107655 2007-03-03  Bruno Haible  <bruno@clisp.org>
107657         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
107658         extracted from gt_FUNC_SETENV.
107659         (gt_FUNC_SETENV): Remove macro.
107660         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
107661         remove gt_FUNC_SETENV.
107663 2007-03-03  Bruno Haible  <bruno@clisp.org>
107665         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
107666         ENABLE_RELOCATABLE here.
107667         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
107669 2007-03-03  Bruno Haible  <bruno@clisp.org>
107671         * modules/rbtreehash-list-tests (Depends-on): Add progname.
107672         * tests/test-rbtreehash_list.c: Include progname.h.
107673         (main): Call set_program_name.
107675         * modules/rbtree-oset-tests (Depends-on): Add progname.
107676         * tests/test-rbtree_oset.c: Include progname.h.
107677         (main): Call set_program_name.
107679         * modules/rbtree-list-tests (Depends-on): Add progname.
107680         * tests/test-rbtree_list.c: Include progname.h.
107681         (main): Call set_program_name.
107683         * modules/linked-list-tests (Depends-on): Add progname.
107684         * tests/test-linked_list.c: Include progname.h.
107685         (main): Call set_program_name.
107687 2007-03-03  Bruno Haible  <bruno@clisp.org>
107689         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
107690         All uses of __restrict changed to _Restrict_.
107691         * lib/glob_.h (__restrict): Remove macro.
107693 2007-03-02  Bruno Haible  <bruno@clisp.org>
107695         * modules/gettext (configure.ac): Require gettext infrastructure
107696         from version 0.16.1.
107698 2007-03-02  Bruno Haible  <bruno@clisp.org>
107700         * modules/linkedhash-list-tests (Depends-on): Add progname.
107701         * tests/test-linkedhash_list.c: Include progname.h.
107702         (main): Call set_program_name.
107704         * modules/carray-list-tests (Depends-on): Add progname.
107705         * tests/test-carray_list.c: Include progname.h.
107706         (main): Call set_program_name.
107708         * modules/avltreehash-list-tests (Depends-on): Add progname.
107709         * tests/test-avltreehash_list.c: Include progname.h.
107710         (main): Call set_program_name.
107712         * modules/avltree-oset-tests (Depends-on): Add progname.
107713         * tests/test-avltree_oset.c: Include progname.h.
107714         (main): Call set_program_name.
107716         * modules/avltree-list-tests (Depends-on): Add progname.
107717         * tests/test-avltree_list.c: Include progname.h.
107718         (main): Call set_program_name.
107720         * modules/array-oset-tests (Depends-on): Add progname.
107721         * tests/test-array_oset.c: Include progname.h.
107722         (main): Call set_program_name.
107724         * modules/array-list-tests (Depends-on): Add progname.
107725         * tests/test-array_list.c: Include progname.h.
107726         (main): Call set_program_name.
107728         * modules/argp-tests (Depends-on): Add progname.
107729         * tests/test-argp.c: Include argp.h first. Include progname.h.
107730         (main): Call set_program_name.
107732 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
107734         * doc/gnulib-tool.texi (Initial import): Reword description of
107735         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
107736         limited effect even if defined after the first system include.
107738 2007-03-01  Bruno Haible  <bruno@clisp.org>
107740         * build-aux/config.libpath: Update to libtool-1.5.22.
107741         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
107743 2007-03-01  Bruno Haible  <bruno@clisp.org>
107745         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
107746         foo_CFLAGS.
107747         Reported by Ralf Wildenhues.
107749 2007-03-01  Bruno Haible  <bruno@clisp.org>
107751         * build-aux/install-reloc: Remove object files left over by some
107752         compilers.
107753         Reported by Ralf Wildenhues.
107755 2007-03-01  Bruno Haible  <bruno@clisp.org>
107757         * build-aux/install-reloc: Break long lines.
107759 2007-03-01  Bruno Haible  <bruno@clisp.org>
107761         * doc/relocatable.texi: Document that it may not work on OpenBSD.
107762         Reported by Ralf Wildenhues.
107764 2007-03-01  Bruno Haible  <bruno@clisp.org>
107766         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
107767         include ordering constraints.
107769 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107771         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
107772         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
107773         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
107774         as another example.
107775         * lib/time_.h: Fix misspelling.
107776         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
107777         Require gl_HEADER_TIME_H_DEFAULTS.
107778         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
107779         * m4/time_r.m4 (gl_TIME_R): Likewise.
107780         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
107782 2007-03-01  Bruno Haible  <bruno@clisp.org>
107784         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
107785         * m4/utimens.m4 (gl_UTIMENS): Likewise.
107787 2007-03-01  Jim Meyering  <jim@meyering.net>
107789         * modules/xreadlink (Maintainer): Add my name.
107790         * modules/xreadlink-with-size (Depends-on): Alphabetize.
107792 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
107793             Bruno Haible  <bruno@clisp.org>
107795         * build-aux/install-reloc: Compile also c-ctype.c.
107796         * build-aux/relocatable.sh.in: New file.
107797         * doc/relocatable.texi: New file.
107798         * doc/relocatable-maint.texi: New file.
107799         * doc/gnulib.texi: Include relocatable-maint.texi.
107800         * lib/progreloc.c: Include unistd.h unconditionally.
107801         * lib/relocwrapper.c: Include unistd.h unconditionally.
107802         Include c-ctype.h.
107803         (add_dotbin): Use c_tolower.
107804         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
107805         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
107806         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
107807         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
107808         to m4/relocatable-lib.m4.
107809         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
107810         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
107811         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
107812         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
107813         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
107814         * modules/relocatable: New file.
107815         * modules/relocatable-lib: New file.
107816         * modules/relocatable-script: New file.
107818 2007-02-28  Bruno Haible  <bruno@clisp.org>
107820         Import --enable-relocatable infrastructure.
107821         * build-aux/config.libpath: New file, from GNU gettext.
107822         * build-aux/install-reloc: New file, from GNU gettext.
107823         * build-aux/reloc-ldflags: New file, from GNU gettext.
107824         * lib/relocatable.h: New file, from GNU gettext.
107825         * lib/relocatable.c: New file, from GNU gettext.
107826         * lib/relocwrapper.c: New file, from GNU gettext.
107827         * m4/relocatable.m4: New file, from GNU gettext.
107829 2007-02-28  Bruno Haible  <bruno@clisp.org>
107831         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
107833         * modules/xreadlink: New file, from GNU gettext with modifications.
107834         * lib/xreadlink.c: New file, from GNU gettext.
107835         * lib/xreadlink.h: Add comments.
107836         (xreadlink): New declaration.
107838         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
107839         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
107840         lib/xreadlink-with-size.c.
107841         (configure.ac): Remove gl_XREADLINK invocation.
107842         (Makefile.am): Augment lib_SOURCES.
107843         * m4/xreadlink.m4: Remove file.
107844         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
107845         (xreadlink_with_size): Renamed from xreadink.
107846         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
107847         * modules/canonicalize (Depends-on): Replace xreadlink with
107848         xreadlink-with-size.
107849         * lib/canonicalize.c (canonicalize_filename_mode): Update.
107851 2007-02-25  Jim Meyering  <jim@meyering.net>
107853         * build-aux/announce-gen: When complaining about excess arguments,
107854         list them.
107856 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
107858         * README: Document signed integer overflow situation more
107859         accurately.
107861 2007-02-25  Bruno Haible  <bruno@clisp.org>
107863         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
107864         'a' or 'A' conversion.
107866 2007-02-25  Bruno Haible  <bruno@clisp.org>
107868         * modules/filename: Renamed from modules/pathname.
107869         (Files): Replace lib/pathname.h with lib/filename.h. Replace
107870         lib/concatpath.c with lib/concat-filename.c.
107871         (Makefile.am): Update.
107872         (Include): Replace pathname.h with filename.h.
107873         * lib/filename.h: Renamed from lib/pathname.h.
107874         (concatenated_filename): Renamed from concatenated_pathname.
107875         * lib/concat-filename.c: Renamed from lib/concatpath.c.
107876         (concatenated_filename): Renamed from concatenated_pathname.
107877         * lib/findprog.c: Include filename.h instead of pathname.h.
107878         (find_in_path): Update.
107879         * lib/javacomp.c: Include filename.h instead of pathname.h.
107880         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
107881         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
107882         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
107883         is_oldgcj_14_13_usable, is_javac_usable): Update.
107884         * lib/javaexec.c: Include filename.h instead of pathname.h.
107885         (execute_java_class): Update.
107886         * modules/findprog: Update.
107887         * modules/javacomp: Update.
107888         * modules/javaexec: Update.
107889         * MODULES.html.sh (File system functions): Add 'filename', remove
107890         'pathname'.
107892 2007-02-25  Bruno Haible  <bruno@clisp.org>
107894         * modules/printf-frexpl-tests: New file.
107895         * tests/test-printf-frexpl.c: New file.
107897         * modules/printf-frexpl: New file.
107898         * lib/printf-frexpl.h: New file.
107899         * lib/printf-frexpl.c: New file.
107900         * m4/printf-frexpl.m4: New file.
107902 2007-02-25  Bruno Haible  <bruno@clisp.org>
107904         * modules/printf-frexp-tests: New file.
107905         * tests/test-printf-frexp.c: New file.
107907         * modules/printf-frexp: New file.
107908         * lib/printf-frexp.h: New file.
107909         * lib/printf-frexp.c: New file.
107910         * m4/printf-frexp.m4: New file.
107912 2007-02-25  Bruno Haible  <bruno@clisp.org>
107914         Assume automake >= 1.10 for the tests.
107915         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
107916         * modules/arctwo-tests: Likewise.
107917         * modules/argp-tests: Likewise.
107918         * modules/avltree-list-tests: Likewise.
107919         * modules/avltree-oset-tests: Likewise.
107920         * modules/avltreehash-list-tests: Likewise.
107921         * modules/carray-list-tests: Likewise.
107922         * modules/crc-tests: Likewise.
107923         * modules/des-tests: Likewise.
107924         * modules/gc-arcfour-tests: Likewise.
107925         * modules/gc-arctwo-tests: Likewise.
107926         * modules/gc-des-tests: Likewise.
107927         * modules/gc-hmac-md5-tests: Likewise.
107928         * modules/gc-hmac-sha1-tests: Likewise.
107929         * modules/gc-md2-tests: Likewise.
107930         * modules/gc-md4-tests: Likewise.
107931         * modules/gc-md5-tests: Likewise.
107932         * modules/gc-pbkdf2-sha1-tests: Likewise.
107933         * modules/gc-rijndael-tests: Likewise.
107934         * modules/gc-sha1-tests: Likewise.
107935         * modules/gc-tests: Likewise.
107936         * modules/getaddrinfo-tests: Likewise.
107937         * modules/hmac-md5-tests: Likewise.
107938         * modules/hmac-sha1-tests: Likewise.
107939         * modules/linked-list-tests: Likewise.
107940         * modules/linkedhash-list-tests: Likewise.
107941         * modules/lock-tests: Likewise.
107942         * modules/md2-tests: Likewise.
107943         * modules/md4-tests: Likewise.
107944         * modules/md5-tests: Likewise.
107945         * modules/rbtree-list-tests: Likewise.
107946         * modules/rbtree-oset-tests: Likewise.
107947         * modules/rbtreehash-list-tests: Likewise.
107948         * modules/read-file-tests: Likewise.
107949         * modules/rijndael-tests: Likewise.
107950         * modules/stdint-tests: Likewise.
107951         * modules/tls-tests: Likewise.
107953 2007-02-24  Bruno Haible  <bruno@clisp.org>
107955         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
107956         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
107957         function; instead check whether isnan with a double argument links.
107958         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
107959         function; instead check whether isnan with a 'long double' argument
107960         links.
107961         Reported by Eric Blake <ebb9@byu.net>.
107963 2007-02-24  Bruno Haible  <bruno@clisp.org>
107965         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
107966         defined.
107967         * lib/isnanl.c: Remove all code. Just include isnan.c.
107968         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
107970 2007-02-25  Jim Meyering  <jim@meyering.net>
107972         Avoid conflicting types for 'unsetenv' on FreeBSD.
107973         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
107974         conflicting with FreeBSD's (5.0 and 6.1) function declaration
107975         in stdlib.h.
107977 2007-02-24  Bruno Haible  <bruno@clisp.org>
107979         * modules/isnanl-nolibm-tests: New file.
107980         * tests/test-isnanl.c: New file.
107982         * modules/isnanl-nolibm: New file.
107983         * lib/isnanl.h: New file.
107984         * lib/isnanl.c: New file.
107985         * m4/isnanl.m4: New file.
107987 2007-02-24  Bruno Haible  <bruno@clisp.org>
107989         * modules/isnan-nolibm-tests: New file.
107990         * tests/test-isnan.c: New file.
107992         * modules/isnan-nolibm: New file.
107993         * lib/isnan.h: New file.
107994         * lib/isnan.c: New file.
107995         * m4/isnan.m4: New file.
107997 2007-02-24  Bruno Haible  <bruno@clisp.org>
107999         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
108000         assume that an exponent fits in 20 bits.
108002 2007-02-24  Jim Meyering  <jim@meyering.net>
108004         * m4/regex.m4: Update the description of the configure-time option,
108005         --without-included-regex, to state accurately what the defaults are,
108006         and perhaps to give people an idea why using this option is risky.
108008 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
108010         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
108011         loops on small arguments.  This attempts to avoid the problem
108012         Bruno Haible reported for AIX 4.3.2 in
108013         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
108015 2007-02-23  Bruno Haible  <bruno@clisp.org>
108017         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
108018         Needed for help2man.
108020 2007-02-23  Karl Berry  <karl@gnu.org>
108022         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
108023         exists, foo.h should be cvs-ignored, not committed.
108025 2007-02-23  Eric Blake  <ebb9@byu.net>
108027         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
108028         * lib/stat-time.h (includes): Likewise.
108029         * lib/utimecmp.c (includes): Likewise.
108030         * lib/utimens.h (includes): Likewise.
108031         * lib/getdate.y (includes): Also include "timespec.h" for use
108032         internal to the module.
108033         * modules/utimens (Depends-on): Revert yesterday's patch.
108034         * modules/nanosleep (Depends-on): Add missing dependency.
108036 2007-02-22  Bruno Haible  <bruno@clisp.org>
108038         * lib/glob.c: Don't include getlogin_r.h.
108040 2007-02-22  Jim Meyering  <jim@meyering.net>
108042         * modules/utimens (Depends-on): Add timespec, required for
108043         utimens.h's inclusion of timespec.h.
108045 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
108047         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
108048         long unreadable paths in GNU/Linux.  Problem reported by Andreas
108049         Schwab in
108050         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
108051         I'll try to think of a better way to fix the Solaris problem.
108053         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
108054         like glibc; on Solaris 10, it fails with errno == EINVAL.
108055         POSIX says the behavior is unspecified if the first argument is NULL,
108056         so play it safe and never pass NULL to the system getcwd.
108058 2007-02-21  Jim Meyering  <jim@meyering.net>
108060         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
108061         of gettimeofday.  It would conflict with the one now always
108062         provided via sys_time_.h.  Reported by Matthew Woehlke, as
108063         an IRIX 6.5 build failure.
108065 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
108067         Minor fixups to port to Solaris 10 with Sun C 5.8.
108068         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
108069         * modules/getcwd (Depends-on): Add dirfd.
108070         * lib/putenv.c (putenv): #undef it.
108071         (rpl_putenv): New decl.
108072         (malloc, free): Include <stdlib.h> rather than prototyping separately.
108074 2007-02-20  Bruno Haible  <bruno@clisp.org>
108076         * modules/stdio-tests: New file.
108077         * tests/test-stdio.c: New file.
108079         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
108080         (Depends-on): Add stdio.
108081         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108082         (Include): Use <stdio.h> instead of vsnprintf.h.
108083         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108084         HAVE_DECL_VSNPRINTF.
108085         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
108087         * modules/snprintf (Files): Remove lib/snprintf.h.
108088         (Depends-on): Add stdio.
108089         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
108090         (Include): Use <stdio.h> instead of snprintf.h.
108091         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
108092         HAVE_DECL_SNPRINTF.
108093         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
108094         * lib/getaddrinfo.c: Likewise.
108096         * modules/stdio: New file.
108097         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
108098         * lib/snprintf.h: Remove file.
108099         * lib/vsnprintf.h: Remove file.
108100         * lib/.cppi-disable: Remove snprintf.h.
108101         * m4/stdio_h.m4: New file.
108102         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
108104 2007-02-20  Jim Meyering  <jim@meyering.net>
108106         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
108107         used by e.g., mingw.  From Bruno Haible.
108109 2007-02-19  Bruno Haible  <bruno@clisp.org>
108111         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
108112         warnings.
108113         Reported by Ben Pfaff <blp@cs.stanford.edu>.
108115 2007-02-19  Bruno Haible  <bruno@clisp.org>
108117         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
108118         from mingw users.
108120 2007-02-19  Bruno Haible  <bruno@clisp.org>
108122         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
108123         warnings.
108124         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
108126 2007-02-19  Jim Meyering  <jim@meyering.net>
108128         Don't use FD after a successful "fdopendir (fd)".
108129         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
108130         Reset it by calling dirfd on the just-obtained DIR*.
108132         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
108133         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
108135 2007-02-18  Bruno Haible  <bruno@clisp.org>
108137         * lib/readlink.c: Include <unistd.h>.
108138         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
108139         HAVE_READLINK.
108140         * modules/readlink (Depends-on): Add unistd.
108141         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108142         (Include): Add <unistd.h>.
108144         * lib/getlogin_r.h: Remove file.
108145         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
108146         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
108147         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
108148         HAVE_DECL_GETLOGIN_R.
108149         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
108150         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108151         (Include): Use <unistd.h> instead of getlogin_r.h.
108153         * lib/getcwd.h: Remove file.
108154         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
108155         * lib/xgetcwd.c: Likewise.
108156         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
108157         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
108158         * modules/getcwd (Files): Remove lib/getcwd.h.
108159         (Depends-on): Add unistd.
108160         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108161         (Include): Use <unistd.h> instad of getcwd.h.
108163         * lib/ftruncate.c: Include <unistd.h> first.
108164         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
108165         Set HAVE_FTRUNCATE.
108166         * modules/ftruncate (Depends-on): Add unistd.
108167         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108169         * lib/fchdir.c: Include <unistd.h> first.
108170         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
108171         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
108172         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
108173         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108174         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
108176         * lib/dup2.c: Include <unistd.h> first.
108177         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
108178         HAVE_DUP2.
108179         * modules/dup2 (Depends-on): Add unistd.
108180         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108182         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
108183         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
108184         REPLACE_CHOWN. Don't define chown as a macro here.
108185         * modules/chown (Depends-on): Add unistd.
108186         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
108188         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
108189         Add definition for GL_LINK_WARNING.
108190         (chown, dup2): New declarations.
108191         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
108192         link warning.
108193         (ftruncate): New declaration.
108194         (getcwd): New declaration, taken from old getcwd.h.
108195         (getlogin_r): New declaration, taken from old getlogin_r.h.
108196         (readlink): New declaration.
108197         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
108198         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
108199         (gl_PREREQ_UNISTD): Remove macro.
108200         (gl_UNISTD_MODULE_INDICATOR): New macro.
108201         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
108202         many new variables. Don't set UNISTD_H.
108203         * modules/unistd (Description): Change.
108204         (Depends-on): Add link-warning.
108205         (configure.ac): Update.
108206         (Makefile.am): Create unistd.h always. Substitute many new variables
108207         into it.
108209 2007-02-18  Bruno Haible  <bruno@clisp.org>
108211         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
108212         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
108213         HAVE_GETSUBOPT.
108214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
108215         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
108216         * lib/getsubopt.h: Remove file.
108217         * modules/getsubopt (Files): Remove lib/getsubopt.h.
108218         (Depends-on): Add stdlib.
108219         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108220         (Includes): Use <stdlib.h> instead of getsubopt.h.
108221         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
108222         Set HAVE_GETSUBOPT.
108223         * lib/getsubopt.c: Don't include getsubopt.h.
108225 2007-02-18  Bruno Haible  <bruno@clisp.org>
108227         * modules/fchdir (Depends-on): Add dup2.
108229 2007-02-18  Bruno Haible  <bruno@clisp.org>
108231         * lib/stdlib_.h: Handle glibc's special invocation convention
108232         specially.
108234 2007-02-18  Bruno Haible  <bruno@clisp.org>
108236         * modules/stdlib-tests: New file.
108237         * tests/test-stdlib.c: New file.
108239         * modules/mkstemp (Files): Remove lib/mkstemp.h.
108240         (Depends-on): Add stdlib.
108241         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108242         (Includes): Use <stdlib.h> instead of mkstemp.h.
108243         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108244         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
108245         * lib/mkstemp.c: Don't include mkstemp.h.
108246         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
108247         * lib/stdlib--.h: Don't include mkstemp.h.
108249         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
108250         (Depends-on): Add stdlib.
108251         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
108252         (Includes): Use <stdlib.h> instead of mkdtemp.h.
108253         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
108254         HAVE_MKDTEMP.
108255         * lib/mkdtemp.c: Don't include mkdtemp.h.
108256         * lib/clean-temp.c: Don't include mkdtemp.h.
108258         * modules/exit (Files): Remove lib/exit.h.
108259         (Depends-on): Add stdlib.
108260         (Makefile.am): Remove lib_SOURCES.
108261         (Include): Use <stdlib.h> instead of exit.h.
108262         * lib/argmatch.c: Don't include exit.h.
108263         * lib/execute.c: Likewise.
108264         * lib/pagealign_alloc.c: Likewise.
108265         * lib/pipe.c: Likewise.
108266         * lib/wait-process.c: Likewise.
108267         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
108268         * lib/exitfail.c: Likewise.
108269         * lib/savewd.c: Likewise.
108270         * lib/xsetenv.c: Likewise.
108272         * modules/stdlib: New file.
108273         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
108274         and extra comments about mkstemp().
108275         * lib/exit.h: Remove file.
108276         * lib/mkdtemp.h: Remove file.
108277         * lib/mkstemp.h: Remove file.
108278         * m4/stdlib_h.m4: New file.
108279         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
108281 2007-02-18  Bruno Haible  <bruno@clisp.org>
108283         * modules/math-tests: New file.
108284         * tests/test-math.c: New file.
108286         * modules/math: New file.
108287         * modules/mathl (Files): Remove lib/mathl.h.
108288         (Depends-on): Add math.
108289         (Makefile.am): Don't mention mathl.h.
108290         (Include): Use <math.h> instead of mathl.h.
108291         * lib/math_.h: New file.
108292         * lib/mathl.h: Remove file.
108293         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
108294         mathl.h.
108295         * lib/asinl.c: Likewise.
108296         * lib/atanl.c: Likewise.
108297         * lib/ceill.c: Likewise.
108298         * lib/cosl.c: Likewise.
108299         * lib/expl.c: Likewise.
108300         * lib/floorl.c: Likewise.
108301         * lib/frexpl.c: Likewise.
108302         * lib/ldexpl.c: Likewise.
108303         * lib/logl.c: Likewise.
108304         * lib/sincosl.c: Likewise.
108305         * lib/sinl.c: Likewise.
108306         * lib/sqrtl.c: Likewise.
108307         * lib/tanl.c: Likewise.
108308         * lib/trigl.c: Likewise.
108309         * m4/math_h.m4: New file.
108310         * MODULES.html.sh (Mathematics): Add math.
108312 2007-02-17  Bruno Haible  <bruno@clisp.org>
108314         * modules/wctype-tests: New file.
108315         * tests/test-wctype.c: New file.
108317         * modules/wchar-tests: New file.
108318         * tests/test-wchar.c: New file.
108320         * modules/unistd-tests: New file.
108321         * tests/test-unistd.c: New file.
108323         * modules/time-tests: New file.
108324         * tests/test-time.c: New file.
108326         * modules/sysexits-tests: New file.
108327         * tests/test-sysexits.c: New file.
108329         * modules/sys_time-tests: New file.
108330         * tests/test-sys_time.c: New file.
108332         * modules/sys_stat-tests: New file.
108333         * tests/test-sys_stat.c: New file.
108335         * modules/sys_socket-tests: New file.
108336         * tests/test-sys_socket.c: New file.
108338         * modules/sys_select-tests: New file.
108339         * tests/test-sys_select.c: New file.
108341         * modules/string-tests: New file.
108342         * tests/test-string.c: New file.
108344         * modules/stdbool-tests: New file.
108345         * tests/test-stdbool.c: New file.
108347         * modules/netinet_in-tests: New file.
108348         * tests/test-netinet_in.c: New file.
108350         * modules/inttypes-tests: New file.
108351         * tests/test-inttypes.c: New file.
108353         * modules/fcntl-tests: New file.
108354         * tests/test-fcntl.c: New file.
108356         * modules/byteswap-tests: New file.
108357         * tests/test-byteswap.c: New file.
108359         * modules/arpa_inet-tests: New file.
108360         * tests/test-arpa_inet.c: New file.
108362 2007-02-17  Bruno Haible  <bruno@clisp.org>
108364         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
108365         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
108366         if the corresponding module is not enabled. Emit link warnings if
108367         the function is used nevertheless.
108368         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
108369         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
108370         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
108371         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
108372         * modules/inttypes (Depends-on): Add link-warning.
108373         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108374         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
108375         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
108376         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
108377         * modules/imaxdiv (configure.ac): Likewise.
108378         * modules/strtoimax (configure.ac): Likewise.
108379         * modules/strtoumax (configure.ac): Likewise.
108381 2007-02-17  Bruno Haible  <bruno@clisp.org>
108383         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
108384         gl_STRING_MODULE_INDICATOR_DEFAULTS.
108385         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
108386         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
108388 2007-02-17  Bruno Haible  <bruno@clisp.org>
108390         * modules/link-warning: New file.
108391         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
108392         * lib/string_.h (GL_LINK_WARNING): Remove definition.
108393         * modules/string (Depends-on): Add link-warning.
108394         (Makefile.am): Copy the contents of build-aux/link-warning.h into
108395         string.h.
108396         * MODULES.html.sh (Support for building libraries and executables): Add
108397         link-warning.
108399 2007-02-17  Bruno Haible  <bruno@clisp.org>
108401         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
108402         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
108403         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
108404         long lines.
108406 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
108407             Bruno Haible  <bruno@clisp.org>
108409         * modules/tmpfile: New file.
108410         * lib/tmpfile.c: New file.
108411         * m4/tmpfile.m4: New file.
108412         * MODULES.html.sh (func_all_modules): New section "Input/output".
108414 2007-02-15  Bruno Haible  <bruno@clisp.org>
108416         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
108417         (supports_delete_on_close): New function.
108418         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
108420 2007-02-14  Bruno Haible  <bruno@clisp.org>
108422         * modules/mbspcasecmp-tests: New file.
108423         * tests/test-mbspcasecmp.sh: New file.
108424         * tests/test-mbspcasecmp.c: New file.
108426         New module mbspcasecmp.
108427         * modules/mbspcasecmp: New file.
108428         * lib/mbspcasecmp.c: New file.
108429         * lib/string_.h (strncasecmp): Change warning message.
108430         (mbspcasecmp): New declaration.
108431         * m4/mbspcasecmp.m4: New file.
108432         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108433         GNULIB_MBSPCASECMP.
108434         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
108435         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
108437 2007-02-14  Bruno Haible  <bruno@clisp.org>
108439         * modules/mbsncasecmp-tests: New file.
108440         * tests/test-mbsncasecmp.sh: New file.
108441         * tests/test-mbsncasecmp.c: New file.
108443         New module mbsncasecmp.
108444         * modules/mbsncasecmp: New file.
108445         * lib/mbsncasecmp.c: New file.
108446         * lib/string_.h (mbsncasecmp): New declaration.
108447         * m4/mbsncasecmp.m4: New file.
108448         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108449         GNULIB_MBSNCASECMP.
108450         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
108451         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
108453 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
108455         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
108456         Verify that it doesn't overlap with our flags.
108457         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
108458         do not have the desired effect in multibyte locales; instead, use
108459         mbscasecmp.
108460         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
108461         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
108462         we don't require GNU fnmatch ourselves (if our users require it, they
108463         should do so explicitly).
108465         Fix regex code so it doesn't rely on strcasecmp.
108466         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
108467         Otherwise, include gnulib's langinfo.h.
108468         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
108469         undesirable behavior in non-C locales.  Instead, rely on localecharset.
108470         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
108471         * modules/regex (FILES): Remove m4/codeset.m4.
108472         (Depends-on): Add localcharset.  Remove strcase.
108474 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108476         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
108477         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
108479 2007-02-13  Bruno Haible  <bruno@clisp.org>
108481         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
108482         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108484 2007-02-12  Bruno Haible  <bruno@clisp.org>
108486         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108487         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
108488         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
108489         time warning rather than a link error.
108491 2007-02-12  Bruno Haible  <bruno@clisp.org>
108493         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
108494         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
108495         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
108497 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108499         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
108500         args, not 2.
108502 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
108504         New module 'time', so that apps can include <time.h> as per
108505         POSIX and GNU instead of separate include files like time_r.h
108506         and timegm.h.  This implementation tries out a simpler approach
108507         for replacing decls in standard include files (as compared to
108508         the string module), somewhat as an experiment.
108510         * config/srclist.txt: Comment out mktime.c for now.
108511         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
108512         since it doesn't apply any more.  Use generic wording instead.
108513         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
108514         'time'.
108515         * lib/time_.h, m4/time_h.m4, modules/time: New files.
108516         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
108517         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
108518         Don't include <sys/types.h>; no longer needed since we assume C89.
108519         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
108520         * lib/strftime.c: Likewise.
108521         * lib/time_r.c: Likewise.
108522         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
108523         * lib/nanosleep.c: Include <time.h> first, to check interface.
108524         * lib/strptime.c: Likewise.
108525         * lib/time_r.c: Likewise.
108526         * lib/timegm.c: Likewise.
108527         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
108528         needed.
108529         * lib/timegm.c: Don't include timegm.h; no longer needed.
108530         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
108531         time.h now handles any problems in that area.
108532         (struct timespec, nanosleep): Remove; time.h now arranges for these.
108533         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
108534         that time.h defines struct timespec.
108535         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
108536         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
108537         handles that.
108538         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
108539         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
108540         needed.  Set REPLACE_LOCALTIME.
108541         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
108542         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
108543         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
108544         nanosleep; time_h.m4 now does that.  Don't require
108545         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
108546         module handles this now.
108547         * modules/getdate (Depends-on): Remove timespec.  Add time.
108548         * modules/nanosleep (Depends-on): Likewise.
108549         * modules/stat-time (Depends-on): Likewise.
108550         * modules/nanosleep (Include): Include time.h, not timespec.h.
108551         * modules/strptime (Files): Remove lib/strptime.h.
108552         (Depends-on): Add extensions, time.
108553         (Include): Include time.h, not strptime.h.
108554         * modules/time_r (Files): Remove lib/time_r.h.
108555         (Depends-on): Add time.
108556         (Include): Include time.h, not time_r.h.
108557         * modules/timegm: Likewise.
108558         * modules/timespec (Description): Now does timespec-related decls
108559         of our own, instead of struct timespec itself.
108560         (Depends-on): Add time; remove extensions.
108561         (Maintainer): Add self.
108562         * modules/utimecmp (Depends-on): Add time; remove timespec.
108563         * modules/utimens (Depends-on): Likewise.
108564         * modules/xnanosleep (Depends-on): Likewise.
108566 2007-02-11  Bruno Haible  <bruno@clisp.org>
108568         * lib/c-strstr.c: Include allocsa.h.
108569         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108570         * lib/c-strcasestr.c: Include allocsa.h.
108571         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108572         * lib/strcasestr.c: Include allocsa.h.
108573         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108574         * lib/mbsstr.c: Include allocsa.h.
108575         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108576         allocsa/freesa instead of malloc/free.
108577         * lib/mbscasestr.c: Include allocsa.h.
108578         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108579         allocsa/freesa instead of malloc/free.
108580         * modules/c-strstr (Depends-on): Add allocsa.
108581         * modules/c-strcasestr (Depends-on): Likewise.
108582         * modules/strcasestr (Depends-on): Likewise.
108583         * modules/mbsstr (Depends-on): Likewise.
108584         * modules/mbscasestr (Depends-on): Likewise.
108586 2007-02-11  Bruno Haible  <bruno@clisp.org>
108588         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
108590         * modules/mbsspn-tests: New file.
108591         * tests/test-mbsspn.sh: New file.
108592         * tests/test-mbsspn.c: New file.
108594 2007-02-11  Bruno Haible  <bruno@clisp.org>
108596         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
108598         * modules/mbspbrk-tests: New file.
108599         * tests/test-mbspbrk.sh: New file.
108600         * tests/test-mbspbrk.c: New file.
108602 2007-02-11  Bruno Haible  <bruno@clisp.org>
108604         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
108605         unneeded cast.
108607         * modules/mbscspn-tests: New file.
108608         * tests/test-mbscspn.sh: New file.
108609         * tests/test-mbscspn.c: New file.
108611 2007-02-11  Bruno Haible  <bruno@clisp.org>
108613         * modules/mbscasecmp-tests: New file.
108614         * tests/test-mbscasecmp.sh: New file.
108615         * tests/test-mbscasecmp.c: New file.
108617 2007-02-11  Bruno Haible  <bruno@clisp.org>
108619         Ensure O(n) worst-case complexity of mbscasestr.
108620         * lib/mbscasestr.c: Include stdbool.h.
108621         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108622         functions.
108623         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
108624         the bookkeeping indicates that it's worth it.
108625         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
108627         * modules/mbscasestr-tests: New file.
108628         * tests/test-mbscasestr1.c: New file.
108629         * tests/test-mbscasestr2.sh: New file.
108630         * tests/test-mbscasestr2.c: New file.
108631         * tests/test-mbscasestr3.sh: New file.
108632         * tests/test-mbscasestr3.c: New file.
108633         * tests/test-mbscasestr4.sh: New file.
108634         * tests/test-mbscasestr4.c: New file.
108635         * m4/locale-tr.m4: New file.
108637 2007-02-11  Bruno Haible  <bruno@clisp.org>
108639         Ensure O(n) worst-case complexity of mbsstr.
108640         * lib/mbsstr.c: Include stdbool.h.
108641         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108642         functions.
108643         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
108644         bookkeeping indicates that it's worth it.
108645         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
108647         * modules/mbsstr-tests: New file.
108648         * tests/test-mbsstr1.c: New file.
108649         * tests/test-mbsstr2.sh: New file.
108650         * tests/test-mbsstr2.c: New file.
108651         * tests/test-mbsstr3.sh: New file.
108652         * tests/test-mbsstr3.c: New file.
108653         * m4/locale-fr.m4: New file.
108655 2007-02-11  Bruno Haible  <bruno@clisp.org>
108657         * lib/mbsrchr.c (mbsrchr): Fix bug.
108659         * modules/mbsrchr-tests: New file.
108660         * tests/test-mbsrchr.sh: New file.
108661         * tests/test-mbsrchr.c: New file.
108663 2007-02-11  Bruno Haible  <bruno@clisp.org>
108665         * lib/mbschr.c (mbschr): Fix bug.
108667         * modules/mbschr-tests: New file.
108668         * tests/test-mbschr.sh: New file.
108669         * tests/test-mbschr.c: New file.
108670         * m4/locale-zh.m4: New file.
108672 2007-02-11  Bruno Haible  <bruno@clisp.org>
108674         Support for copying multibyte string iterators.
108675         * lib/mbiter.h: Include <string.h>.
108676         (mbiter_multi_copy): New function.
108677         (mbi_copy): New macro.
108678         * lib/mbuiter.h: Include <string.h>.
108679         (mbuiter_multi_copy): New function.
108680         (mbui_copy): New macro.
108682 2007-02-11  Bruno Haible  <bruno@clisp.org>
108684         New module mbslen.
108685         * modules/mbslen: New file.
108686         * lib/mbslen.c: New file.
108687         * lib/string_.h (mbslen): New declaration.
108688         * m4/mbslen.m4: New file.
108689         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108690         GNULIB_MBSLEN.
108691         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
108692         * MODULES.html.sh (Internationalization functions): Add mbslen.
108694 2007-02-11  Bruno Haible  <bruno@clisp.org>
108696         Ensure O(n) worst-case complexity of strcasestr substitute.
108697         * lib/strcasestr.c: Include stdbool.h.
108698         (knuth_morris_pratt): New function.
108699         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108700         bookkeeping indicates that it's worth it.
108701         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
108703         * modules/strcasestr-tests: New file.
108704         * tests/test-strcasestr.c: New file.
108706 2007-02-11  Bruno Haible  <bruno@clisp.org>
108708         Ensure O(n) worst-case complexity of c_strcasestr.
108709         * lib/c-strcasestr.c: Include stdbool.h, string.h.
108710         (knuth_morris_pratt): New function.
108711         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
108712         the bookkeeping indicates that it's worth it.
108713         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
108715         * modules/c-strcasestr-tests: New file.
108716         * tests/test-c-strcasestr.c: New file.
108718 2007-02-11  Bruno Haible  <bruno@clisp.org>
108720         Ensure O(n) worst-case complexity of c_strstr.
108721         * lib/c-strstr.c: Include stdbool.h, string.h.
108722         (knuth_morris_pratt): New function.
108723         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108724         bookkeeping indicates that it's worth it.
108725         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
108727         * lib/c-strstr.c: Complete rewrite for maintainability.
108729         * modules/c-strstr-tests: New file.
108730         * tests/test-c-strstr.c: New file.
108732 2007-02-11  Bruno Haible  <bruno@clisp.org>
108734         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
108735         5.2.1 and earlier, whereby \055 was treated just like the range
108736         delimiter '-'.
108737         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
108739 2007-02-08  Bruno Haible  <bruno@clisp.org>
108741         * modules/regex (Depends-on): Add stdbool.
108742         Reported by Dalibor Topic <robilad@kaffe.org>.
108744 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
108746         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
108747         Prefer returning from main to exiting from it.
108748         Remove unnecessary parens after sizeof.
108750 2007-02-05  Bruno Haible  <bruno@clisp.org>
108752         New module mbssep.
108753         * modules/mbssep: New file.
108754         * lib/mbssep.c: New file.
108755         * lib/string_.h (strsep): Add a conditional link warning.
108756         (mbssep): New declaration.
108757         * m4/mbssep.m4: New file.
108758         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108759         GNULIB_MBSSEP.
108760         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
108761         * MODULES.html.sh (Internationalization functions): Add mbssep.
108763 2007-02-05  Bruno Haible  <bruno@clisp.org>
108765         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
108766         Optimize search in case of 1 delimiter.
108768 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108770         * lib/acl.h: Include sys/types.h before sys/acl.h.
108772 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108774         Merge upstream fix for glibc bugzilla #3957:
108776         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
108778         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
108779         bit for RE_HAT_LISTS_NOT_NEWLINE.
108780         (build_charclass_op): Remove bogus comment.
108782 2007-02-05  Simon Josefsson  <simon@josefsson.org>
108784         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
108786 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108788         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
108789         * lib/memmem.c [!defined _LIBC]: Include config.h.
108791 2007-02-04  Bruno Haible  <bruno@clisp.org>
108793         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
108794         warning message.
108796 2007-02-04  Bruno Haible  <bruno@clisp.org>
108798         New module mbstok_r.
108799         * modules/mbstok_r: New file.
108800         * lib/mbstok_r.c: New file.
108801         * lib/string_.h (strtok_r): Change argument names to match the
108802         comments. Add a conditional link warning.
108803         (mbstok_r): New declaration.
108804         * m4/mbstok_r.m4: New file.
108805         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108806         GNULIB_MBSTOK_R.
108807         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
108808         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
108810 2007-02-04  Bruno Haible  <bruno@clisp.org>
108812         New module mbsspn.
108813         * modules/mbsspn: New file.
108814         * lib/mbsspn.c: New file.
108815         * lib/string_.h (strspn): Add a conditional link warning.
108816         (mbsspn): New declaration.
108817         * m4/mbsspn.m4: New file.
108818         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108819         GNULIB_MBSSPN.
108820         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
108821         * MODULES.html.sh (Internationalization functions): Add mbsspn.
108823 2007-02-04  Bruno Haible  <bruno@clisp.org>
108825         New module mbspbrk.
108826         * modules/mbspbrk: New file.
108827         * lib/mbspbrk.c: New file.
108828         * lib/string_.h (strpbrk): Add a conditional link warning.
108829         (mbspbrk): New declaration.
108830         * m4/mbspbrk.m4: New file.
108831         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108832         GNULIB_MBSPBRK.
108833         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
108834         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
108836 2007-02-04  Bruno Haible  <bruno@clisp.org>
108838         New module mbscspn.
108839         * modules/mbscspn: New file.
108840         * lib/mbscspn.c: New file.
108841         * lib/string_.h (strcspn): Add a conditional link warning.
108842         (mbscspn): New declaration.
108843         * m4/mbscspn.m4: New file.
108844         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108845         GNULIB_MBSCSPN.
108846         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
108847         * MODULES.html.sh (Internationalization functions): Add mbscspn.
108849 2007-02-04  Bruno Haible  <bruno@clisp.org>
108851         New module mbscasestr, reduced goal of strcasestr.
108852         * modules/mbscasestr: New file.
108853         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
108854         (mbscasestr): Renamed from strcasestr.
108855         * lib/strcasestr.c: Don't include mbuiter.h.
108856         (strcasestr): Remove support for multibyte locales.
108857         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
108858         Change the conditional link warning.
108859         (mbscasestr): New declaration.
108860         * m4/mbscasestr.m4: New file.
108861         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
108862         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
108863         REPLACE_STRCASESTR.
108864         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
108865         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108866         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108867         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
108868         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
108869         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108870         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
108871         (Depends-on): Remove mbuiter.
108872         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
108874 2007-02-04  Bruno Haible  <bruno@clisp.org>
108876         Simplify handling of strncasecmp.
108877         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
108878         the conditional link warning.
108879         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108880         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
108881         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
108882         * modules/strcase (configure.ac): Don't invoke
108883         gl_STRING_MODULE_INDICATOR.
108884         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
108886 2007-02-04  Bruno Haible  <bruno@clisp.org>
108888         New module mbscasecmp, reduced goal of strcasecmp.
108889         * modules/mbscasecmp: New file.
108890         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
108891         (mbscasecmp): Renamed from strcasecmp.
108892         * lib/strcasecmp.c: Don't include mbuiter.h.
108893         (strcasecmp): Remove support for multibyte locales.
108894         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
108895         Change the conditional link warning.
108896         (mbscasecmp): New declaration.
108897         * m4/mbscasecmp.m4: New file.
108898         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
108899         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
108900         REPLACE_STRCASECMP.
108901         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
108902         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108903         GNULIB_MBSCASECMP.
108904         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
108905         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
108906         * modules/strcase (Files): Remove m4/mbrtowc.m4.
108907         (Depends-on): Remove mbuiter.
108908         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
108910 2007-02-04  Bruno Haible  <bruno@clisp.org>
108912         New module mbsstr. Remove module strstr.
108913         * modules/mbsstr: New file.
108914         * modules/strstr: Remove file.
108915         * lib/mbsstr.c: Renamed from lib/strstr.c.
108916         (mbsstr): Renamed from strstr.
108917         * lib/string_.h (strstr): Remove declaration. Change the conditional
108918         link warning.
108919         (mbsstr): New declaration.
108920         * m4/mbsstr.m4: New file.
108921         * m4/strstr.m4: Remove file.
108922         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
108923         REPLACE_STRSTR.
108924         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
108925         Don't initialize GNULIB_STRSTR.
108926         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
108927         substitute GNULIB_STRSTR and REPLACE_STRSTR.
108928         * MODULES.html.sh (Internationalization functions): Add mbsstr.
108929         (Support for systems lacking ANSI C 89): Remove strstr.
108931 2007-02-04  Bruno Haible  <bruno@clisp.org>
108933         New module mbsrchr.
108934         * modules/mbsrchr: New file.
108935         * lib/mbsrchr.c: New file.
108936         * lib/string_.h (strrchr): Add a conditional link warning.
108937         (mbsrchr): New declaration.
108938         * m4/mbsrchr.m4: New file.
108939         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108940         GNULIB_MBSRCHR.
108941         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
108942         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
108944 2007-02-04  Bruno Haible  <bruno@clisp.org>
108946         New module mbschr.
108947         * modules/mbschr: New file.
108948         * lib/mbschr.c: New file.
108949         * lib/string_.h (strchr): Add a conditional link warning.
108950         (mbschr): New declaration.
108951         * m4/mbschr.m4: New file.
108952         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108953         GNULIB_MBSCHR.
108954         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
108955         * MODULES.html.sh (Internationalization functions): Add mbschr.
108957 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108959         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
108961         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
108963 2007-02-04  Bruno Haible  <bruno@clisp.org>
108965         New module description section 'configure.ac-early'.
108966         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
108967         (func_get_autoconf_early_snippet): New function.
108968         (func_import, func_create_testdir): Use it. Remove special cases for
108969         modules 'extensions' and 'lock'.
108970         * modules/extensions (configure.ac-early): Require
108971         gl_USE_SYSTEM_EXTENSIONS.
108972         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
108974 2007-02-04  Bruno Haible  <bruno@clisp.org>
108976         Make use of gcj-4.3's -fsource and -ftarget option.
108977         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
108978         and if so try the options -fsource and -ftarget.
108979         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
108980         source_version, ftarget_option, target_version arguments.
108981         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
108982         (is_envjavac_oldgcj_14_14_usable): Renamed from
108983         is_envjavac_gcj_14_14_usable.
108984         (is_envjavac_oldgcj_14_13_usable): Renamed from
108985         is_envjavac_gcj_14_13_usable.
108986         (is_gcj_present): Update.
108987         (is_gcj_43, is_gcj43_usable): New functions.
108988         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
108989         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
108990         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
108991         try the options -fsource and -ftarget.
108993 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
108995         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
108996         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
108997         larger value.
108999 2007-02-03  Jim Meyering  <jim@meyering.net>
109001         Give tools a better chance to allocate space for very large buffers.
109002         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
109004         Make pwd and readlink work also when run with an unreadable parent dir
109005         on systems with openat support.
109006         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
109007         provided getcwd function, even when we have openat support.
109008         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
109010 2007-02-02  Bruno Haible  <bruno@clisp.org>
109012         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
109013         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
109014         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
109015         portability problems if one of these functions is only used on specific
109016         platforms.
109017         Reported by Paul Eggert.
109019 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
109021         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
109022         is causing more trouble than it's curing.
109023         * lib/regex_internal.h (__mempcpy): Remove.
109024         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
109025         (and make the code a tad smaller to boot).
109026         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
109028 2007-02-02  Jim Meyering  <jim@meyering.net>
109030         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
109031         section, not in the Makefile.am: one.
109033 2007-02-02  Eric Blake  <ebb9@byu.net>
109035         * lib/strchrnul.c: Always include config.h first.
109037         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
109038         gnulib strstr is not necessary here.
109040 2007-02-02  Simon Josefsson  <simon@josefsson.org>
109042         * m4/socklen.m4: Fix typo.
109044 2007-02-02  Eric Blake  <ebb9@byu.net>
109046         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
109047         * modules/netinet_in (Makefile.am): Likewise.
109049 2007-02-01  Bruno Haible  <bruno@clisp.org>
109051         * lib/string_.h (GL_LINK_WARNING): New macro.
109052         (strcasecmp, strstr, strcasestr): If provided by the system,
109053         conditionally define as a macro that leads to a warning instead of to
109054         an error.
109055         (strncasecmp): Conditionally define as a macro that leads to a warning.
109057 2007-02-01  Karl Berry  <karl@gnu.org>
109059         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
109061 2007-02-01  Bruno Haible  <bruno@clisp.org>
109063         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
109064         renamings.
109066 2007-02-01  Eric Blake  <ebb9@byu.net>
109068         * modules/regex (Depends-on): Revert dependence on mempcpy.
109069         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
109070         module's definition of mempcpy.
109071         Reported by Paul Eggert.
109073 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
109075         * lib/string_.h: If the gnulib module XYZ is not present, undefine
109076         the symbol XYZ before redefining it.  This fixes a problem with
109077         programs that don't use XYZ, when compiled on systems that define
109078         XYZ to something else.
109080 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
109082         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
109083         occurs when "mkdir -m foo" creates a setgid directory that is (1)
109084         writeable to group or other and (2) is intended to have a special
109085         mode bit that is set or cleared.  In such a case, the directory
109086         should be neither group- nor other-writeable until the special
109087         mode bits are right.
109089 2007-01-31  Eric Blake  <ebb9@byu.net>
109091         * modules/mountlist (Depends-on): Add strstr.
109093         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
109094         bug.
109095         * modules/string (Makefile.am): Remove redundant replacement.
109096         * modules/regex (Depends-on): Add mempcpy.
109098 2007-01-31  Bruno Haible  <bruno@clisp.org>
109100         New module description field 'Link'.
109101         * gnulib-tool (func_usage): Document --extract-link-directive.
109102         (sed_extract_prog): Recognize 'Link' directive.
109103         (func_get_link_directive): New function.
109104         (func_import): Show summary of link directives.
109105         Handle --extract-link-directive option.
109106         * modules/acl (Link): New section.
109107         * modules/clock-time (Link): New section.
109108         * modules/euidaccess (Link): New section.
109109         * modules/gettext (Link): New section.
109110         * modules/iconv (Link): New section.
109111         * modules/lock (Link): New section.
109112         * modules/nanosleep (Link): New section.
109113         * modules/readline (Link): New section.
109115 2007-01-27  Bruno Haible  <bruno@clisp.org>
109117         Enforce the use of gnulib modules for unportable <string.h> functions.
109118         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
109119         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
109120         (gl_HEADER_STRING_H_BODY): Require it.
109121         * lib/string_.h: If the gnulib module XYZ is not present, redefine
109122         the symbol XYZ to one that gives a link error.
109123         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
109124         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
109125         * modules/mempcpy (configure.ac): Likewise.
109126         * modules/memrchr (configure.ac): Likewise.
109127         * modules/stpcpy (configure.ac): Likewise.
109128         * modules/stpncpy (configure.ac): Likewise.
109129         * modules/strcase (configure.ac): Likewise.
109130         * modules/strcasestr (configure.ac): Likewise.
109131         * modules/strchrnul (configure.ac): Likewise.
109132         * modules/strdup (configure.ac): Likewise.
109133         * modules/strndup (configure.ac): Likewise.
109134         * modules/strnlen (configure.ac): Likewise.
109135         * modules/strpbrk (configure.ac): Likewise.
109136         * modules/strsep (configure.ac): Likewise.
109137         * modules/strstr (configure.ac): Likewise.
109138         * modules/strtok_r (configure.ac): Likewise.
109140 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
109142         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
109144 2007-01-30  Jim Meyering  <jim@meyering.net>
109146         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
109148 2007-01-29  Bruno Haible  <bruno@clisp.org>
109150         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
109151         * lib/execute.c: Likewise.
109152         * lib/pipe.c: Likewise.
109153         * lib/printf-args.h: Likewise.
109154         * lib/printf-args.c: Likewise.
109155         * lib/printf-parse.c: Likewise.
109156         * lib/vasnprintf.c: Likewise.
109158 2007-01-29  Eric Blake  <ebb9@byu.net>
109160         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
109161         declaration.
109163 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
109165         * lib/strptime.h (strptime): Use 'restrict' for args where
109166         POSIX requires this.
109167         * lib/strptime.c (strptime): Likewise.
109168         Change license notice from LGPL to GPL, since gnulib-tool will
109169         change this as needed.
109170         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
109171         defined.
109172         Include "strptime.h" first, to check interface.
109173         Do not #undef _LIBC and _NL_CURRENT.
109174         Do not include <stdlib.h>; no longer needed.
109175         Include "time_r.h" and declare ptime_locale_status
109176         only if _LIBC is not defined.
109177         (__P): Remove unused macro.
109178         (match_string): Bring back glibc version, but use it only if _LIBC
109179         is defined.
109180         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
109181         Remove unnecessary assertion and abort() call.
109182         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
109183         * m4/strptime.m4: Fix serial number comment.
109184         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
109185         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
109186         (Depends-on): Add time_r.
109188 2007-01-29  Bruno Haible  <bruno@clisp.org>
109190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
109191         strptime.
109192         * modules/strptime (Depends-on): Add stdbool.
109193         * lib/strptime.h: Include <time.h> always. Add comments.
109195 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
109197         * modules/strptime: New file.
109198         * lib/strptime.h: New file.
109199         * lib/strptime.c: New file.
109200         * m4/strptime.m4: New file.
109202 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
109204         * MODULES.html.sh: New module mpsort.
109205         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
109207         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
109208         a circularity problem with HP-UX ia64 reported by Bob Proulx in
109209         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
109210         All uses changed.
109211         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
109212         All uses changed.
109213         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
109214         to _Restrict_.
109215         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
109216         the parameter matches the prototype.
109218 2007-01-28  Jim Meyering  <jim@meyering.net>
109220         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
109221         sys/time.h here, reverting that part of the previous patch:
109222         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109224 2007-01-28  Bruno Haible  <bruno@clisp.org>
109226         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
109227         value of $(SYS_TIME_H).
109228         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
109229         remove it conditionally, too. [added by Jim Meyering]
109230         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
109231         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109232         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
109233         GETTIMEOFDAY_REPLACEMENT to 1.
109235 2007-01-28  Bruno Haible  <bruno@clisp.org>
109237         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
109238         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
109239         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
109240         Set UNISTD_H instead of UNISTD_H2.
109241         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
109243 2007-01-28  Bruno Haible  <bruno@clisp.org>
109245         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
109246         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
109248 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109250         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
109251         (func_create_testdir): Ensure C locale for `grep' and `tr'
109252         character ranges.
109253         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
109254         ACLOCAL_AMFLAGS parsing state machine.
109256 2007-01-27  Bruno Haible  <bruno@clisp.org>
109258         * modules/unistr/base: Update.
109260 2007-01-27  Bruno Haible  <bruno@clisp.org>
109262         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
109263         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
109264         * modules/unistr/u32-mbtouc-unsafe: Renamed from
109265         modules/unistr/u32-mbtouc.
109266         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
109267         * lib/unistr.h: Update.
109268         * lib/linebreak.c: Update.
109269         * modules/unistr/u32-mbtouc: Renamed from
109270         modules/unistr/u32-mbtouc-safe.
109271         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
109272         * lib/unistr.h: Update.
109273         * lib/unistr/u32-to-u8.c: Update.
109274         * lib/unistr/u32-to-u16.c: Update.
109276 2007-01-27  Bruno Haible  <bruno@clisp.org>
109278         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
109279         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
109280         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
109281         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
109282         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
109283         * modules/unistr/u16-mbtouc-unsafe: Renamed from
109284         modules/unistr/u16-mbtouc.
109285         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
109286         * lib/unistr.h: Update.
109287         * lib/linebreak.c: Update.
109288         * modules/linebreak: Update.
109289         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
109290         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
109291         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
109292         * modules/unistr/u16-mbtouc: Renamed from
109293         modules/unistr/u16-mbtouc-safe.
109294         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
109295         * lib/unistr.h: Update.
109296         * lib/unistr/u16-to-u8.c: Update.
109297         * modules/unistr/u16-to-u8: Update.
109298         * lib/unistr/u16-to-u32.c: Update.
109299         * modules/unistr/u16-to-u32: Update.
109301 2007-01-27  Bruno Haible  <bruno@clisp.org>
109303         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
109304         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
109305         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
109306         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
109307         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
109308         * modules/unistr/u8-mbtouc-unsafe: Renamed from
109309         modules/unistr/u8-mbtouc.
109310         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
109311         * lib/unistr.h: Update.
109312         * lib/striconveh.c: Update.
109313         * modules/striconveh: Update.
109314         * lib/linebreak.c: Update.
109315         * modules/linebreak: Update.
109316         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
109317         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
109318         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
109319         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
109320         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
109321         * lib/unistr.h: Update.
109322         * lib/striconveh.c: Update.
109323         * modules/striconveh: Update.
109324         * lib/unistr/u8-to-u16.c: Update.
109325         * modules/unistr/u8-to-u16: Update.
109326         * lib/unistr/u8-to-u32.c: Update.
109327         * modules/unistr/u8-to-u32: Update.
109329 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109331         Sync from Libtool.
109332         * lib/argz.c: Do not include strings.h nor memory.h, include
109333         string.h unconditionally.  Patch by Simon Josefsson.
109335 2007-01-27  Bruno Haible  <bruno@clisp.org>
109337         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
109338         from gl_HEADER_STRING_H_BODY.
109339         (gl_HEADER_STRING_H_BODY): Require it.
109340         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
109341         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
109342         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
109343         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
109344         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
109345         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
109346         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
109347         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
109348         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
109349         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
109350         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
109351         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
109352         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
109353         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
109354         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
109356 2007-01-27  Bruno Haible  <bruno@clisp.org>
109358         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
109359         check_PROGRAMS into noinst_PROGRAMS.
109360         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
109361         check_PROGRAMS in this case.
109362         (func_import): Set for_test to false.
109363         (func_create_testdir): Set for_test to true.
109365 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109366             Bruno Haible  <bruno@clisp.org>
109368         * modules/strcasestr (Files): Remove lib/strcasestr.h.
109369         (Depends-on): Add string.
109370         (Includes): Use <string.h> instead of strcasestr.h.
109371         * modules/string (Makefile.am): Also substitute the value of
109372         REPLACE_STRCASESTR.
109373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
109374         assume strcasestr is declared in <string.h> not <strings.h>. Also
109375         set REPLACE_STRCASESTR.
109376         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
109377         REPLACE_STRCASESTR.
109378         * lib/strcasestr.h: Remove file.
109379         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
109380         * lib/string_.h (strcasestr): New declaration.
109382 2007-01-27  Bruno Haible  <bruno@clisp.org>
109384         * lib/string_.h: Use 'extern'.
109386 2007-01-27  Jim Meyering  <jim@meyering.net>
109388         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
109389         of set-but-not-used local, "q".
109391         * lib/mempcpy.c: Include <config.h> before <string.h>.
109392         This fixes a compilation error on HP-UX, due to the system's
109393         "restrict"-using mempcpy prototype.
109395 2007-01-26  Bruno Haible  <bruno@clisp.org>
109397         Small optimization.
109398         * lib/javacomp.c: Include c-strstr.h.
109399          (is_envjavac_gcj): Use c_strstr instead of strstr.
109400         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
109402 2007-01-26  Bruno Haible  <bruno@clisp.org>
109404         * MODULES.html.sh (Unicode string functions): Add the new modules.
109406         * modules/uniconv/u32-strconv-to-locale: New file.
109407         * lib/uniconv/u32-strconv-to-locale.c: New file.
109409         * modules/uniconv/u16-strconv-to-locale: New file.
109410         * lib/uniconv/u16-strconv-to-locale.c: New file.
109412         * modules/uniconv/u8-strconv-to-locale: New file.
109413         * lib/uniconv/u8-strconv-to-locale.c: New file.
109415         * modules/uniconv/u32-strconv-from-locale: New file.
109416         * lib/uniconv/u32-strconv-from-locale.c: New file.
109418         * modules/uniconv/u16-strconv-from-locale: New file.
109419         * lib/uniconv/u16-strconv-from-locale.c: New file.
109421         * modules/uniconv/u8-strconv-from-locale: New file.
109422         * lib/uniconv/u8-strconv-from-locale.c: New file.
109424         * modules/uniconv/u32-strconv-to-enc: New file.
109425         * lib/uniconv/u32-strconv-to-enc.c: New file.
109426         * modules/uniconv/u32-strconv-to-enc-tests: New file.
109427         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
109429         * modules/uniconv/u16-strconv-to-enc: New file.
109430         * lib/uniconv/u16-strconv-to-enc.c: New file.
109431         * lib/uniconv/u-strconv-to-enc.h: New file.
109432         * modules/uniconv/u16-strconv-to-enc-tests: New file.
109433         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
109435         * modules/uniconv/u8-strconv-to-enc: New file.
109436         * lib/uniconv/u8-strconv-to-enc.c: New file.
109437         * modules/uniconv/u8-strconv-to-enc-tests: New file.
109438         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
109440         * modules/uniconv/u32-strconv-from-enc: New file.
109441         * lib/uniconv/u32-strconv-from-enc.c: New file.
109442         * modules/uniconv/u32-strconv-from-enc-tests: New file.
109443         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
109445         * modules/uniconv/u16-strconv-from-enc: New file.
109446         * lib/uniconv/u16-strconv-from-enc.c: New file.
109447         * modules/uniconv/u16-strconv-from-enc-tests: New file.
109448         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
109450         * modules/uniconv/u8-strconv-from-enc: New file.
109451         * lib/uniconv/u8-strconv-from-enc.c: New file.
109452         * lib/uniconv/u-strconv-from-enc.h: New file.
109453         * modules/uniconv/u8-strconv-from-enc-tests: New file.
109454         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
109456         * modules/uniconv/u32-conv-from-enc: New file.
109457         * lib/uniconv/u32-conv-from-enc.c: New file.
109458         * modules/uniconv/u32-conv-from-enc-tests: New file.
109459         * tests/uniconv/test-u32-conv-from-enc.c: New file.
109461         * modules/uniconv/u16-conv-from-enc: New file.
109462         * lib/uniconv/u16-conv-from-enc.c: New file.
109463         * lib/uniconv/u-conv-from-enc.h: New file.
109464         * modules/uniconv/u16-conv-from-enc-tests: New file.
109465         * tests/uniconv/test-u16-conv-from-enc.c: New file.
109467         * modules/uniconv/u8-conv-from-enc: New file.
109468         * lib/uniconv/u8-conv-from-enc.c: New file.
109469         * modules/uniconv/u8-conv-from-enc-tests: New file.
109470         * tests/uniconv/test-u8-conv-from-enc.c: New file.
109472         * modules/uniconv/base: New file.
109473         * lib/uniconv.h: New file.
109475 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
109477         * doc/gnulib-tool.texi (Initial import): Update to match current
109478         behavior with strdup module.
109479         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
109480         * lib/memmem.h: Remove; all uses removed.  This is now done
109481         by <string.h>.
109482         * lib/mempcpy.h: Likewise.
109483         * lib/memrchr.h: Likewise.
109484         * lib/stpcpy.h: Likewise.
109485         * lib/stpncpy.h: Likewise.
109486         * lib/strcase.h: Likewise.
109487         * lib/strchrnul.h: Likewise.
109488         * lib/strdup.h: Likewise.
109489         * lib/strndup.h: Likewise.
109490         * lib/strnlen.h: Likewise.
109491         * lib/strpbrk.h: Likewise.
109492         * lib/strsep.h: Likewise.
109493         * lib/strstr.h: Likewise.
109494         * lib/strtok_r.h: Likewise.
109495         * lib/string_.h: New file.
109496         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
109497         Rely on <string.h> instead.
109498         * lib/canon-host.c: Likewise.
109499         * lib/chdir-long.c: Likewise.
109500         * lib/concatpath.c: Likewise.
109501         * lib/exclude.c: Likewise.
109502         * lib/fchdir.c: Likewise.
109503         * lib/getaddrinfo.c: Likewise.
109504         * lib/getcwd.c: Likewise.
109505         * lib/getsubopt.c: Likewise.
109506         * lib/glob.c: Likewise.
109507         * lib/hard-locale.c: Likewise.
109508         * lib/iconvme.c: Likewise.
109509         * lib/javacomp.c: Likewise.
109510         * lib/mempcpy.c: Likewise.
109511         * lib/memrchr.c: Likewise.
109512         * lib/regex_internal.h: Likewise.
109513         * lib/stpncpy.c: Likewise.
109514         * lib/strcasecmp.c: Likewise.
109515         * lib/strchrnul.c: Likewise.
109516         * lib/strdup.c: Likewise.
109517         * lib/striconv.c: Likewise.
109518         * lib/striconveh.c: Likewise.
109519         * lib/striconveha.c: Likewise.
109520         * lib/strncasecmp.c: Likewise.
109521         * lib/strndup.c: Likewise.
109522         * lib/strnlen.c: Likewise.
109523         * lib/strsep.c: Likewise.
109524         * lib/strstr.c: Likewise.
109525         * lib/strtok_r.c: Likewise.
109526         * lib/userspec.c: Likewise.
109527         * lib/w32spawn.h: Likewise.
109528         * lib/xstrndup.c: Likewise.
109529         * lib/mountlist.c (strstr): Remove decl.
109530         * m4/string_h.m4: New file.
109531         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
109532         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
109533         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
109534         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
109535         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
109536         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
109537         Set REPLACE_STRCASECMP if necessary.
109538         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
109539         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
109540         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
109541         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
109542         HAVE_DECL_STRDUP if necessary.
109543         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
109544         since gl_FUNC_STRNDUP does that now.
109545         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
109546         Check for decl here...
109547         (gl_PREREQ_STRNLEN): ... not here.
109548         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
109549         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
109550         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
109551         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
109552         necessary.
109553         * modules/string: New file.
109554         * modules/memmem (Files): Remove special-purpose include file.
109555         (Depends-on): Add string.
109556         (Include): Include <string.h>, not the removed file.
109557         * modules/mempcpy: Likewise.
109558         * modules/memrchr: Likewise.
109559         * modules/stpcpy: Likewise.
109560         * modules/stpncpy: Likewise.
109561         * modules/strcase: Likewise.
109562         * modules/strchrnul: Likewise.
109563         * modules/strdup: Likewise.
109564         * modules/strndup: Likewise.
109565         * modules/strnlen: Likewise.
109566         * modules/strpbrk: Likewise.
109567         * modules/strsep: Likewise.
109568         * modules/strstr: Likewise.
109569         * modules/strtok_r: Likewise.
109570         * tests/test-dirname.c: Don't include "strdup.h", since
109571         <string.h> now suffices.
109572         * tests/test-memmem.c: Don't include "memmem.h", since
109573         <string.h> now suffices.
109575 2007-01-25  Bruno Haible  <bruno@clisp.org>
109577         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
109578         *resultp is 0.
109580         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
109581         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
109582         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
109583         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
109585         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
109586         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
109587         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
109588         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
109589         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
109590         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
109592 2007-01-24  Bruno Haible  <bruno@clisp.org>
109594         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
109595         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
109596         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
109597         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
109598         gl_FUNC_FTS_CORE.
109599         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
109600         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
109601         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
109602         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
109603         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
109604         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
109605         gl_FUNC_FCHOWNAT.
109606         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
109607         gl_FUNC_STRFTIME.
109608         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
109609         Reported by Ralf Wildenhues.
109611 2007-01-24  Bruno Haible  <bruno@clisp.org>
109613         Drop AC_REQUIRE calls that are redundant with the module dependencies.
109614         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
109615         gl_GETADDRINFO.
109616         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
109617         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
109618         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
109620 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
109622         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
109623         Don't use 'exit'; just return from 'main'.
109624         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
109626         * lib/fnmatch_.h: Readjust white space and comments to match
109627         glibc, to avoid spurious diffs.
109629 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109631         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
109632         2004-12-01 change by Jakub Jelinek, since this code won't compile
109633         if !LIBC.  Problem reported by Bob Proulx.
109635 2007-01-23  Bruno Haible  <bruno@clisp.org>
109637         * lib/striconveh.c: Include c-strcaseeq.h.
109638         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
109639         * modules/striconveh (Depends-on): Add c-strcaseeq.
109641 2007-01-23  Bruno Haible  <bruno@clisp.org>
109643         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
109645         * modules/c-strcaseeq: New file.
109646         * lib/c-strcaseeq.h: New file.
109648         * modules/streq: New file.
109649         * lib/streq.h: New file.
109651 2007-01-23  Bruno Haible  <bruno@clisp.org>
109653         * modules/striconveha-tests: New file.
109654         * tests/test-striconveha.c: New file.
109656         * lib/striconveha.h: Include <stdbool.h>.
109657         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
109658         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
109659         (mem_iconveha_notranslit): Renamed from mem_iconveha.
109660         (mem_iconveha): New function.
109661         (str_iconveha_notranslit): Renamed from str_iconveha.
109662         (str_iconveha): New function.
109663         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
109664         c-strcase.
109666 2007-01-23  Bruno Haible  <bruno@clisp.org>
109668         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
109669         encodings without forgiving before trying any encoding with handler.
109670         (str_iconveha): Try all encodings without forgiving before trying any
109671         encoding with handler.
109673 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109675         Import the following changes from libc.
109677         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
109679         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
109681         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
109683         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
109684         normal_bracket label.
109686         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
109688         [BZ #361]
109689         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
109690         to normal_bracket after fetching the next character.
109692 2007-01-22  Bruno Haible  <bruno@clisp.org>
109694         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
109695         argument.
109696         * lib/striconveh.c (iconv_carefully_1): New function.
109697         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
109698         argument.
109699         (str_cd_iconveh): Update.
109700         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
109701         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
109702         * tests/test-striconveh.c (MAGIC): New macro.
109703         (new_offsets): New function.
109704         (main): Test call with and without offsets.
109706 2007-01-22  Bruno Haible  <bruno@clisp.org>
109708         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
109709         * modules/sys_select (Makefile.am): Likewise.
109710         * modules/sys_socket (Makefile.am): Likewise.
109711         * modules/sys_time (Makefile.am): Likewise.
109713 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
109715         * modules/gettimeofday (License): Change from GPL to LGPL, since
109716         gettimeofday is a library function.
109718 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109720         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
109722 2007-01-21  Bruno Haible  <bruno@clisp.org>
109724         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
109726 2007-01-21  Bruno Haible  <bruno@clisp.org>
109728         * modules/striconveha: New file.
109729         * lib/striconveha.h: New file.
109730         * lib/striconveha.c: New file.
109731         * MODULES.html.sh (Internationalization functions): Add striconveha.
109732         * lib/striconv.c (str_iconv): Optimize the case of an empty input
109733         string.
109734         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
109736 2007-01-21  Bruno Haible  <bruno@clisp.org>
109738         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
109739         * lib/striconveh.c (str_iconveh): Likewise.
109741 2007-01-21  Bruno Haible  <bruno@clisp.org>
109743         * lib/striconveh.h (mem_iconveh): New declaration.
109744         * lib/striconveh.c (mem_iconveh): New function.
109745         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
109747 2007-01-21  Bruno Haible  <bruno@clisp.org>
109749         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
109751         * lib/striconveh.h (mem_cd_iconveh): Change specification.
109752         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
109753         original result buffer.
109754         (str_cd_iconveh): Update.
109755         * tests/test-striconveh.c (main): Update.
109757         * lib/striconv.h (mem_cd_iconv): Change specification.
109758         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
109759         result buffer.
109760         (str_cd_iconv): Update.
109761         * tests/test-striconv.c (main): Update.
109763 2007-01-21  Bruno Haible  <bruno@clisp.org>
109765         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
109767 2007-01-20  Jim Meyering  <jim@meyering.net>
109769         * lib/userspec.c (parse_with_separator): If a user or group string
109770         starts with "+", skip the corresponding name-to-ID look-up, since
109771         such a look-up must fail: user and group names may not include "+".
109773 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
109775         * lib/poll.c: Include sys/time.h and time.h unconditionally,
109776         since we now assume the sys_time module.
109777         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
109778         check for sys/time.h; no longer needed.
109779         * modules/poll (Depends-on): Depend on sys_time.
109781 2007-01-18  Bruno Haible  <bruno@clisp.org>
109783         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
109784         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109786         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
109787         gettimeofday.
109789         * tests/test-gettimeofday.c: Include <time.h>.
109790         (dummy): Remove variable.
109792         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
109793         gl_HEADER_SYS_TIME_H.
109794         (gl_HEADER_SYS_TIME_H): New macro.
109796         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
109797         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109798         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
109799         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
109800         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109801         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
109802         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
109803         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109804         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
109805         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
109806         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109808         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
109809         last change; it caused a compilation error when cross-compiling to
109810         Cygwin.
109812 2007-01-18  Jim Meyering  <jim@meyering.net>
109814         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
109815         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
109816         than the race-prone "test -d sys || mkdir sys".
109817         (configure.ac): Use AC_PROG_MKDIR_P.
109818         * modules/sys_select: Likewise.
109819         * modules/sys_socket: Likewise.
109820         * modules/sys_time: Likewise.
109822 2007-01-18  Eric Blake  <ebb9@byu.net>
109824         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
109825         replace gettimeofday.
109826         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
109827         name, to avoid infinite recursion.
109829 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
109831         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
109832         module sys_time.
109833         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
109834         assume timespec.h defines struct timeval.
109835         * lib/settime.c: Likewise.
109836         * lib/utimens.c: Likewise.
109837         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
109838         since we now assume the gettimeofday module.
109839         * lib/tempname.c (__gen_tempname): Likewise.
109840         * lib/gettimeofday.h: Remove.
109841         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
109842         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
109843         Include <time.h>, for 'time()'.
109844         (localtime_buffer_addr): Also use this workaround if
109845         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
109846         to simplify the uses.  All uses changed.
109847         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
109848         that #undef is inside {}, and 'const' follows type name consistently.
109849         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
109850         (gettimeofday): Do not use the maximum possible value for
109851         tv->tv_usec, since that might break usages other than ls.c.
109852         Instead, we'll leave ls.c alone.  This undoes today's patch
109853         by Bruno.  Add a compile-time warning for 1s-clock resolution;
109854         we've never observed the problem but might as well keep the
109855         canary.
109856         * lib/nanosleep.c: Include timespec.h first, for interface check.
109857         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
109858         now assume the sys_time module.
109859         * lib/tempname.c: Likewise.
109860         * lib/timespec.h: Likewise.
109861         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
109862         needed.
109863         * lib/strftime.c: Likewise.
109864         * lib/timespec.h: Likewise.
109865         * lib/posixtm.c: Include posixtm.h first, for interface check.
109866         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
109867         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
109868         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
109869         * lib/sys_time_.h: New file.
109870         * lib/timespec.h (struct timespec): Use long int, not long.
109871         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109872         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
109873         Remove obsolescent call to AC_HEADER_TIME.
109874         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
109875         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
109876         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109877         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
109878         Likewise.
109879         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
109880         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
109881         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
109882         into the sys_time module.  Check for gettimeofday just once.
109883         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
109884         for gettimeofday signature to just check the signature.  Merely
109885         compile it, since linking doesn't test signature.  Improve test for
109886         whether gettimeofday.o is actually needed.
109887         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
109888         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
109889         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
109890         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109891         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
109892         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
109893         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
109894         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
109895         than worrying about sys/time.h.
109896         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
109897         Don't bother worrying about TIME_WITH_SYS_TIME.
109898         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
109899         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
109900         * m4/sys_time_h.m4: New file.
109901         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
109902         Don't include sys/time.h.  Return from main rather than exiting.
109903         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
109904         all uses changed.
109905         * modules/gethrxtime (Depends-on): Add sys_time.
109906         * modules/gettime (Depends-on): Likewise.
109907         * modules/gettimeofday (Depends-on): Likewise.
109908         * modules/nanosleep (Depends-on): Likewise.
109909         * modules/settime (Depends-on): Likewise.
109910         * modules/tempname (Depends-on): Likewise.
109911         * modules/utimens (Depends-on): Likewise.
109912         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
109913         (Include): Change back to <sys/time.h>.
109914         (Maintainer): Add self.
109915         * modules/sys_time: New file.
109916         * modules/tempname (Depends-on): Add gettimeofday.
109917         * tests/test-gettimeofday.c: Include <sys/time.h>
109918         rather than gettimeofday.h.
109920 2007-01-17  Bruno Haible  <bruno@clisp.org>
109922         * gnulib-tool (func_get_license): Revert last patch. Instead, let
109923         the license default to GPL.
109924         (func_create_testdir): Don't complain if a module is LGPL and its
109925         tests module depends on GPLed modules.
109927 2007-01-17  Bruno Haible  <bruno@clisp.org>
109929         * lib/gettimeofday.c (gettimeofday): Add code for the case
109930         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
109931         maximum possible value for tv->tv_usec, rather than the minimum one.
109933 2005-10-08  Martin Lambers  <marlam@marlam.de>
109934 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
109935 2007-01-16  Bruno Haible  <bruno@clisp.org>
109937         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
109938         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
109939         gl_FUNC_GETTIMEOFDAY.
109940         (Include): Add gettimeofday.h.
109941         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
109942         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
109943         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
109944         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
109945         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
109946         * lib/gettimeofday.h: New file.
109947         * lib/gettimeofday.c: Include <sys/timeb.h>.
109948         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
109949         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109950         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
109951         fall back on time().
109953         * tests/test-gettimeofday.c: New file.
109954         * modules/gettimeofday-tests: New file.
109956 2007-01-16  Eric Blake  <ebb9@byu.net>
109958         * modules/fnmatch (Depends-on): Depend on wchar.
109959         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
109960         * m4/fnmatch.m4: Likewise.
109961         * modules/mbchar (Makefile.am): Assume <wchar.h>.
109962         * m4/mbchar.m4: Likewise.
109963         * modules/mbswidth (Depends-on): Depend on wchar.
109964         * lib/mbswidth.c: Assume <wchar.h>.
109965         * m4/mbswidth.m4: Likewise.
109966         * modules/quotearg (Depends-on): Depend on wchar.
109967         * lib/quotearg.c: Assume <wchar.h>.
109968         * m4/quotearg.m4: Likewise.
109969         * modules/regex (Depends-on): Depend on wchar.
109970         * lib/regex_internal.h: Assume <wchar.h>.
109971         * m4/regex.m4: Likewise.
109972         * modules/stdint (Depends-on): Depend on wchar.
109973         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
109974         * m4/stdint.m4: Likewise.
109975         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
109976         * modules/strftime (Depends-on): Depend on wchar.
109977         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
109978         * modules/strtol (Depends-on): Depend on wchar.
109979         * lib/strtol.c: Assume <wchar.h>.
109980         * modules/wcwidth (Depends-on): Depend on wchar.
109981         * lib/wcwidth.h: Assume <wchar.h>.
109982         * m4/wcwidth.m4: Likewise.
109984 2007-01-16  Bruno Haible  <bruno@clisp.org>
109986         * modules/csharpexec-script: New, created from...
109987         * modules/csharpexec: ... this.
109989 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
109991         * modules/javaexec-script: New, created from...
109992         * modules/javaexec: ... this.
109994 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109996         * modules/poll (Dependencies): Add sys_select.
109998 2007-01-15  Jim Meyering  <jim@meyering.net>
110000         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
110001         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
110002         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
110003         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
110005 2007-01-15  Bruno Haible  <bruno@clisp.org>
110007         * modules/striconveh: New file.
110008         * lib/striconveh.h: New file.
110009         * lib/striconveh.c: New file.
110010         * MODULES.html.sh (Internationalization functions): Add striconveh.
110012         * modules/striconveh-tests: New file.
110013         * tests/test-striconveh.c: New file.
110015 2007-01-15  Bruno Haible  <bruno@clisp.org>
110017         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
110018         not from GNU libiconv or GNU libc.
110020 2007-01-15  Bruno Haible  <bruno@clisp.org>
110022         * doc/gnulib-intro.texi (Copyright): Explain the different license
110023         terms for module descriptions, autoconf macros, tests, documentation.
110025 2007-01-14  Bruno Haible  <bruno@clisp.org>
110027         * modules/striconv-tests: New file.
110028         * tests/test-striconv.c: New file.
110030 2007-01-14  Bruno Haible  <bruno@clisp.org>
110032         * modules/iconv-tests: New file.
110033         * tests/test-iconv.c: New file.
110035 2007-01-14  Bruno Haible  <bruno@clisp.org>
110037         * gnulib-tool (func_get_license): For test modules, use the license of
110038         the main module.
110040 2007-01-14  Bruno Haible  <bruno@clisp.org>
110042         * modules/iconv (Include): Clarify that <iconv.h> can only be included
110043         if iconv is found to exist.
110045 2007-01-14  Bruno Haible  <bruno@clisp.org>
110047         * modules/c-ctype-tests: New file.
110048         * tests/test-c-ctype.c: New file.
110050 2007-01-14  Bruno Haible  <bruno@clisp.org>
110052         * modules/binary-io-tests: New file.
110053         * tests/test-binary-io.sh: New file.
110054         * tests/test-binary-io.c: New file.
110056 2007-01-14  Bruno Haible  <bruno@clisp.org>
110058         * modules/array-oset-tests: New file.
110059         * tests/test-array_oset.c: New file.
110061 2007-01-14  Bruno Haible  <bruno@clisp.org>
110063         * modules/array-list-tests: New file.
110064         * tests/test-array_list.c: New file.
110066 2007-01-14  Bruno Haible  <bruno@clisp.org>
110068         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
110069         and make.
110070         Reported by Simon Josefsson in
110071         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
110073 2007-01-14  Bruno Haible  <bruno@clisp.org>
110075         * modules/allocsa-tests: New file.
110076         * tests/test-allocsa.c: New file.
110078 2007-01-14  Bruno Haible  <bruno@clisp.org>
110080         * modules/fchdir (Depends-on): Add absolute-header.
110081         * modules/unistd (Depends-on): Likewise.
110083 2006-12-30  Bruno Haible  <bruno@clisp.org>
110085         * modules/fchdir: New file.
110086         * modules/unistd (Files): Add lib/unistd_.h.
110087         (Makefile.am): Generate unistd.h from unistd_.h.
110088         * lib/fchdir.c: New file.
110089         * lib/dirent_.h: New file.
110090         * lib/unistd_.h: New file.
110091         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
110092         * m4/fchdir.m4: New file.
110093         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
110094         (gl_HEADER_UNISTD): Invoke it.
110095         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
110096         function.
110097         * lib/backupfile.c (opendir, closedir): Undefine.
110098         * lib/chown.c (open, close): Undefine.
110099         * lib/clean-temp.c (open, close): Undefine.
110100         * lib/copy-file.c (open, close): Undefine.
110101         * lib/execute.c (open, close): Undefine.
110102         * lib/fsusage.c (open, close): Undefine.
110103         * lib/gc-gnulib.c (open, close): Undefine.
110104         * lib/getcwd.c (opendir, closedir): Undefine.
110105         * lib/glob.c (opendir, closedir): Undefine.
110106         * lib/javacomp.c (open, close): Undefine.
110107         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
110108         * lib/openat-proc.c (open, close): Undefine.
110109         * lib/pagealign_alloc.c (open, close): Undefine.
110110         * lib/pipe.c (open, close): Undefine.
110111         * lib/progreloc.c (open, close): Undefine.
110112         * lib/savedir.c (opendir, closedir): Undefine.
110113         * lib/utime.c (open, close): Undefine.
110114         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
110116 2007-01-10  Bruno Haible  <bruno@clisp.org>
110118         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
110120 2007-01-12  Eric Blake  <ebb9@byu.net>
110122         Provide a robust <wchar.h>.  Further simplifications are now
110123         possible in other modules, but not included here.
110124         * modules/wchar: New module.
110125         * m4/wchar.m4: New file.
110126         * lib/wchar_.h: Likewise.
110127         * modules/mbchar (Depends-on): Depend on wchar, as the first use
110128         of the new module.
110129         * MODULES.html.sh (Extended multibyte and wide character utilities):
110130         New section.
110132 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
110134         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
110135         to a reasonable default for memory allocation.
110136         (xreadlink): Don't allocate a huge buffer, to work around a buggy
110137         file system that reports garbage st_size values for symlinks.
110138         Problem reported by Liyang Hu.
110140 2007-01-11  Simon Josefsson  <simon@josefsson.org>
110142         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
110143         Emacs .#* auto-save files).
110145 2007-01-11  Bruno Haible  <bruno@clisp.org>
110147         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
110148         directory.
110150 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
110152         Use @...@ consistently in lib/wctype_.h.
110153         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
110154         on it being set to 1 or 0.
110155         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
110156         go back to AC_SUBSTing it.
110157         * modules/wctype (Makefile.am): Undo previous change.
110159 2007-01-10  Eric Blake  <ebb9@byu.net>
110161         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
110162         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
110163         * modules/wctype (Makefile.am): Likewise.
110164         Reported by Chris McGuire.
110166 2007-01-10  Jim Meyering  <jim@meyering.net>
110168         fts.c: a small readability/maintainability improvement
110169         * lib/fts.c (fts_read): Make this code slightly more readable and
110170         maintainable by hoisting the "sp->fts_cur = p" assignments to
110171         immediately follow the statements that set P.  Derived from
110172         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
110174 2007-01-10  Eric Blake  <ebb9@byu.net>
110176         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
110177         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
110178         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110179         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
110180         Reported by Chris McGuire.
110182 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110184         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
110185         in sed script.
110187 2007-01-09  Bruno Haible  <bruno@clisp.org>
110189         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
110190         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
110191         variables.
110192         (func_module): Use them.
110194 2007-01-09  Bruno Haible  <bruno@clisp.org>
110196         * modules/unistr/base: New file.
110197         * lib/unistr.h: New file.
110199         * modules/unistr/u8-to-u16: New file.
110200         * lib/unistr/u8-to-u16.c: New file.
110202         * modules/unistr/u8-to-u32: New file.
110203         * lib/unistr/u8-to-u32.c: New file.
110205         * modules/unistr/u16-to-u8: New file.
110206         * lib/unistr/u16-to-u8.c: New file.
110208         * modules/unistr/u16-to-u32: New file.
110209         * lib/unistr/u16-to-u32.c: New file.
110211         * modules/unistr/u32-to-u8: New file.
110212         * lib/unistr/u32-to-u8.c: New file.
110214         * modules/unistr/u32-to-u16: New file.
110215         * lib/unistr/u32-to-u16.c: New file.
110217         * modules/unistr/u8-check: New file.
110218         * modules/unistr/u16-check: New file.
110219         * modules/unistr/u32-check: New file.
110220         * lib/unistr/u8-check.c: New file.
110221         * lib/unistr/u16-check.c: New file.
110222         * lib/unistr/u32-check.c: New file.
110224         * modules/unistr/u8-chr: New file.
110225         * modules/unistr/u16-chr: New file.
110226         * modules/unistr/u32-chr: New file.
110227         * lib/unistr/u8-chr.c: New file.
110228         * lib/unistr/u16-chr.c: New file.
110229         * lib/unistr/u32-chr.c: New file.
110231         * modules/unistr/u8-cmp: New file.
110232         * modules/unistr/u16-cmp: New file.
110233         * modules/unistr/u32-cmp: New file.
110234         * lib/unistr/u8-cmp.c: New file.
110235         * lib/unistr/u16-cmp.c: New file.
110236         * lib/unistr/u32-cmp.c: New file.
110238         * modules/unistr/u8-cpy: New file.
110239         * modules/unistr/u16-cpy: New file.
110240         * modules/unistr/u32-cpy: New file.
110241         * lib/unistr/u8-cpy.c: New file.
110242         * lib/unistr/u16-cpy.c: New file.
110243         * lib/unistr/u32-cpy.c: New file.
110244         * lib/unistr/u-cpy.h: New file.
110246         * modules/unistr/u8-cpy-alloc: New file.
110247         * modules/unistr/u16-cpy-alloc: New file.
110248         * modules/unistr/u32-cpy-alloc: New file.
110249         * lib/unistr/u8-cpy-alloc.c: New file.
110250         * lib/unistr/u16-cpy-alloc.c: New file.
110251         * lib/unistr/u32-cpy-alloc.c: New file.
110252         * lib/unistr/u-cpy-alloc.h: New file.
110254         * modules/unistr/u8-endswith: New file.
110255         * modules/unistr/u16-endswith: New file.
110256         * modules/unistr/u32-endswith: New file.
110257         * lib/unistr/u8-endswith.c: New file.
110258         * lib/unistr/u16-endswith.c: New file.
110259         * lib/unistr/u32-endswith.c: New file.
110260         * lib/unistr/u-endswith.h: New file.
110262         * modules/unistr/u8-mblen: New file.
110263         * modules/unistr/u16-mblen: New file.
110264         * modules/unistr/u32-mblen: New file.
110265         * lib/unistr/u8-mblen.c: New file.
110266         * lib/unistr/u16-mblen.c: New file.
110267         * lib/unistr/u32-mblen.c: New file.
110269         * modules/unistr/u8-mbtouc: New file.
110270         * modules/unistr/u16-mbtouc: New file.
110271         * modules/unistr/u32-mbtouc: New file.
110272         * lib/unistr/u8-mbtouc.c: New file.
110273         * lib/unistr/u16-mbtouc.c: New file.
110274         * lib/unistr/u32-mbtouc.c: New file.
110276         * modules/unistr/u8-mbtouc-safe: New file.
110277         * modules/unistr/u16-mbtouc-safe: New file.
110278         * modules/unistr/u32-mbtouc-safe: New file.
110279         * lib/unistr/u8-mbtouc-safe.c: New file.
110280         * lib/unistr/u16-mbtouc-safe.c: New file.
110281         * lib/unistr/u32-mbtouc-safe.c: New file.
110283         * modules/unistr/u8-move: New file.
110284         * modules/unistr/u16-move: New file.
110285         * modules/unistr/u32-move: New file.
110286         * lib/unistr/u8-move.c: New file.
110287         * lib/unistr/u16-move.c: New file.
110288         * lib/unistr/u32-move.c: New file.
110289         * lib/unistr/u-move.h: New file.
110291         * modules/unistr/u8-next: New file.
110292         * modules/unistr/u16-next: New file.
110293         * modules/unistr/u32-next: New file.
110294         * lib/unistr/u8-next.c: New file.
110295         * lib/unistr/u16-next.c: New file.
110296         * lib/unistr/u32-next.c: New file.
110298         * modules/unistr/u8-prev: New file.
110299         * modules/unistr/u16-prev: New file.
110300         * modules/unistr/u32-prev: New file.
110301         * lib/unistr/u8-prev.c: New file.
110302         * lib/unistr/u16-prev.c: New file.
110303         * lib/unistr/u32-prev.c: New file.
110305         * modules/unistr/u8-set: New file.
110306         * modules/unistr/u16-set: New file.
110307         * modules/unistr/u32-set: New file.
110308         * lib/unistr/u8-set.c: New file.
110309         * lib/unistr/u16-set.c: New file.
110310         * lib/unistr/u32-set.c: New file.
110311         * lib/unistr/u-set.h: New file.
110313         * modules/unistr/u8-startswith: New file.
110314         * modules/unistr/u16-startswith: New file.
110315         * modules/unistr/u32-startswith: New file.
110316         * lib/unistr/u8-startswith.c: New file.
110317         * lib/unistr/u16-startswith.c: New file.
110318         * lib/unistr/u32-startswith.c: New file.
110319         * lib/unistr/u-startswith.h: New file.
110321         * modules/unistr/u8-stpcpy: New file.
110322         * modules/unistr/u16-stpcpy: New file.
110323         * modules/unistr/u32-stpcpy: New file.
110324         * lib/unistr/u8-stpcpy.c: New file.
110325         * lib/unistr/u16-stpcpy.c: New file.
110326         * lib/unistr/u32-stpcpy.c: New file.
110327         * lib/unistr/u-stpcpy.h: New file.
110329         * modules/unistr/u8-stpncpy: New file.
110330         * modules/unistr/u16-stpncpy: New file.
110331         * modules/unistr/u32-stpncpy: New file.
110332         * lib/unistr/u8-stpncpy.c: New file.
110333         * lib/unistr/u16-stpncpy.c: New file.
110334         * lib/unistr/u32-stpncpy.c: New file.
110335         * lib/unistr/u-stpncpy.h: New file.
110337         * modules/unistr/u8-strcat: New file.
110338         * modules/unistr/u16-strcat: New file.
110339         * modules/unistr/u32-strcat: New file.
110340         * lib/unistr/u8-strcat.c: New file.
110341         * lib/unistr/u16-strcat.c: New file.
110342         * lib/unistr/u32-strcat.c: New file.
110343         * lib/unistr/u-strcat.h: New file.
110345         * modules/unistr/u8-strchr: New file.
110346         * modules/unistr/u16-strchr: New file.
110347         * modules/unistr/u32-strchr: New file.
110348         * lib/unistr/u8-strchr.c: New file.
110349         * lib/unistr/u16-strchr.c: New file.
110350         * lib/unistr/u32-strchr.c: New file.
110352         * modules/unistr/u8-strcmp: New file.
110353         * modules/unistr/u16-strcmp: New file.
110354         * modules/unistr/u32-strcmp: New file.
110355         * lib/unistr/u8-strcmp.c: New file.
110356         * lib/unistr/u16-strcmp.c: New file.
110357         * lib/unistr/u32-strcmp.c: New file.
110359         * modules/unistr/u8-strcpy: New file.
110360         * modules/unistr/u16-strcpy: New file.
110361         * modules/unistr/u32-strcpy: New file.
110362         * lib/unistr/u8-strcpy.c: New file.
110363         * lib/unistr/u16-strcpy.c: New file.
110364         * lib/unistr/u32-strcpy.c: New file.
110365         * lib/unistr/u-strcpy.h: New file.
110367         * modules/unistr/u8-strcspn: New file.
110368         * modules/unistr/u16-strcspn: New file.
110369         * modules/unistr/u32-strcspn: New file.
110370         * lib/unistr/u8-strcspn.c: New file.
110371         * lib/unistr/u16-strcspn.c: New file.
110372         * lib/unistr/u32-strcspn.c: New file.
110373         * lib/unistr/u-strcspn.h: New file.
110375         * modules/unistr/u8-strdup: New file.
110376         * modules/unistr/u16-strdup: New file.
110377         * modules/unistr/u32-strdup: New file.
110378         * lib/unistr/u8-strdup.c: New file.
110379         * lib/unistr/u16-strdup.c: New file.
110380         * lib/unistr/u32-strdup.c: New file.
110381         * lib/unistr/u-strdup.h: New file.
110383         * modules/unistr/u8-strlen: New file.
110384         * modules/unistr/u16-strlen: New file.
110385         * modules/unistr/u32-strlen: New file.
110386         * lib/unistr/u8-strlen.c: New file.
110387         * lib/unistr/u16-strlen.c: New file.
110388         * lib/unistr/u32-strlen.c: New file.
110389         * lib/unistr/u-strlen.h: New file.
110391         * modules/unistr/u8-strmblen: New file.
110392         * modules/unistr/u16-strmblen: New file.
110393         * modules/unistr/u32-strmblen: New file.
110394         * lib/unistr/u8-strmblen.c: New file.
110395         * lib/unistr/u16-strmblen.c: New file.
110396         * lib/unistr/u32-strmblen.c: New file.
110398         * modules/unistr/u8-strmbtouc: New file.
110399         * modules/unistr/u16-strmbtouc: New file.
110400         * modules/unistr/u32-strmbtouc: New file.
110401         * lib/unistr/u8-strmbtouc.c: New file.
110402         * lib/unistr/u16-strmbtouc.c: New file.
110403         * lib/unistr/u32-strmbtouc.c: New file.
110405         * modules/unistr/u8-strncat: New file.
110406         * modules/unistr/u16-strncat: New file.
110407         * modules/unistr/u32-strncat: New file.
110408         * lib/unistr/u8-strncat.c: New file.
110409         * lib/unistr/u16-strncat.c: New file.
110410         * lib/unistr/u32-strncat.c: New file.
110411         * lib/unistr/u-strncat.h: New file.
110413         * modules/unistr/u8-strncmp: New file.
110414         * modules/unistr/u16-strncmp: New file.
110415         * modules/unistr/u32-strncmp: New file.
110416         * lib/unistr/u8-strncmp.c: New file.
110417         * lib/unistr/u16-strncmp.c: New file.
110418         * lib/unistr/u32-strncmp.c: New file.
110420         * modules/unistr/u8-strncpy: New file.
110421         * modules/unistr/u16-strncpy: New file.
110422         * modules/unistr/u32-strncpy: New file.
110423         * lib/unistr/u8-strncpy.c: New file.
110424         * lib/unistr/u16-strncpy.c: New file.
110425         * lib/unistr/u32-strncpy.c: New file.
110426         * lib/unistr/u-strncpy.h: New file.
110428         * modules/unistr/u8-strnlen: New file.
110429         * modules/unistr/u16-strnlen: New file.
110430         * modules/unistr/u32-strnlen: New file.
110431         * lib/unistr/u8-strnlen.c: New file.
110432         * lib/unistr/u16-strnlen.c: New file.
110433         * lib/unistr/u32-strnlen.c: New file.
110434         * lib/unistr/u-strnlen.h: New file.
110436         * modules/unistr/u8-strpbrk: New file.
110437         * modules/unistr/u16-strpbrk: New file.
110438         * modules/unistr/u32-strpbrk: New file.
110439         * lib/unistr/u8-strpbrk.c: New file.
110440         * lib/unistr/u16-strpbrk.c: New file.
110441         * lib/unistr/u32-strpbrk.c: New file.
110442         * lib/unistr/u-strpbrk.h: New file.
110444         * modules/unistr/u8-strrchr: New file.
110445         * modules/unistr/u16-strrchr: New file.
110446         * modules/unistr/u32-strrchr: New file.
110447         * lib/unistr/u8-strrchr.c: New file.
110448         * lib/unistr/u16-strrchr.c: New file.
110449         * lib/unistr/u32-strrchr.c: New file.
110451         * modules/unistr/u8-strspn: New file.
110452         * modules/unistr/u16-strspn: New file.
110453         * modules/unistr/u32-strspn: New file.
110454         * lib/unistr/u8-strspn.c: New file.
110455         * lib/unistr/u16-strspn.c: New file.
110456         * lib/unistr/u32-strspn.c: New file.
110457         * lib/unistr/u-strspn.h: New file.
110459         * modules/unistr/u8-strstr: New file.
110460         * modules/unistr/u16-strstr: New file.
110461         * modules/unistr/u32-strstr: New file.
110462         * lib/unistr/u8-strstr.c: New file.
110463         * lib/unistr/u16-strstr.c: New file.
110464         * lib/unistr/u32-strstr.c: New file.
110465         * lib/unistr/u-strstr.h: New file.
110467         * modules/unistr/u8-strtok: New file.
110468         * modules/unistr/u16-strtok: New file.
110469         * modules/unistr/u32-strtok: New file.
110470         * lib/unistr/u8-strtok.c: New file.
110471         * lib/unistr/u16-strtok.c: New file.
110472         * lib/unistr/u32-strtok.c: New file.
110473         * lib/unistr/u-strtok.h: New file.
110475         * modules/unistr/u8-uctomb: New file.
110476         * modules/unistr/u16-uctomb: New file.
110477         * modules/unistr/u32-uctomb: New file.
110478         * lib/unistr/u8-uctomb.c: New file.
110479         * lib/unistr/u16-uctomb.c: New file.
110480         * lib/unistr/u32-uctomb.c: New file.
110482         * MODULES.html.sh (Unicode string functions): Add the new modules.
110484 2007-01-08  Bruno Haible  <bruno@clisp.org>
110486         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
110487         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
110488         subdirectories.
110490 2007-01-08  Karl Berry  <karl@gnu.org>
110492         * doc/error.texi: mention that main() fns must set program_name
110493         when progname is used.
110495 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
110497         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
110498         WCTYPE_H is empty, for the benefit of builds from non-distclean
110499         directories.  Problem reported by Eric Blake in
110500         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
110502 2007-01-08  Bruno Haible  <bruno@clisp.org>
110504         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
110505         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
110506         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
110507         PROVIDE_CANONICALIZE_FILENAME_MODE.
110508         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
110510 2007-01-08  Bruno Haible  <bruno@clisp.org>
110512         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
110513         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
110514         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
110515         * lib/fts.c: Likewise.
110516         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
110518 2006-12-25  Bruno Haible  <bruno@clisp.org>
110520         * modules/utf8-ucs4-safe: New file.
110521         * lib/utf8-ucs4-safe.h: New file.
110522         * lib/unistr/utf8-ucs4-safe.c: New file.
110524         * modules/utf16-ucs4-safe: New file.
110525         * lib/utf16-ucs4-safe.h: New file.
110526         * lib/unistr/utf16-ucs4-safe.c: New file.
110528         * MODULES.html.sh (Unicode string functions): Add the new modules.
110530 2007-01-08  Bruno Haible  <bruno@clisp.org>
110532         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
110533         (Depends-on): Add unitypes.
110534         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
110535         (u8_mbtouc_aux): Move out to separate file.
110536         (u8_mbtouc): Use ucs4_t, uint8_t types.
110537         * lib/unistr/utf8-ucs4.c: New file.
110539         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
110540         (Depends-on): Add unitypes.
110541         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
110542         (u16_mbtouc_aux): Move out to separate file.
110543         (u16_mbtouc): Use ucs4_t, uint16_t types.
110544         * lib/unistr/utf16-ucs4.c: New file.
110546         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
110547         (Depends-on): Add unitypes.
110548         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
110549         (u8_uctomb_aux): Move out to separate file.
110550         (u8_uctomb): Use ucs4_t, uint8_t types.
110551         * lib/unistr/ucs4-utf8.c: New file.
110553         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
110554         (Depends-on): Add unitypes.
110555         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
110556         (u16_uctomb_aux): Move out to separate file.
110557         (u16_uctomb): Use ucs4_t, uint16_t types.
110558         * lib/unistr/ucs4-utf16.c: New file.
110560 2006-12-25  Bruno Haible  <bruno@clisp.org>
110562         * modules/unitypes: New file.
110563         * lib/unitypes.h: New file.
110564         * MODULES.html.sh (func_all_modules): New section "Unicode string
110565         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
110566         this section. Add unitypes.
110568 2007-01-08  Bruno Haible  <bruno@clisp.org>
110570         Avoid variable names that conflict with those from libtool.
110571         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
110572         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
110573         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
110574         library_names_spec to acl_library_names_spec, hardcode_* to
110575         acl_hardcode_*.
110576         Reported by Ralf Wildenhues.
110578 2007-01-08  Bruno Haible  <bruno@clisp.org>
110580         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
110581         definition.
110582         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
110583         definition.
110584         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
110585         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
110586         definition.
110587         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
110588         definition.
110589         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
110590         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
110591         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
110592         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
110593         definition.
110594         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
110595         definition.
110596         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
110597         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
110598         GC_USE_<algorithm>.
110599         * lib/gc-libgcrypt.c: Likewise.
110600         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
110601         * modules/gc-arctwo (configure.ac): Likewise.
110602         * modules/gc-des (configure.ac): Likewise.
110603         * modules/gc-hmac-md5 (configure.ac): Likewise.
110604         * modules/gc-hmac-sha1 (configure.ac): Likewise.
110605         * modules/gc-md2 (configure.ac): Likewise.
110606         * modules/gc-md4 (configure.ac): Likewise.
110607         * modules/gc-md5 (configure.ac): Likewise.
110608         * modules/gc-random (configure.ac): Likewise.
110609         * modules/gc-rijndael (configure.ac): Likewise.
110610         * modules/gc-sha1 (configure.ac): Likewise.
110612 2007-01-08  Bruno Haible  <bruno@clisp.org>
110614         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
110615         macro definition.
110616         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
110617         definition.
110618         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
110619         definition.
110620         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
110621         * modules/fcntl-safer (configure.ac): Likewise.
110622         * modules/fopen-safer (configure.ac): Likewise.
110623         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
110624         GNULIB_FWRITEERROR macro definition.
110626 2007-01-08  Bruno Haible  <bruno@clisp.org>
110628         * m4/gnulib-common.m4: New file.
110629         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
110630         (func_get_filelist): Add m4/gnulib-common.m4.
110632 2007-01-08  Bruno Haible  <bruno@clisp.org>
110634         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
110635         command.
110637 2007-01-08  Jim Meyering  <jim@meyering.net>
110639         Use a more robust test for a "can't happen" condition.
110640         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
110641         narrowed the st_size value.  Presuming the "can't happen" condition
110642         is true, that narrowing could conceivably convert an invalid st_size
110643         value into a valid one.  Instead, use a change based on Matthew
110644         Woehlke's original patch.
110646         Slight readability improvement: use an assert-like macro
110647         in place of literal "abort ()" uses.
110648         * lib/fts.c (fts_assert): Define.
110649         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
110650         Use this macro instead of a bare 'abort'.
110652 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
110654         Don't worry about using IRIX 5.3's wctype.h broken definitions;
110655         simply work around them.
110656         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
110657         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
110658         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
110659         declaring.
110660         Don't bother to define as macros, since the standard doesn't require it.
110661         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
110662         longer worry about IRIX 5.3.
110663         (HAVE_WCTYPE_CTMP_BUG): Remove.
110665 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
110667         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
110668         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
110669         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
110670         Problems reported by Georg Schwarz for IRIX 5.3.
110672         * gnulib-tool (autoconf_minversion): Take the maximum version number
110673         found, not the minimum.  Problem reported by James Youngman.
110675 2007-01-03  Karl Berry  <karl@gnu.org>
110677         * doc/error.texi: new file, explaining interaction with progname.
110678         * doc/gnulib.texi: include it.  Update copyright.
110680 2007-01-03  Simon Josefsson  <simon@josefsson.org>
110682         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
110683         AC_CANONICAL_HOST, to improve autobuild outputs.
110685 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
110686             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
110688         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
110689         sockets, server sockets, and other file descriptors.  Count errors
110690         to compute the return value.  Reorder the code a bit to be easier
110691         to follow.  Don't set event bits that were not requested (except
110692         POLLERR and POLLHUP).
110694 2007-01-01  Bruno Haible  <bruno@clisp.org>
110696         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
110698 2007-01-03  Jim Meyering  <jim@meyering.net>
110700         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
110702 2007-01-02  Bruno Haible  <bruno@clisp.org>
110704         * modules/settime (Include): Require timespec.h.
110705         * modules/nanosleep (Include): Likewise.
110707 2007-01-01  Bruno Haible  <bruno@clisp.org>
110709         * gnulib-tool (func_emit_copyright_notice): Bump year.
110710         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
110712 2007-01-01  Bruno Haible  <bruno@clisp.org>
110714         Improve support for OpenBSD.
110715         * build-aux/config.rpath (libname_spec): Export.
110716         (library_names_spec): New variable. Export.
110717         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
110718         library_names_spec from the config.rpath output. Locate shared library
110719         through the name pattern in library_names_spec.
110721 2007-01-01  Eric Blake  <ebb9@byu.net>
110723         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
110725 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
110727         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
110728         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
110729         assume the C locale, and avoid an "eval" that could cause trouble.
110730         Problem with SORT reported by Bob Proulx.
110732         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
110733         Define.  Trivial patch from Henning Nielsen Lund, originally
110734         sent to bug-grep@gnu.org today.
110736 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
110738         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
110739         struct stat.  Problem reported by Henning Nielsen Lund.
110740         * lib/acl.c: Include acl.h first, to check interface.  Don't
110741         bother to include sys/types.h and sys/stat.h again.
110743 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
110745         Import the following change from libc; problem reported by
110746         Sven Verdoolaege.
110748         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
110750         [BZ #1373]
110751         * lib/argp.h: Remove __NTH for __argp_usage inline function.
110753 2006-12-28  Jim Meyering  <jim@meyering.net>
110755         * build-aux/announce-gen: Do not assume that the package
110756         builds any of tar.gz, tar.bz2, and .xdelta files.
110757         Suggestion from Simon Josefsson.
110759 2006-12-28  Simon Josefsson  <simon@josefsson.org>
110761         * modules/announce-gen: New file.
110763 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
110765         * lib/mbchar.h: Just include <wctype.h>; the wctype module
110766         handles its gotchas now.
110767         * lib/mbswidth.c: Likewise.
110768         * lib/wcwidth.h: Likewise.
110769         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
110770         and iswcntrl; the wctype module does this stuff now.
110771         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
110772         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110773         * modules/mbchar (Depends-on): Add wctype.
110774         * modules/mbswidth (Depends-on): Likewise.
110775         * modules/wcwidth (Depends-on): Likewise.
110777 2006-12-27  Eric Blake  <ebb9@byu.net>
110779         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
110780         module uses more than what <wctype.h> is required to provide.
110782 2006-12-26  Eric Blake  <ebb9@byu.net>
110784         * gnulib-tool (sed_extract_prog): Avoid space-tab.
110786 2006-12-26  Eric Blake  <ebb9@byu.net>
110788         * modules/absolute-header: New module.
110789         * modules/fcntl (Depends-on): Depend on it.
110790         * modules/inttypes (Depends-on): Likewise.
110791         * modules/stdint (Depends-on): Likewise.
110792         * modules/sys_stat (Depends-on): Likewise.
110793         * modules/wctype (Depends-on): Likewise.
110794         * MODULES.html.sh (Support for building libraries and
110795         executables): Document it.
110797 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
110799         * gnulib-tool (SED): Remove, undoing previous change.
110800         The problem was that it broke coreutils on Solaris, because
110801         "sed --posix" leaked into a makefile.
110802         (sed): New alias, if 'alias' and GNU sed.
110804 2006-12-24  Jim Meyering  <jim@meyering.net>
110806         Work around an fchownat bug in glibc-2.4:
110807         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
110808         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
110809         in spite of the -P option.
110810         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
110811         New macros.
110812         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
110813         * modules/openat (Files): Add lib/fchownat.c.
110814         * lib/openat.c (fchownat): Don't define here.  Move to...
110815         * lib/fchownat.c: ...this new file.
110817 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
110819         Fix bug reported by Bruno Haible in
110820         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
110821         where quotearg.c didn't compile on Mac OS X 10.2 because it
110822         lacks <wchar.h> and wint_t.
110823         * lib/wctype_.h (__wctype_wint_t): New type.
110824         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
110825         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
110826         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
110827         Arg is now of type __wctype_wint_t, not wint_t.
110828         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
110829         substitute HAVE_WINT_T.
110830         * modules/wctype (Files): Add m4/wint_t.m4.
110831         (wctype.h): Substitute HAVE_WINT_T.
110833 2006-12-23  Bruno Haible  <bruno@clisp.org>
110835         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
110837 2006-12-23  Bruno Haible  <bruno@clisp.org>
110839         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
110840         S_ISLNK.
110841         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
110842         mingw.
110844 2006-12-22  Bruno Haible  <bruno@clisp.org>
110846         * lib/copy-file.c: Include acl.h.
110847         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
110848         Close the file descriptors only after being done with copy_acl.
110849         * modules/copy-file (Depends-on): Add acl.
110851 2006-12-22  Bruno Haible  <bruno@clisp.org>
110853         * gnulib-tool (SED): New variable.
110854         Use $SED instead of sed everywhere.
110856 2006-12-22  Bruno Haible  <bruno@clisp.org>
110858         * modules/no-c++: New file.
110859         * m4/no-c++.m4: New file.
110860         * MODULES.html.sh (Support for building libraries and executables):
110861         Add no-c++.
110863 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
110865         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
110866         Include <limits.h>, and use its INT_MAX to rewrite the
110867         j loop so that it does not overflow 'int'.  Problem reported by
110868         Ralf Wildenhues in
110869         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
110870         Play it safe by shifting left by 1 rather than multiplying by 2,
110871         as GCC is less likely to optimize this away when the value
110872         is signed (when it assumes overflow leads to undefined behavior).
110873         Also, don't assume time_t uses two's complement.
110875 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
110877         * MODULES.html.sh: New module wctype.
110878         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
110879         * lib/fnmatch.c: Don't bother to include <wchar.h> before
110880         <wctype.h>, since the new wctype module should fix this.
110881         * lib/quotearg.c: Include <wctype.h> unconditionally, since
110882         the wctype module should arrange for it.
110883         * lib/regex_internal.h: Likewise.
110884         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
110885         since the wctype module should handle this now.
110886         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
110887         * modules/fnmatch (Depends-on): Add wctype.
110888         * modules/quotearg (Depends-on): Likewise.
110889         * modules/regex (Depends-on): Likewise.
110891 2006-12-19  Bruno Haible  <bruno@clisp.org>
110893         * lib/strdup.h [C++]: Wrap definitions in extern "C".
110894         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
110896 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110898         * modules/savewd (Depends-on): Fix dependency on fcntl.
110900 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110902         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
110903         conforms to C99, rather than relying on the user's environment
110904         setting of STDINT_H.
110906 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110907         and Eric Blake  <ebb9@byu.net>
110909         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
110910         This is more consistent with the other defines here.
110911         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
110912         Port to z/OS.  Problem reported by Paul Gilmartin.
110913         Change local vars to use gl_ prefix rather than ac_.
110914         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
110915         with other defines.
110916         * modules/double-slash-root: New module.
110917         * modules/dirname (Files): Remove m4/double-slash-root.m4.
110918         (Depends-on): Add double-slash-root.
110919         * MODULES.html.sh (File system functions): Mention new module.
110921 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
110923         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
110924         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
110925         This is for the benefit of gzip, which doesn't do i18n.
110927 2006-12-12  Jim Meyering  <jim@meyering.net>
110929         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
110930         Reported by Andreas Schwab <schwab@suse.de>.
110932 2006-12-12  Bruno Haible  <bruno@clisp.org>
110934         Merge these changes.
110935         2006-09-05  Bruno Haible  <bruno@clisp.org>
110936         * lib/iconvme.c (iconv_string): No need to save and restore errno when
110937         iconv_alloc succeeded.
110938         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
110939         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
110940         test for " && dest " at the end - dest is always != NULL there. Call
110941         iconv with 4xNULL arguments initially, to reset the state. Call iconv
110942         with 2xNULL arguments, also to flush the state storage. Handle the
110943         IRIX iconv behaviour. Realloc the final result, to throw away unused
110944         memory.
110946 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
110948         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
110949         and fchmodat unconditionally, since glibc 2.4 has them.
110950         Problem reported by Arkadiusz Miskiewicz.
110952 2006-12-10  Bruno Haible  <bruno@clisp.org>
110954         * gnulib-tool (func_import): Show the include files only for those
110955         modules that are copied and specified.
110956         Reported by Karl Berry.
110958 2006-12-08  Jim Meyering  <jim@meyering.net>
110960         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
110961         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
110963         * build-aux/announce-gen: Add two new options, both optional:
110964         --bootstrap-tools=TOOL_LIST
110965               a comma-separated list of tools, e.g.,
110966               autoconf,automake,bison,gnulib
110967         --gnulib-snapshot-date=DATE
110968               if gnulib is in the bootstrap tool list,
110969               then report this as the snapshot date.
110970               If not specified, use the current date/time.
110971               If you specify a date here, be sure it's UTC.
110973 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110975         * tests/test-argp-2.sh: Fix test to match actual output.
110976         (func_compare): Fix sed script to be portable.
110978 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
110980         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
110981         workaround for this case.  It is not autoconfigured now; offhand
110982         it's hard to see how to autoconfigure it.
110984 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
110986         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
110987         a directory that is about to be chowned.  Such a directory's
110988         initial file permissions should permit the owner only and this
110989         should not be changed until after the chown, since the group and
110990         other bits would be incorrect if they granted permission before
110991         the chown.
110993         Fix porting problem for iswctype reported by Georg Schwarz in:
110994         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
110995         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
110996         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
110997         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
110998         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
111000 2006-12-03  Jim Meyering  <jim@meyering.net>
111002         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
111003         p->fts_statp may not yet be defined.
111004         (fts_read): Instead, set it in the caller, once p->fts_statp is
111005         sure to be defined, and corresponds to a top-level directory.
111006         This bug made du -x fail.  Here's the coreutils test case:
111007         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
111008         Reported by Mike Frysinger.
111010 2006-12-01  Jim Meyering  <jim@meyering.net>
111012         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
111013         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
111014         Reported by Simon Josefsson.
111016 2006-11-30  Jim Meyering  <jim@meyering.net>
111018         * m4/warning.m4: Use the all-permissive copyright notice
111019         recommended by RMS (rather than LGPL).
111020         * m4/vararrays.m4: Likewise.
111021         * m4/flexmember.m4: Likewise.
111023 2006-11-29  Bruno Haible  <bruno@clisp.org>
111025         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111026         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
111027         using +=.
111028         Reported by Simon Josefsson <simon@josefsson.org>.
111030 2006-11-28  James Youngman  <jay@gnu.org>
111032         * README: Advise users that they might find the bug-gnulib@gnu.org
111033         and autotools-announce@gnu.org mailing lists useful.
111035 2006-11-28  Bruno Haible  <bruno@clisp.org>
111037         * m4/ptrdiff_max.m4: Remove file.
111039 2006-11-21  Bruno Haible  <bruno@clisp.org>
111041         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
111042         _AC_COMPUTE_INT.
111043         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111044         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
111045         _AC_COMPUTE_INT.
111046         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111047         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
111048         _AC_COMPUTE_INT.
111049         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111051 2006-11-28  Jim Meyering  <jim@meyering.net>
111053         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
111054         warning from "gcc -Wshadow" about shadowing the builtin.
111056 2006-11-27  Bruno Haible  <bruno@clisp.org>
111058         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
111059         _AC_COMPUTE_INT.
111060         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
111062 2006-11-27  Bruno Haible  <bruno@clisp.org>
111063             Paul Eggert  <eggert@cs.ucla.edu>
111065         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
111067 2006-11-26  Bruno Haible  <bruno@clisp.org>
111069         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
111070         noinst_LTLIBRARIES.
111072 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
111073             Bruno Haible  <bruno@clisp.org>
111075         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
111076         if compiling with "gcc -ansi".
111078 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
111080         Fix some incompatibilities with gcc -ansi -pedantic.
111081         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
111082         if compiling pedantically with GCC, unless it's C99 or later.
111083         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
111084         it mishandles gcc -ansi -pedantic as well.
111085         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
111086         if gcc -pedantic.
111087         * lib/regexec.c (check_node_accept_bytes): Don't use auto
111088         initializers for struct if -pedantic, unless it's C99 or later.
111090 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
111092         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
111093         Don't close an fd more than once. Identical atimes indicate
111094         success, not failure.
111096 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
111098         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
111100 2006-11-23  Jim Meyering  <jim@meyering.net>
111102         * build-aux/announce-gen: New file.  From coreutils.
111104 2006-11-22  Jim Meyering  <jim@meyering.net>
111106         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
111107         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
111108         (fts_read): Use a temporary to narrow the overused st_size member
111109         before using it in a switch statement.  Reported by Matthew Woehlke.
111111         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
111112         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
111114 2006-11-20  Bruno Haible  <bruno@clisp.org>
111116         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
111117         changequote instead of pairs of brackets.
111118         Reported by Andreas Schwab <schwab@suse.de>.
111120 2006-11-21  Jim Meyering  <jim@meyering.net>
111122         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
111123         so as to remain compatible with older compilers.
111124         Patch from Michael Deutschmann.
111126 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111128         * MODULES.html.sh (File system functions): Add openat.
111130         * lib/openat.h (rpl_fstatat): New macro, if
111131         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
111132         (fstatat): Define to rpl_fstatat under the same conditions,
111133         unless COMPILING_FSTATAT.
111134         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
111135         seems to have the bug.
111136         * lib/fstatat.c: New file.
111137         * modules/openat (Files): Add it.
111139 2006-11-20  Bruno Haible  <bruno@clisp.org>
111141         * Makefile: New file.
111143 2006-11-20  Jim Meyering  <jim@meyering.net>
111145         The beginnings of syntax-related checks for gnulib.
111146         * lib/Makefile: New file.
111147         * lib/t-idcache: New script.  Ensure that the two halves of
111148         idcache.c stay in sync.
111150         * lib/idcache.c: Adjust comments in user- and group- portions to
111151         be more accurate, and to be consistent with one another.
111153 2006-11-20  Jim Meyering  <jim@meyering.net>
111155         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
111156         continue using the flexible array member (thus, this module performs
111157         half as many malloc calls), with the addition that...
111158         (getgroup, getuser): Consistently record a non-match via an empty
111159         "name" string, and map an empty string match to a NULL return value.
111160         * modules/idcache (Depends-on): Re-add flexmember.
111162         * lib/idcache.c (getuser): Remove all uses of the register keyword.
111163         (getuidbyname, getgroup, getgidbyname): Likewise.
111165         Use cleaner syntax: NULL rather than 0.
111166         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
111168 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
111170         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
111171         It mishandled the case where the group was missing.
111172         Problem reported by Greg Schafer.
111173         * modules/idcache: Likewise.
111175 2006-11-18  Jim Meyering  <jim@meyering.net>
111177         * check-module (%exempt_header): Add exception for some
111178         conditionally-included headers.
111180         * modules/i-ring (Depends-on): Add verify.
111181         (License): Change to LGPL.
111183 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
111185         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
111186         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
111187         and inttostr.h.  Use snprintf rather than uinttostr, so that
111188         LGPLed code doesn't depend on GPLed.
111190 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
111192         * modules/inline (License): Change from GPL to LGPL.
111194 2006-11-17  Jim Meyering  <jim@meyering.net>
111196         * modules/d-type (License): Switch to LGPL.
111198 2006-11-15  Bruno Haible  <bruno@clisp.org>
111200         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
111202 2006-11-15  Eric Blake  <ebb9@byu.net>
111204         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
111205         the module dependency.
111207 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
111208             Bruno Haible  <bruno@clisp.org>
111210         * gnulib-tool (func_create_testdir): Add license consistency check.
111212 2006-11-15  Eric Blake  <ebb9@byu.net>
111214         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
111215         random "(cached)" in configure output.
111217 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111219         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
111220         test for conforming inttypes.h is both announced and cached.
111222         * MODULES.html.sh (seen_modules, seen_files): New variables.
111223         (func_module): Rewrite to use a few less gnulib-tool and sed
111224         invocations.  Avoid a couple of quadratic algorithms for ...
111225         (missed_modules, missed_files): ... these, with ...
111226         (func_append, func_tmpdir): ... these new functions, from
111227         gnulib-tool.  Analogously, install traps for cleanup.
111229         * tests/test-gc.c (main): Remove unused variables.
111230         * tests/test-read-file.c: Include stdlib.h, for 'free'.
111232 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
111234         * modules/inttostr (License): Change to LGPL.
111236 2006-11-14  Eric Blake  <ebb9@byu.net>
111238         * modules/tempname (License): Change to LGPL.
111240 2006-11-14  Eric Blake  <ebb9@byu.net>
111242         * doc/functions.texi (Function Portability): *printf functions on
111243         Cygwin now understand all POSIX size specifiers.
111245 2006-11-14  Bruno Haible  <bruno@clisp.org>
111247         * modules/c-ctype (License): Change to LGPL.
111249 2006-11-12  Bruno Haible  <bruno@clisp.org>
111251         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
111252         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
111253         for GNOME libraries, for which the include files are installed in
111254         subdirectories of $prefix/include.
111256 2006-11-12  Bruno Haible  <bruno@clisp.org>
111258         * m4/lib-link.m4: Require at least autoconf-2.54.
111259         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
111260         name to underscores for the --with option.
111262 2006-11-13  Bruno Haible  <bruno@clisp.org>
111264         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
111265         the tests directory.
111266         Reported by Ralf Wildenhues.
111268 2006-11-13  Bruno Haible  <bruno@clisp.org>
111270         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
111271         (func_emit_initmacro_end): Undo the override here.
111272         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
111273         Works around the famous automake error in coreutils.
111275 2006-11-13  Eric Blake  <ebb9@byu.net>
111277         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
111278         element, not its node.
111280 2006-11-12  Bruno Haible  <bruno@clisp.org>
111282         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
111283         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
111285 2006-11-12  Bruno Haible  <bruno@clisp.org>
111287         * gnulib-tool: New option --local-symlink.
111288         (func_usage): Document it.
111289         (lsymbolic): New variable.
111290         (func_import, func_create_testdir): If --symlink was not specified,
111291         test whether --local-symlink was specified and the file comes from
111292         the local_gnulib_dir.
111294 2006-11-12  Bruno Haible  <bruno@clisp.org>
111296         * gnulib-tool (func_ln): New function.
111297         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
111299 2006-11-12  Bruno Haible  <bruno@clisp.org>
111301         Finish support for source files in subdirectories.
111302         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
111303         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
111304         AUTOMAKE_OPTIONS.
111305         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
111307 2006-11-12  Bruno Haible  <bruno@clisp.org>
111309         * gnulib-tool (func_get_automake_snippet): Synthesize also an
111310         EXTRA_lib_SOURCES augmentation.
111311         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
111313 2006-11-12  Jim Meyering  <jim@meyering.net>
111315         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
111316         file descriptors.  This also averts a failure on systems with
111317         native openat support when a traversed directory lacks "x" access.
111318         * lib/fts_.h: Include "i-ring.h"
111319         (struct FTS) [fts_fd_ring]: New member.
111320         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
111321         (FCHDIR): Add parentheses.
111322         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
111323         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
111324         When descending, rather than simply closing the previous
111325         fts_cwd_fd value, push that file descriptor onto the ring.
111326         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
111327         (fts_open): Initialize the new fd_ring member.
111328         (fts_close): Clear the ring.
111329         (fts_safe_changedir): When possible, use our new fd_ring to skip
111330         the diropen and fstat and dev/ino comparison that would normally
111331         accompany a virtual `chdir ("..")'.
111333         * modules/fts (Depends-on): Add i-ring.
111334         * modules/i-ring: New module.
111335         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
111336         * m4/i-ring.m4: New file.
111338 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111340         * gnulib-tool (func_create_testdir): Fix replacement of
111341         `build-aux' in configure.ac.  Run autotools in gltests
111342         subdirectory.
111343         (func_create_testdir, func_create_megatestdir, test): There is
111344         no need for '--force' in most autotool invocations in a new
111345         tree.  Actually fail the whole test if any of the tools, or the
111346         configure or make stages fail.
111348         Sync from Automake.
111349         * build-aux/gnupload: Revert last change.  Add pointer to upload
111350         instructions of the GNU Maintenance Instructions.
111351         Suggestion by Karl Berry.
111353 2006-11-10  Jim Meyering  <jim@meyering.net>
111355         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
111357 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111359         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
111360         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
111361         (bind_textdomain_codeset) [! ENABLE_NLS]:
111362         Evaluate all the arguments.  That way, callers get compatible behavior
111363         if the arguments have side effects.  Also, it avoids some GCC
111364         diagnostics in some cases; Joel E. Denny reported problems when Bison
111365         was configured with --enable-gcc-warnigs.
111367 2006-11-10  Jim Meyering  <jim@meyering.net>
111369         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
111370         relevant options in CFLAGS (like -O, -fno-inline) are taken into
111371         account.
111373 2006-11-10  Jim Meyering  <jim@meyering.net>
111375         * modules/inline: New file/module.
111376         * modules/xalloc (Files): Remove m4/inline.m4.
111377         (Depends-on): Add inline, instead.
111378         * modules/oset: Likewise.
111379         * modules/list: Likewise.
111381 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
111383         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
111384         Problem reported by Matthew Woehlke.
111386 2006-11-09  Bruno Haible  <bruno@clisp.org>
111388         * lib/tempname.c (gen_tempname): Remove variant that invokes
111389         __gen_tempname.
111390         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
111391         __gen_tempname.
111393 2006-11-08  Bruno Haible  <bruno@clisp.org>
111395         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
111396         to 'yes' instead of 'cross-compiling'.
111398 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
111400         * lib/quotearg.h (quotearg_free): New decl.
111401         * lib/quotearg.c (quotearg_free): New function.
111402         (slot0, nslots, slotvec0, slotvec):
111403         Now file-scope so that quotearg_free can get at them.
111405 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111407         Sync from Automake.
111408         * build-aux/gnupload: Add missing 'gnu' to example URL.
111409         Report by Karl Berry.
111411 2006-11-08  Bruno Haible  <bruno@clisp.org>
111413         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
111414         Suggested by Paul Eggert.
111416 2006-11-08  Jim Meyering  <jim@meyering.net>
111418         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
111419         It's already included if !_LIBC.
111420         (fts_safe_changedir): Add a comment.
111422 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111424         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
111425         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
111426         Matthew Woehlke.
111428         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
111429         definitions up, to avoid colliding with change below.
111430         (static_inline) [HAVE_INLINE]: New macro.
111431         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
111432         Provide extern decls when !HAVE_INLINE.  Do not define unless
111433         static_inline is defined, either by us or by xmalloc.c.  Use
111434         static_inline rather than static inline.
111435         (XCALLOC): Optimize sizeof(T) = 1 case.
111436         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
111438 2006-11-07  Bruno Haible  <bruno@clisp.org>
111440         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
111441         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
111442         AC_C_INLINE.
111443         * modules/xalloc (Files): Add m4/inline.m4.
111445 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111447         * README: Fix typo.
111448         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
111449         (Miscellanous Notes): ...from this.
111451 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
111453         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
111454         Mention that offsetof should be used instead of sizeof.
111455         From Bruno Haible.
111457 2006-11-07  Bruno Haible  <bruno@clisp.org>
111459         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
111461 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111463         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111464         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
111465         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111466         (gl_tree_add_before, gl_tree_add_after):
111467         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
111468         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
111469         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
111470         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
111471         (gl_linked_add_after, gl_linked_add_at): Likewise.
111472         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
111473         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
111474         (gl_tree_add_before, gl_tree_add_after): Likewise.
111475         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
111476         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
111477         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
111479 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111481         * lib/gl_oset.h: Use C comment style, not C++ comment style.
111483 2006-11-06  Bruno Haible  <bruno@clisp.org>
111485         * m4/inline.m4: New file.
111486         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
111487         * modules/list (Files): Add m4/inline.m4.
111488         * modules/oset (Files): Likewise.
111490 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
111492         * lib/idcache.c: Include <stddef.h>, for offsetof.
111493         (struct userid.name): Change from char * to a flexible array member.
111494         All uses changed.
111495         * modules/idcache (Depends-on): Add flexmember.
111497         * MODULES.html.sh (Core language properties): New module flexmember.
111498         * modules/flexmember, m4/flexmember.m4: New files.
111500         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
111501         inline functions that are identical with the old xnmalloc_inline,
111502         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
111503         that we can avoid some unnecessary integer multiplications and
111504         divisions in the common case where the element size is known at
111505         compile time.
111506         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
111507         needed.
111508         (xnboundedmalloc): Remove.
111509         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
111510         arguments, for consistency with rest of this header.
111511         (xcharalloc): Rewrite using XNMALLOC.
111512         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
111513         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
111514         versions have been moved to lib/xalloc.h and renamed to be the
111515         non-*_inline versions.
111516         (xmalloc, xrealloc): Implement without reference to the xnmalloc
111517         and xnrealloc functions, since those functions are now inline and
111518         now call us.
111519         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
111520         renaming described above.
111521         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
111522         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
111523         captures the dependency in AC_C_INLINE.
111525         New module canonicalize-lgpl, proposed by Charles Wilson in
111526         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
111527         with a few small changes afterwards.
111528         * MODULES.html.sh (File system functions): New module
111529         canonicalize-lgpl.
111530         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
111531         and canonicalize_file_name.
111532         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
111533         * modules/canonicalize-lgpl: New files.
111535 2006-11-05  Bruno Haible  <bruno@clisp.org>
111537         * gnulib-tool (func_import, func_create_testdir): Create directories
111538         also for files in subdirectories of lib/.
111540 2006-11-05  Bruno Haible  <bruno@clisp.org>
111542         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
111543         ANSI C compliant.
111545 2006-11-03  Bruno Haible  <bruno@clisp.org>
111547         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
111548         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
111549         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
111550         (xnboundedmalloc): New inline function.
111551         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
111552         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
111553         xmalloc.
111554         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
111555         xmalloc.
111556         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
111557         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
111558         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
111559         xmalloc.
111560         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111561         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
111562         xmalloc.
111563         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
111564         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111565         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
111566         xmalloc.
111567         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111568         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
111569         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111570         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
111571         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
111572         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
111573         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
111575 2006-11-03  Bruno Haible  <bruno@clisp.org>
111577         * lib/c-ctype.h [C++]: Define functions without name mangling.
111578         * lib/fwriteerror.h [C++]: Likewise.
111579         * lib/gcd.h [C++]: Likewise.
111580         * lib/linebreak.h [C++]: Likewise.
111582 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
111584         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
111585         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
111586         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
111587         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
111588         Check for functions and headers just once.
111589         Check for declaration of canonicalize_file_name.
111590         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
111592 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111594         * gnulib-tool (func_import): Fix typo in actioncmd.
111596 2006-11-02  Bruno Haible  <bruno@clisp.org>
111598         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
111599         newline sequence in the Makefile.am snippet as a space, like "make"
111600         does.
111601         Reported by Roger Persson <perrog@gmail.com>.
111603 2006-11-01  Bruno Haible  <bruno@clisp.org>
111605         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
111606         already declared in <string.h>.
111607         * lib/strcase.h (strncasecmp): Don't declare it if yes.
111609 2006-11-01  Bruno Haible  <bruno@clisp.org>
111611         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
111612         * lib/strcase.h: Include <string.h>.
111613         (strcasecmp): Define to rpl_strcasecmp here.
111615 2006-11-01  Bruno Haible  <bruno@clisp.org>
111617         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
111619 2006-11-01  Eric Blake  <ebb9@byu.net>
111621         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
111623         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
111625 2006-10-29  Bruno Haible  <bruno@clisp.org>
111627         Make it compile in C++ mode.
111628         * lib/full-write.c (full_rw): Add a cast.
111630 2006-11-01  Bruno Haible  <bruno@clisp.org>
111632         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
111633         be POSIX compliant.
111634         Reported by Roger Persson <perrog@gmail.com>.
111636 2006-11-01  Eric Blake  <ebb9@byu.net>
111638         * lib/getopt_.h: Fix comments.
111640 2006-10-31  Eric Blake  <ebb9@byu.net>
111642         * modules/tmpdir (Depends-on): Add sys_stat.
111643         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
111644         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
111645         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
111646         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
111647         tempname.
111649 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
111651         Avoid some C++ diagnostics reported by Bruno Haible.
111652         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
111653         xmalloc.
111654         (quotearg_alloc): Use xcharalloc rather than xmalloc.
111655         (struct slotvec): Move to top level.
111656         (quotearg_n_options): Rewrite to avoid xmalloc.
111657         * lib/xalloc.h (xcharalloc): New function.
111658         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
111659         [defined __cplusplus]: Add function template that provides result
111660         type propagation.  This part of the change is from Bruno Haible.
111662 2006-10-29  Bruno Haible  <bruno@clisp.org>
111664         Make it compile in C++ mode.
111665         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
111666         * lib/strnlen1.c (strnlen1): Cast memchr result.
111667         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
111668         * lib/clean-temp.c (string_equals, string_hash): Add casts.
111669         (create_temp_dir): Rename local variable 'template'.
111670         (compile_csharp_using_sscli): Add cast.
111671         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
111672         * lib/findprog.c (find_in_path): Likewise.
111673         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
111674         * lib/wait-process.c (register_slave_subprocess): Likewise.
111676 2006-10-22  Bruno Haible  <bruno@clisp.org>
111678         * modules/tsearch: New file.
111679         * lib/tsearch.h: New file.
111680         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
111681         * m4/tsearch.m4: New file.
111682         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
111684 2006-10-29  Eric Blake  <ebb9@byu.net>
111686         * lib/arcfour.c: Assume config.h.
111687         * lib/arctwo.c: Likewise.
111688         * lib/base64.c: Likewise.
111689         * lib/check-version.c: Likewise.
111690         * lib/crc.c: Likewise.
111691         * lib/des.c: Likewise.
111692         * lib/gc-gnulib.c: Likewise.
111693         * lib/gc-libgcrypt.c: Likewise.
111694         * lib/gc-pbkdf2-sha1.c: Likewise.
111695         * lib/getaddrinfo.c: Likewise.
111696         * lib/getdelim.c: Likewise.
111697         * lib/getline.c: Likewise.
111698         * lib/hmac-md5.c: Likewise.
111699         * lib/hmac-sha1.c: Likewise.
111700         * lib/iconvme.c: Likewise.
111701         * lib/md2.c: Likewise.
111702         * lib/md4.c: Likewise.
111703         * lib/memxor.c: Likewise.
111704         * lib/read-file.c: Likewise.
111705         * lib/readline.c: Likewise.
111706         * lib/rijndael-alg-fst.c: Likewise.
111707         * lib/rijndael-api-fst.c: Likewise.
111708         * lib/xgetdomainname.c: Likewise.
111710 2006-10-28  Eric Blake  <ebb9@byu.net>
111712         * lib/xstrndup.c: Assume config.h.
111714 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
111716         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
111717         stat-macros.h is now for our own macros, whereas stat_h is for
111718         macros in the <sys/stat.h> name space.
111719         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
111720         (STAT_MACROS_H): Remove.
111721         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
111722         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
111723         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
111724         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
111725         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
111726         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
111727         Move these macros to ...
111728         * lib/stat_.h: here.  Don't include stat-macros.h.
111729         * lib/canonicalize.c: Don't include stat-macros.h.
111730         * lib/chown.c: Likewise.
111731         * lib/euidaccess.c: Likewise.
111732         * lib/file-type.c: Likewise.
111733         * lib/filemode.c: Likewise.
111734         * lib/glob.c: Likewise.
111735         * lib/isapipe.c: Likewise.
111736         * lib/lchown.c: Likewise.
111737         * lib/lstat.c: Likewise.
111738         * lib/mkdir-p.c: Likewise.
111739         * lib/rmdir.c: Likewise.
111740         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
111741         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
111742         unless mkdir isn't declared, to speed up 'configure'.
111743         Always create sys/stat.h, since it's unlikely any real sys/stat.h
111744         would define all the S_* symbols.
111745         * modules/canonicalize (Depends-on):
111746         Depend on sys_stat, not stat-macros.
111747         * modules/chown: Likewise.
111748         * modules/euidaccess: Likewise.
111749         * modules/filemode: Likewise.
111750         * modules/file-type: Likewise.
111751         * modules/glob: Likewise.
111752         * modules/isapipe: Likewise.
111753         * modules/lchown: Likewise.
111754         * modules/lstat: Likewise.
111755         * modules/mkancesdirs: Likewise.
111756         * modules/rmdir: Likewise.
111757         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
111758         * modules/modechange: Likewise.
111759         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
111760         (configure.ac): Remove gl_STAT_MACROS.
111761         * modules/sys_stat (Depends-on): Remove stat-macros.
111763 2006-10-27  Bruno Haible  <bruno@clisp.org>
111765         * m4/signed.m4: Remove file.
111766         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
111767         invocation.
111768         * modules/vasnprintf (Files): Remove m4/signed.m4.
111770 2006-10-27  Bruno Haible  <bruno@clisp.org>
111772         Update to GNU gettext 0.16.
111773         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
111774         m4/inttypes-h.m4, m4/signed.m4.
111775         * m4/gettext.m4: Update to GNU gettext 0.16.
111776         * m4/intl.m4: New file, from GNU gettext.
111777         * m4/intldir.m4: New file, from GNU gettext.
111778         * config/srclist.txt: Update
111780 2006-10-27  Eric Blake  <ebb9@byu.net>
111782         * MODULES.html.sh: Document tempname.
111783         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
111784         dependencies.
111785         (Files): Move lib/tempname.c...
111786         * modules/tempname: ...to this new module.
111787         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
111788         (gl_PREREQ_TEMPNAME): Move...
111789         * m4/tempname.m4: ...to this new file.
111790         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
111791         * modules/sys_stat (Depends-on): Add stat-macros.
111792         * lib/stat_.h (includes): Pick up stat macros.
111793         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
111794         if stat macros are broken.
111795         * lib/tempname.c (includes): No need to include "stat-macros.h".
111796         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
111797         (direxists, __path_search) [!_LIBC]: Don't compile these in
111798         gnulib; the tmpdir module covers that.
111799         * lib/tempname.h: New file.
111801 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
111803         * COPYING: Explain how gnulib-tool converts licence headers.
111804         Almost all wording by Eric Blake.
111806 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
111808         * lib/mbchar.h (is_basic_table): Make read-only.
111809         * lib/mbchar.c (is_basic_table): Likewise.
111810         Reported by John Darrington.
111812 2006-10-25  Bruno Haible  <bruno@clisp.org>
111814         * lib/progname.h (set_program_name): Undefine before defining.
111816 2006-10-25  Bruno Haible  <bruno@clisp.org>
111818         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
111819         false for non-gcc C++ compilers.
111820         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
111822 2006-10-24  Bruno Haible  <bruno@clisp.org>
111824         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
111825         iconv implementations like Irix iconv.
111827 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111829         * modules/vararrays: New file.
111830         * m4/vararrays.m4: New file, taken from diffutils.
111831         * MODULES.html.sh: New module vararrays.
111833 2006-10-24  Karl Berry  <karl@gnu.org>
111835         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
111836         Don't call GNU Unix.
111838 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111840         * users.txt: Add Libtool.
111842         Sync from Libtool:
111844         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111846         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
111847         to gnulib's policy of including config.h unconditionally.
111849 2006-10-24  Bruno Haible  <bruno@clisp.org>
111851         * modules/wcwidth (Files): Add m4/wint_t.m4.
111852         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
111853         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
111855 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111857         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
111858         to pacify GCC with some -W flags enabled.  Problem reported by
111859         Bruno Haible.
111861 2006-10-24  Jim Meyering  <jim@meyering.net>
111863         * MODULES.html.sh: Remove uinttostr.  It's not a module.
111864         Reported by Karl Berry.
111866 2006-10-23  Bruno Haible  <bruno@clisp.org>
111868         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
111870 2006-10-24  Bruno Haible  <bruno@clisp.org>
111872         * lib/gl_list.h: Use C comment style, not C++ comment style.
111874 2006-10-23  Eric Blake  <ebb9@byu.net>
111876         * lib/getaddrinfo.c (includes): Add missing include.
111878 2006-10-23  Bruno Haible  <bruno@clisp.org>
111879             Paul Eggert  <eggert@cs.ucla.edu>
111881         Ability to rename obstack_free.
111882         * lib/obstack.h (__obstack_free): New macro. Declare instead of
111883         obstack_free.
111884         (obstack_free): Invoke the __obstack_free macro.
111885         * lib/obstack.c (obstack_free): Use __obstack_free macro.
111887 2006-10-23  Bruno Haible  <bruno@clisp.org>
111888             Paul Eggert  <eggert@cs.ucla.edu>
111890         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
111891         __argc, __argv from the declaration. (They are defined as macros on
111892         mingw.)
111894 2006-10-22  Bruno Haible  <bruno@clisp.org>
111896         * doc/gnulib-intro.texi: New file.
111897         * doc/gnulib.texi: Include it.
111899 2006-10-21  Bruno Haible  <bruno@clisp.org>
111901         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
111902         "Introduction", "Miscellanous Notes", "Particular Modules".
111904 2006-10-21  Bruno Haible  <bruno@clisp.org>
111906         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111907         Change mostlyclean-local rule to avoid sh syntax error from bash
111908         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
111910 2006-10-23  Jim Meyering  <jim@meyering.net>
111912         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
111913         in place of snprintf.
111915         * modules/inttostr (Files): Add lib/uinttostr.c.
111916         * lib/uinttostr.c (inttostr): New file/function.
111917         * lib/inttostr.h (uinttostr): Declare.
111918         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
111919         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
111920         Add uinttostr.
111921         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
111923 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111925         * lib/canonicalize.c (ELOOP): Define if not already defined.
111926         Problem reported by Bruno Haible in
111927         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
111929 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111931         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
111932         Problem reported by Perry Smith and Ville Laurikari.
111934         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
111935         uses.
111937 2006-10-19  Bruno Haible  <bruno@clisp.org>
111939         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
111940         for mingw.
111942 2006-10-19  Bruno Haible  <bruno@clisp.org>
111944         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
111945         Needed for mingw.
111947 2006-10-19  Bruno Haible  <bruno@clisp.org>
111949         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
111951 2006-10-19  Bruno Haible  <bruno@clisp.org>
111953         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
111954         it.
111956 2006-10-19  Bruno Haible  <bruno@clisp.org>
111958         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
111959         invocation.
111961 2006-10-19  Bruno Haible  <bruno@clisp.org>
111963         * gnulib-tool (func_create_testdir): Don't include ftruncate and
111964         mountlist by default.
111966 2006-10-16  Bruno Haible  <bruno@clisp.org>
111968         * lib/c-strstr.c: Include c-strstr.h.
111970 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111972         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
111973         in a slash.
111975 2006-10-18  Bruno Haible  <bruno@clisp.org>
111977         * lib/lock.h [C++]: Wrap definitions in extern "C".
111979 2006-10-18  Bruno Haible  <bruno@clisp.org>
111981         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
111982         gl_LIBOBJS list.
111984 2006-10-18  Bruno Haible  <bruno@clisp.org>
111986         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
111988 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
111990         * lib/xstrtol.h: Include gettext.h.
111991         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
111992         Problem reported by Eric Blake.
111993         * modules/xstrtol (Depends-on): Add gettext-h.
111995 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
111997         * lib/strftime.c (advance): New macro.
111998         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
111999         incomplete type, so you can't add 0 to it.  Problem and patch
112000         reported by Eelco Dolstra for dietlibc.
112002 2006-10-18  Jim Meyering  <jim@meyering.net>
112004         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
112005         type for a local, and rename it: s/up/user_proc/.
112007 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
112009         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
112010         READ_UTMP_USER_PROCESS.
112011         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
112013 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
112015         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
112016         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
112018 2006-10-17  Eric Blake  <ebb9@byu.net>
112020         * lib/sigprocmask.c (sigprocmask): Fix typo.
112022         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
112024         * modules/clean-temp (Makefile.am): Don't add to make output...
112025         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
112026         config.h.
112028 2006-10-17  Bruno Haible  <bruno@clisp.org>
112030         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
112031         differently if DEFAULT_TEXT_DOMAIN is set.
112033 2006-10-16  Bruno Haible  <bruno@clisp.org>
112035         * lib/clean-temp.c: Include fwriteerror.h.
112037 2006-10-16  Bruno Haible  <bruno@clisp.org>
112039         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
112041 2006-10-16  Bruno Haible  <bruno@clisp.org>
112043         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
112044         * lib/sigprocmask.h: Include <sys/types.h>.
112045         (sigset_t): Use the system's definition if present.
112047 2006-10-17  Eric Blake  <ebb9@byu.net>
112049         * lib/xvasprintf.c (includes): Assume config.h.
112050         * lib/xasprintf.c (includes): Likewise.
112052 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
112054         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
112055         at least as wide as intmax_t.
112057 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
112059         (Imported from Automake.)
112060         * build-aux/gnupload: Update to version 1.1 of directive file.
112062 2006-10-16  Eric Blake  <ebb9@byu.net>
112064         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
112065         match Automake 1.10a.
112067 2006-10-14  Bruno Haible  <bruno@clisp.org>
112069         * modules/sigprocmask: New file.
112070         * lib/sigprocmask.h: New file.
112071         * lib/sigprocmask.c: New file.
112072         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
112073         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
112074         request sigprocmask.o.
112075         (gl_PREREQ_SIGPROCMASK): New macro.
112076         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
112077         (Depends-on): Add sigprocmask.
112078         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
112079         gt_SIGNALBLOCKING. Test for 'raise' only once.
112080         * lib/fatal-signal.c: Include sigprocmask.h.
112081         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
112082         unblock_fatal_signals): Define always.
112083         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
112084         sigprocmask.
112086 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112088         Sync from Automake.
112089         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
112090         which incorrectly sets the mode of an existing destination
112091         directory.  In some cases the unpatched install-sh could do the
112092         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
112093         system.  We hope this is rare in practice, but it's clearly worth
112094         fixing.  Problem reported by Alex Unleashed in
112095         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
112096         Also, don't bother to check for -m bugs unless we're using -m;
112097         suggested by Stepan Kasal.
112099 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112101         Sync from Automake.
112102         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
112103         `-c' flag, so they appear at the same position as in %FASTDEP%
112104         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
112105         which ignores unknown options only after the first non-option.
112106         Bug report against M4 by Nelson H. F. Beebe.
112108 2006-10-13  Jim Meyering  <jim@meyering.net>
112110         Fix a bug in yesterday's change.
112111         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
112112         p->fts_statp->st_dev would be used uninitialized.
112113         Ensures that we always call fts_stat on the very first entry.
112114         Miklos Szeredi reported that find -xdev stopped working.
112116 2006-10-12  Bruno Haible  <bruno@clisp.org>
112118         * gnulib-tool (func_get_automake_snippet): Append an automatically
112119         computed EXTRA_DIST augmentation.
112120         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
112121         * modules/alloca-opt (Makefile.am): Likewise.
112122         * modules/allocsa (Makefile.am): Likewise.
112123         * modules/arcfour (Makefile.am): Likewise.
112124         * modules/arctwo (Makefile.am): Likewise.
112125         * modules/argmatch (Makefile.am): Likewise.
112126         * modules/argz (Makefile.am): Likewise.
112127         * modules/atexit (Makefile.am): Likewise.
112128         * modules/backupfile (Makefile.am): Likewise.
112129         * modules/byteswap (Makefile.am): Likewise.
112130         * modules/c-strtod (Makefile.am): Likewise.
112131         * modules/c-strtold (Makefile.am): Likewise.
112132         * modules/calloc (Makefile.am): Likewise.
112133         * modules/canon-host (Makefile.am): Likewise.
112134         * modules/canonicalize (Makefile.am): Likewise.
112135         * modules/chdir-long (Makefile.am): Likewise.
112136         * modules/chdir-safer (Makefile.am): Likewise.
112137         * modules/check-version (Makefile.am): Likewise.
112138         * modules/chown (Makefile.am): Likewise.
112139         * modules/cloexec (Makefile.am): Likewise.
112140         * modules/close-stream (Makefile.am): Likewise.
112141         * modules/closeout (Makefile.am): Likewise.
112142         * modules/crc (Makefile.am): Likewise.
112143         * modules/csharpexec (Makefile.am): Likewise.
112144         * modules/cycle-check (Makefile.am): Likewise.
112145         * modules/des (Makefile.am): Likewise.
112146         * modules/dev-ino (Makefile.am): Likewise.
112147         * modules/dirfd (Makefile.am): Likewise.
112148         * modules/dirname (Makefile.am): Likewise.
112149         * modules/dup2 (Makefile.am): Likewise.
112150         * modules/eealloc (Makefile.am): Likewise.
112151         * modules/error (Makefile.am): Likewise.
112152         * modules/euidaccess (Makefile.am): Likewise.
112153         * modules/exclude (Makefile.am): Likewise.
112154         * modules/exitfail (Makefile.am): Likewise.
112155         * modules/fcntl-safer (Makefile.am): Likewise.
112156         * modules/fcntl (Makefile.am): Likewise.
112157         * modules/file-type (Makefile.am): Likewise.
112158         * modules/fileblocks (Makefile.am): Likewise.
112159         * modules/filemode (Makefile.am): Likewise.
112160         * modules/filenamecat (Makefile.am): Likewise.
112161         * modules/fnmatch (Makefile.am): Likewise.
112162         * modules/fopen-safer (Makefile.am): Likewise.
112163         * modules/fpending (Makefile.am): Likewise.
112164         * modules/fprintftime (Makefile.am): Likewise.
112165         * modules/free (Makefile.am): Likewise.
112166         * modules/fsusage (Makefile.am): Likewise.
112167         * modules/ftruncate (Makefile.am): Likewise.
112168         * modules/fts (Makefile.am): Likewise.
112169         * modules/gc-arcfour (Makefile.am): Likewise.
112170         * modules/gc-des (Makefile.am): Likewise.
112171         * modules/gc-hmac-md5 (Makefile.am): Likewise.
112172         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
112173         * modules/gc-md4 (Makefile.am): Likewise.
112174         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112175         * modules/gc-sha1 (Makefile.am): Likewise.
112176         * modules/gc (Makefile.am): Likewise.
112177         * modules/getaddrinfo (Makefile.am): Likewise.
112178         * modules/getcwd (Makefile.am): Likewise.
112179         * modules/getdelim (Makefile.am): Likewise.
112180         * modules/getdomainname (Makefile.am): Likewise.
112181         * modules/getgroups (Makefile.am): Likewise.
112182         * modules/gethostname (Makefile.am): Likewise.
112183         * modules/gethrxtime (Makefile.am): Likewise.
112184         * modules/getline (Makefile.am): Likewise.
112185         * modules/getloadavg (Makefile.am): Likewise.
112186         * modules/getlogin_r (Makefile.am): Likewise.
112187         * modules/getndelim2 (Makefile.am): Likewise.
112188         * modules/getopt (Makefile.am): Likewise.
112189         * modules/getpagesize (Makefile.am): Likewise.
112190         * modules/getpass-gnu (Makefile.am): Likewise.
112191         * modules/getpass (Makefile.am): Likewise.
112192         * modules/getsubopt (Makefile.am): Likewise.
112193         * modules/gettime (Makefile.am): Likewise.
112194         * modules/gettimeofday (Makefile.am): Likewise.
112195         * modules/getugroups (Makefile.am): Likewise.
112196         * modules/getusershell (Makefile.am): Likewise.
112197         * modules/glob (Makefile.am): Likewise.
112198         * modules/group-member (Makefile.am): Likewise.
112199         * modules/hard-locale (Makefile.am): Likewise.
112200         * modules/hash (Makefile.am): Likewise.
112201         * modules/hmac-md5 (Makefile.am): Likewise.
112202         * modules/hmac-sha1 (Makefile.am): Likewise.
112203         * modules/human (Makefile.am): Likewise.
112204         * modules/idcache (Makefile.am): Likewise.
112205         * modules/imaxabs (Makefile.am): Likewise.
112206         * modules/imaxdiv (Makefile.am): Likewise.
112207         * modules/inet_ntop (Makefile.am): Likewise.
112208         * modules/inet_pton (Makefile.am): Likewise.
112209         * modules/intprops (Makefile.am): Likewise.
112210         * modules/inttostr (Makefile.am): Likewise.
112211         * modules/inttypes (Makefile.am): Likewise.
112212         * modules/isapipe (Makefile.am): Likewise.
112213         * modules/javaversion (Makefile.am): Likewise.
112214         * modules/lchmod (Makefile.am): Likewise.
112215         * modules/lchown (Makefile.am): Likewise.
112216         * modules/localcharset (Makefile.am): Likewise.
112217         * modules/long-options (Makefile.am): Likewise.
112218         * modules/lstat (Makefile.am): Likewise.
112219         * modules/malloc (Makefile.am): Likewise.
112220         * modules/mathl (Makefile.am): Likewise.
112221         * modules/mbchar (Makefile.am): Likewise.
112222         * modules/md2 (Makefile.am): Likewise.
112223         * modules/md4 (Makefile.am): Likewise.
112224         * modules/md5 (Makefile.am): Likewise.
112225         * modules/memcasecmp (Makefile.am): Likewise.
112226         * modules/memchr (Makefile.am): Likewise.
112227         * modules/memcmp (Makefile.am): Likewise.
112228         * modules/memcoll (Makefile.am): Likewise.
112229         * modules/memcpy (Makefile.am): Likewise.
112230         * modules/memmem (Makefile.am): Likewise.
112231         * modules/memmove (Makefile.am): Likewise.
112232         * modules/mempcpy (Makefile.am): Likewise.
112233         * modules/memrchr (Makefile.am): Likewise.
112234         * modules/memset (Makefile.am): Likewise.
112235         * modules/memxor (Makefile.am): Likewise.
112236         * modules/mkancesdirs (Makefile.am): Likewise.
112237         * modules/mkdir-p (Makefile.am): Likewise.
112238         * modules/mkdir (Makefile.am): Likewise.
112239         * modules/mkdtemp (Makefile.am): Likewise.
112240         * modules/mkstemp (Makefile.am): Likewise.
112241         * modules/mktime (Makefile.am): Likewise.
112242         * modules/modechange (Makefile.am): Likewise.
112243         * modules/mountlist (Makefile.am): Likewise.
112244         * modules/nanosleep (Makefile.am): Likewise.
112245         * modules/obstack (Makefile.am): Likewise.
112246         * modules/openat (Makefile.am): Likewise.
112247         * modules/pagealign_alloc (Makefile.am): Likewise.
112248         * modules/pathmax (Makefile.am): Likewise.
112249         * modules/physmem (Makefile.am): Likewise.
112250         * modules/poll (Makefile.am): Likewise.
112251         * modules/posixtm (Makefile.am): Likewise.
112252         * modules/posixver (Makefile.am): Likewise.
112253         * modules/putenv (Makefile.am): Likewise.
112254         * modules/quote (Makefile.am): Likewise.
112255         * modules/quotearg (Makefile.am): Likewise.
112256         * modules/raise (Makefile.am): Likewise.
112257         * modules/read-file (Makefile.am): Likewise.
112258         * modules/readline (Makefile.am): Likewise.
112259         * modules/readlink (Makefile.am): Likewise.
112260         * modules/readtokens (Makefile.am): Likewise.
112261         * modules/readutmp (Makefile.am): Likewise.
112262         * modules/realloc (Makefile.am): Likewise.
112263         * modules/regex (Makefile.am): Likewise.
112264         * modules/rename-dest-slash (Makefile.am): Likewise.
112265         * modules/rename (Makefile.am): Likewise.
112266         * modules/rijndael (Makefile.am): Likewise.
112267         * modules/rmdir (Makefile.am): Likewise.
112268         * modules/rpmatch (Makefile.am): Likewise.
112269         * modules/safe-read (Makefile.am): Likewise.
112270         * modules/safe-write (Makefile.am): Likewise.
112271         * modules/same-inode (Makefile.am): Likewise.
112272         * modules/same (Makefile.am): Likewise.
112273         * modules/save-cwd (Makefile.am): Likewise.
112274         * modules/savedir (Makefile.am): Likewise.
112275         * modules/setenv (Makefile.am): Likewise.
112276         * modules/settime (Makefile.am): Likewise.
112277         * modules/sha1 (Makefile.am): Likewise.
112278         * modules/sig2str (Makefile.am): Likewise.
112279         * modules/snprintf (Makefile.am): Likewise.
112280         * modules/stat-macros (Makefile.am): Likewise.
112281         * modules/stat-time (Makefile.am): Likewise.
112282         * modules/stdbool (Makefile.am): Likewise.
112283         * modules/stdint (Makefile.am): Likewise.
112284         * modules/stdlib-safer (Makefile.am): Likewise.
112285         * modules/stpcpy (Makefile.am): Likewise.
112286         * modules/stpncpy (Makefile.am): Likewise.
112287         * modules/strcase (Makefile.am): Likewise.
112288         * modules/strcasestr (Makefile.am): Likewise.
112289         * modules/strchrnul (Makefile.am): Likewise.
112290         * modules/strcspn (Makefile.am): Likewise.
112291         * modules/strdup (Makefile.am): Likewise.
112292         * modules/strerror (Makefile.am): Likewise.
112293         * modules/strftime (Makefile.am): Likewise.
112294         * modules/strndup (Makefile.am): Likewise.
112295         * modules/strnlen (Makefile.am): Likewise.
112296         * modules/strpbrk (Makefile.am): Likewise.
112297         * modules/strsep (Makefile.am): Likewise.
112298         * modules/strstr (Makefile.am): Likewise.
112299         * modules/strtod (Makefile.am): Likewise.
112300         * modules/strtoimax (Makefile.am): Likewise.
112301         * modules/strtok_r (Makefile.am): Likewise.
112302         * modules/strtol (Makefile.am): Likewise.
112303         * modules/strtoll (Makefile.am): Likewise.
112304         * modules/strtoul (Makefile.am): Likewise.
112305         * modules/strtoull (Makefile.am): Likewise.
112306         * modules/strtoumax (Makefile.am): Likewise.
112307         * modules/strverscmp (Makefile.am): Likewise.
112308         * modules/sys_socket (Makefile.am): Likewise.
112309         * modules/sys_stat (Makefile.am): Likewise.
112310         * modules/sysexits (Makefile.am): Likewise.
112311         * modules/time_r (Makefile.am): Likewise.
112312         * modules/timegm (Makefile.am): Likewise.
112313         * modules/timespec (Makefile.am): Likewise.
112314         * modules/tmpfile-safer (Makefile.am): Likewise.
112315         * modules/trim (Makefile.am): Likewise.
112316         * modules/unistd-safer (Makefile.am): Likewise.
112317         * modules/unlinkdir (Makefile.am): Likewise.
112318         * modules/unlocked-io (Makefile.am): Likewise.
112319         * modules/userspec (Makefile.am): Likewise.
112320         * modules/utime (Makefile.am): Likewise.
112321         * modules/utimecmp (Makefile.am): Likewise.
112322         * modules/utimens (Makefile.am): Likewise.
112323         * modules/vasnprintf (Makefile.am): Likewise.
112324         * modules/vasprintf (Makefile.am): Likewise.
112325         * modules/vsnprintf (Makefile.am): Likewise.
112326         * modules/xalloc (Makefile.am): Likewise.
112327         * modules/xgetcwd (Makefile.am): Likewise.
112328         * modules/xnanosleep (Makefile.am): Likewise.
112329         * modules/xreadlink (Makefile.am): Likewise.
112330         * modules/xstrtod (Makefile.am): Likewise.
112331         * modules/xstrtol (Makefile.am): Likewise.
112332         * modules/xstrtold (Makefile.am): Likewise.
112333         * modules/yesno (Makefile.am): Likewise.
112334         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
112336 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112338         * modules/error (Makefile.am): Distribute files through
112339         EXTRA_DIST, not lib_SOURCES.
112341 2006-10-12  Eric Blake  <ebb9@byu.net>
112343         * modules/error (Makefile.am): Distribute files in /lib.
112344         * modules/obstack (Makefile.am): Likewise.
112346 2006-10-12  Bruno Haible  <bruno@clisp.org>
112348         * modules/acl (Makefile.am): Distribute all files in lib/ through
112349         EXTRA_DIST.
112350         * modules/arcfour (Makefile.am): Likewise.
112351         * modules/arctwo (Makefile.am): Likewise.
112352         * modules/argmatch (Makefile.am): Likewise.
112353         * modules/argz (Makefile.am): Likewise.
112354         * modules/atexit (Makefile.am): Likewise.
112355         * modules/backupfile (Makefile.am): Likewise.
112356         * modules/c-strtod (Makefile.am): Likewise.
112357         * modules/c-strtold (Makefile.am): Likewise.
112358         * modules/calloc (Makefile.am): Likewise.
112359         * modules/canon-host (Makefile.am): Likewise.
112360         * modules/canonicalize (Makefile.am): Likewise.
112361         * modules/chdir-long (Makefile.am): Likewise.
112362         * modules/chdir-safer (Makefile.am): Likewise.
112363         * modules/check-version (Makefile.am): Likewise.
112364         * modules/chown (Makefile.am): Likewise.
112365         * modules/cloexec (Makefile.am): Likewise.
112366         * modules/close-stream (Makefile.am): Likewise.
112367         * modules/closeout (Makefile.am): Likewise.
112368         * modules/crc (Makefile.am): Likewise.
112369         * modules/cycle-check (Makefile.am): Likewise.
112370         * modules/des (Makefile.am): Likewise.
112371         * modules/dirfd (Makefile.am): Likewise.
112372         * modules/dirname (Makefile.am): Likewise.
112373         * modules/dup2 (Makefile.am): Likewise.
112374         * modules/euidaccess (Makefile.am): Likewise.
112375         * modules/exclude (Makefile.am): Likewise.
112376         * modules/exitfail (Makefile.am): Likewise.
112377         * modules/fcntl-safer (Makefile.am): Likewise.
112378         * modules/file-type (Makefile.am): Likewise.
112379         * modules/fileblocks (Makefile.am): Likewise.
112380         * modules/filemode (Makefile.am): Likewise.
112381         * modules/filenamecat (Makefile.am): Likewise.
112382         * modules/fnmatch (Makefile.am): Likewise.
112383         * modules/fopen-safer (Makefile.am): Likewise.
112384         * modules/fpending (Makefile.am): Likewise.
112385         * modules/fprintftime (Makefile.am): Likewise.
112386         * modules/free (Makefile.am): Likewise.
112387         * modules/fsusage (Makefile.am): Likewise.
112388         * modules/ftruncate (Makefile.am): Likewise.
112389         * modules/fts (Makefile.am): Likewise.
112390         * modules/gc (Makefile.am): Likewise.
112391         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
112392         * modules/getaddrinfo (Makefile.am): Likewise.
112393         * modules/getcwd (Makefile.am): Likewise.
112394         * modules/getdelim (Makefile.am): Likewise.
112395         * modules/getdomainname (Makefile.am): Likewise.
112396         * modules/getgroups (Makefile.am): Likewise.
112397         * modules/gethostname (Makefile.am): Likewise.
112398         * modules/gethrxtime (Makefile.am): Likewise.
112399         * modules/getline (Makefile.am): Likewise.
112400         * modules/getloadavg (Makefile.am): Likewise.
112401         * modules/getlogin_r (Makefile.am): Likewise.
112402         * modules/getopt (Makefile.am): Likewise.
112403         * modules/getpass (Makefile.am): Likewise.
112404         * modules/getpass-gnu (Makefile.am): Likewise.
112405         * modules/getsubopt (Makefile.am): Likewise.
112406         * modules/gettime (Makefile.am): Likewise.
112407         * modules/gettimeofday (Makefile.am): Likewise.
112408         * modules/getugroups (Makefile.am): Likewise.
112409         * modules/getusershell (Makefile.am): Likewise.
112410         * modules/glob (Makefile.am): Likewise.
112411         * modules/group-member (Makefile.am): Likewise.
112412         * modules/hard-locale (Makefile.am): Likewise.
112413         * modules/hash (Makefile.am): Likewise.
112414         * modules/hmac-md5 (Makefile.am): Likewise.
112415         * modules/hmac-sha1 (Makefile.am): Likewise.
112416         * modules/human (Makefile.am): Likewise.
112417         * modules/idcache (Makefile.am): Likewise.
112418         * modules/imaxabs (Makefile.am): Likewise.
112419         * modules/imaxdiv (Makefile.am): Likewise.
112420         * modules/inet_ntop (Makefile.am): Likewise.
112421         * modules/inet_pton (Makefile.am): Likewise.
112422         * modules/inttostr (Makefile.am): Likewise.
112423         * modules/isapipe (Makefile.am): Likewise.
112424         * modules/lchown (Makefile.am): Likewise.
112425         * modules/long-options (Makefile.am): Likewise.
112426         * modules/lstat (Makefile.am): Likewise.
112427         * modules/malloc (Makefile.am): Likewise.
112428         * modules/mathl (Makefile.am): Likewise.
112429         * modules/mbchar (Makefile.am): Likewise.
112430         * modules/md2 (Makefile.am): Likewise.
112431         * modules/md4 (Makefile.am): Likewise.
112432         * modules/md5 (Makefile.am): Likewise.
112433         * modules/memcasecmp (Makefile.am): Likewise.
112434         * modules/memchr (Makefile.am): Likewise.
112435         * modules/memcmp (Makefile.am): Likewise.
112436         * modules/memcoll (Makefile.am): Likewise.
112437         * modules/memcpy (Makefile.am): Likewise.
112438         * modules/memmem (Makefile.am): Likewise.
112439         * modules/memmove (Makefile.am): Likewise.
112440         * modules/mempcpy (Makefile.am): Likewise.
112441         * modules/memrchr (Makefile.am): Likewise.
112442         * modules/memset (Makefile.am): Likewise.
112443         * modules/memxor (Makefile.am): Likewise.
112444         * modules/mkancesdirs (Makefile.am): Likewise.
112445         * modules/mkdir (Makefile.am): Likewise.
112446         * modules/mkdir-p (Makefile.am): Likewise.
112447         * modules/mkdtemp (Makefile.am): Likewise.
112448         * modules/mkstemp (Makefile.am): Likewise.
112449         * modules/mktime (Makefile.am): Likewise.
112450         * modules/modechange (Makefile.am): Likewise.
112451         * modules/mountlist (Makefile.am): Likewise.
112452         * modules/nanosleep (Makefile.am): Likewise.
112453         * modules/openat (Makefile.am): Likewise.
112454         * modules/pagealign_alloc (Makefile.am): Likewise.
112455         * modules/physmem (Makefile.am): Likewise.
112456         * modules/poll (Makefile.am): Likewise.
112457         * modules/posixtm (Makefile.am): Likewise.
112458         * modules/posixver (Makefile.am): Likewise.
112459         * modules/putenv (Makefile.am): Likewise.
112460         * modules/quote (Makefile.am): Likewise.
112461         * modules/quotearg (Makefile.am): Likewise.
112462         * modules/raise (Makefile.am): Likewise.
112463         * modules/read-file (Makefile.am): Likewise.
112464         * modules/readline (Makefile.am): Likewise.
112465         * modules/readlink (Makefile.am): Likewise.
112466         * modules/readtokens (Makefile.am): Likewise.
112467         * modules/readutmp (Makefile.am): Likewise.
112468         * modules/realloc (Makefile.am): Likewise.
112469         * modules/regex (Makefile.am): Likewise.
112470         * modules/rename (Makefile.am): Likewise.
112471         * modules/rename-dest-slash (Makefile.am): Likewise.
112472         * modules/rijndael (Makefile.am): Likewise.
112473         * modules/rmdir (Makefile.am): Likewise.
112474         * modules/rpmatch (Makefile.am): Likewise.
112475         * modules/safe-read (Makefile.am): Likewise.
112476         * modules/safe-write (Makefile.am): Likewise.
112477         * modules/same (Makefile.am): Likewise.
112478         * modules/save-cwd (Makefile.am): Likewise.
112479         * modules/savedir (Makefile.am): Likewise.
112480         * modules/setenv (Makefile.am): Likewise.
112481         * modules/settime (Makefile.am): Likewise.
112482         * modules/sha1 (Makefile.am): Likewise.
112483         * modules/sig2str (Makefile.am): Likewise.
112484         * modules/snprintf (Makefile.am): Likewise.
112485         * modules/stdlib-safer (Makefile.am): Likewise.
112486         * modules/stpcpy (Makefile.am): Likewise.
112487         * modules/stpncpy (Makefile.am): Likewise.
112488         * modules/strcase (Makefile.am): Likewise.
112489         * modules/strcasestr (Makefile.am): Likewise.
112490         * modules/strchrnul (Makefile.am): Likewise.
112491         * modules/strcspn (Makefile.am): Likewise.
112492         * modules/strdup (Makefile.am): Likewise.
112493         * modules/strerror (Makefile.am): Likewise.
112494         * modules/strftime (Makefile.am): Likewise.
112495         * modules/strndup (Makefile.am): Likewise.
112496         * modules/strnlen (Makefile.am): Likewise.
112497         * modules/strpbrk (Makefile.am): Likewise.
112498         * modules/strsep (Makefile.am): Likewise.
112499         * modules/strstr (Makefile.am): Likewise.
112500         * modules/strtod (Makefile.am): Likewise.
112501         * modules/strtoimax (Makefile.am): Likewise.
112502         * modules/strtok_r (Makefile.am): Likewise.
112503         * modules/strtol (Makefile.am): Likewise.
112504         * modules/strtoll (Makefile.am): Likewise.
112505         * modules/strtoul (Makefile.am): Likewise.
112506         * modules/strtoull (Makefile.am): Likewise.
112507         * modules/strtoumax (Makefile.am): Likewise.
112508         * modules/strverscmp (Makefile.am): Likewise.
112509         * modules/time_r (Makefile.am): Likewise.
112510         * modules/timegm (Makefile.am): Likewise.
112511         * modules/tmpfile-safer (Makefile.am): Likewise.
112512         * modules/unistd-safer (Makefile.am): Likewise.
112513         * modules/unlinkdir (Makefile.am): Likewise.
112514         * modules/userspec (Makefile.am): Likewise.
112515         * modules/utime (Makefile.am): Likewise.
112516         * modules/utimecmp (Makefile.am): Likewise.
112517         * modules/utimens (Makefile.am): Likewise.
112518         * modules/vasnprintf (Makefile.am): Likewise.
112519         * modules/vasprintf (Makefile.am): Likewise.
112520         * modules/vsnprintf (Makefile.am): Likewise.
112521         * modules/xalloc (Makefile.am): Likewise.
112522         * modules/xgetcwd (Makefile.am): Likewise.
112523         * modules/xnanosleep (Makefile.am): Likewise.
112524         * modules/xreadlink (Makefile.am): Likewise.
112525         * modules/xstrtod (Makefile.am): Likewise.
112526         * modules/xstrtol (Makefile.am): Likewise.
112527         * modules/xstrtold (Makefile.am): Likewise.
112528         * modules/yesno (Makefile.am): Likewise.
112530 2006-10-12  Jim Meyering  <jim@meyering.net>
112532         * m4/getloadavg.m4: Revert the change below.
112534         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
112535         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
112536         fail with a symlink, which is what coreutils' ./bootstrap now
112537         creates by default.
112539 2006-10-12  Bruno Haible  <bruno@clisp.org>
112541         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
112542         mingw.
112543         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
112544         MSVC and mingw explicitly.
112546 2006-10-11  Simon Josefsson  <jas@extundo.com>
112547             Bruno Haible  <bruno@clisp.org>
112549         Add support for multiple gnulib-tool invocations in the scope of a
112550         single configure.ac file.
112551         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
112552         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
112553         with the same contents as the _LIBADD variable.
112554         (func_emit_initmacro_start, func_emit_initmacro_end,
112555         func_emit_initmacro_done): New functions.
112556         (func_import, func_create_testdir): Invoke them. Allow the identifiers
112557         gl_LIBOBJS and gl_LTLIBOBJS.
112559 2006-10-11  Bruno Haible  <bruno@clisp.org>
112561         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
112562         (func_create_testdir): Don't create po/Makefile.am, don't invoke
112563         autoreconf. Instead, invoke autopoint explicitly but move back the
112564         *.m4 files from gnulib.
112566 2006-10-11  Bruno Haible  <bruno@clisp.org>
112568         * gnulib-tool (func_usage): Make module names after --create-testdir
112569         optional.
112570         (func_create_testdir): If no module was specified, use nearly all
112571         modules.
112573 2006-10-12  Jim Meyering  <jim@meyering.net>
112575         Big performance improvement for fts-based tools that use FTS_NOSTAT.
112576         Avoid spurious inode-mismatch problems on non-POSIX file systems.
112577         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
112578         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
112579         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
112580         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
112581         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
112582         (fts_set_stat_required): New function.
112583         (fts_open): Defer the calls to fts_stat, if possible or requested.
112584         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
112585         into fts_stat itself.
112586         (fts_read): Perform any required (deferred) fts_stat call.
112587         (fts_build): Likewise, for the directory we're about to open and read.
112588         In the readdir loop, carefully decide whether each entry will require
112589         an eventual call to fts_stat, using dirent.d_type info if available.
112590         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
112591         a command line argument into this function.  Update all callers.
112592         Map a return value of FTS_DOT to FTS_D for a command line argument.
112593         * modules/fts (Depends-on): Add d-type.  Alphabetize.
112594         Thanks to Miklos Szeredi for his tenacity and for the initial
112595         bug report about "find" failing on a FUSE-based file system.
112597         * lib/fts.c (fts_open): Use consistent indentation.
112599 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112601         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
112602         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
112603         reported by Jim Meyering.  All uses of cache variables renamed
112604         to match Autoconf's.
112605         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
112606         the other one.
112608         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
112609         Fix misspelling in diagnostic.
112611 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112613         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
112614         defined.  Problem reported by Matthew Woehlke.
112616         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
112617         Add support for Tandem NonStop R series.
112618         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
112619         Use new macro.
112621         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
112622         (has_trailing_slash): Omit size arg; all callers changed.
112623         Omit 'inline', since it doesn't help performance and we'd
112624         need to configure it.
112625         Don't count //, ///, etc. as having a trailing slash.
112626         As a side effect, this removes a C99ism reported by Matthew Woehlke.
112627         (rpl_rename_dest_slash): On failure, use rename's errno rather
112628         than (in some cases) an incorrect or junk errno.
112629         Simplify code by removing need to compute length; this does
112630         cause it to make two passes instead of one over the file name,
112631         but it's worth it.
112633         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
112634         change, since Autoconf's version may no longer be appropriate now
112635         that we are using CVS Autoconf's version.  Add support for Tandem.
112637 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112638             Bruno Haible  <bruno@clisp.org>
112640         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
112641         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
112642         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
112643         gl_AC_TYPE_LONG_LONG.
112645         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
112646         instead of HAVE_LONG_LONG.
112647         * lib/printf-args.c (printf_fetchargs): Likewise.
112648         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
112649         * lib/vasnprintf.c (VASNPRINTF): Likewise.
112650         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
112651         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
112652         gl_AC_TYPE_LONG_LONG.
112654 2006-10-11  Bruno Haible  <bruno@clisp.org>
112656         * m4/longlong.m4: Add comments.
112657         * m4/ulonglong.m4: Likewise.
112659 2006-10-10  Bruno Haible  <bruno@clisp.org>
112661         Make it possible to #define stpcpy, strdup to aliases.
112662         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
112663         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
112665 2006-10-10  Bruno Haible  <bruno@clisp.org>
112667         Make it possible to #define gcd to an alias.
112668         * lib/gcd.c: Include config.h.
112670 2006-10-10  Bruno Haible  <bruno@clisp.org>
112672         Make it possible to #define c_isascii to an alias.
112673         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
112674         defined. Undefine the macros before defining them, to avoid gcc
112675         warnings.
112676         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
112677         define NO_C_CTYPE_MACROS early.
112679 2006-10-10  Bruno Haible  <bruno@clisp.org>
112681         Make it possible to #define set_program_name to an alias.
112682         * lib/progname.c: Don't undefine set_program_name; instead, undefine
112683         ENABLE_RELOCATABLE early.
112685 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
112687         Port to Tandem NSK OSS, which has 64-bit signed int but at most
112688         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
112689         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
112690         More generally, don't assume that 64-bit signed int is available
112691         if unsigned int is, and vice versa.
112692         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
112693         unsigned symbols, not on their signed counterparts.
112694         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
112695         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
112696         (UINT64_C, UINTMAX_C):
112697         Likewise.
112698         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
112699         unsigned counterparts.
112700         (Have_long_long, Unsigned): New macros.
112701         (Int): Renamed from INT.
112702         (strtoimax): Use the new macros.
112703         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
112704         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
112705         * modules/inttypes (inttypes.h): Substitute
112706         HAVE_UNSIGNED_LONG_LONG_INT.
112707         * modules/stdint (stdint.h): Likewise.
112708         (Files): Add m4/ulonglong.m4.
112710 2006-10-10  Bruno Haible  <bruno@clisp.org>
112712         Fix a gcc -Wshadow warning.
112713         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
112714         to 'bucket'.
112715         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
112716         gl_linked_indexof_from_to): Likewise.
112717         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
112718         Likewise.
112719         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
112720         Likewise.
112721         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
112722         Reported by Eric Blake.
112724 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
112726         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
112727         for NetBSD.  Problem reported by Bruno Haible.
112729 2006-10-09  Jim Meyering  <jim@meyering.net>
112731         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
112732         Patch from Bruno Haible.
112734 2006-10-09  Jim Meyering  <jim@meyering.net>
112736         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
112737         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
112738         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
112740 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
112742         Don't include <config.h> twice; this doesn't work in some cases,
112743         e.g., when config.h has "#define intmax_t long long int" and
112744         we include <config.h>, <inttypes.h>, <config.h> in that order.
112745         Problem reported by Matthew Woehlke in:
112746         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
112747         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
112748         * lib/fts-cycle.c: Don't include config.h.
112749         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
112750         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
112751         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
112752         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
112753         inttypes.h.
112754         * lib/xstrtoumax.c: Likewise.
112755         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
112756         __strtol and the like, so that this module is more like its siblings.
112757         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
112758         Remove; no longer needed now that we assume gnulib inttypes.h.
112760 2006-10-08  Bruno Haible  <bruno@clisp.org>
112762         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
112763         option.
112765 2006-10-07  Jim Meyering  <jim@meyering.net>
112767         * modules/inttypes (inttypes.h): Revert what seems to have been
112768         an inadvertent part of today's change: use "|", not "/" in the
112769         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
112771 2006-10-07  Bruno Haible  <bruno@clisp.org>
112773         * modules/sublist: New file.
112775 2006-10-07  Bruno Haible  <bruno@clisp.org>
112777         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
112778         * modules/argz (argz.h): Likewise.
112779         * modules/arpa_inet (arpa/inet.h): Likewise.
112780         * modules/byteswap (byteswap.h): Likewise.
112781         * modules/configmake (configmake.h): Likewise.
112782         * modules/fcntl (fcntl.h): Likewise.
112783         * modules/fnmatch (fnmatch.h): Likewise.
112784         * modules/getopt (getopt.h): Likewise.
112785         * modules/glob (glob.h): Likewise.
112786         * modules/inttypes (inttypes.h): Likewise.
112787         * modules/netinet_in (netinet/in.h): Likewise.
112788         * modules/poll (poll.h): Likewise.
112789         * modules/stdbool (stdbool.h): Likewise.
112790         * modules/stdint (stdint.h): Likewise.
112791         * modules/sys_select (sys/select.h): Likewise.
112792         * modules/sys_socket (sys/socket.h): Likewise.
112793         * modules/sys_stat (sys/stat.h): Likewise.
112794         * modules/sysexits (sysexits.h): Likewise.
112795         * modules/unistd (unistd.h): Likewise.
112796         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112797         Add a "DO NOT EDIT" comment to the generated file.
112798         (func_import): Likewise for gnulib-comp.m4.
112800 2006-10-07  Bruno Haible  <bruno@clisp.org>
112802         * lib/gl_sublist.h: New file.
112803         * lib/gl_sublist.c: New file.
112805 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
112807         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
112808         name (relative to the original working directory) and the file
112809         name component (relative to the temporary working directory).  All
112810         callers changed.
112811         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
112812         * lib/mkdir-p.c (make_dir_parents): Likewise.
112813         * lib/mkdir-p.h (make_dir_parents): Likewise.
112815 2006-10-06  Eric Blake  <ebb9@byu.net>
112817         Define several macros for use by the clean-temp module.
112818         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
112819         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
112820         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
112822         * lib/clean-temp.h (close_stream_temp): New declaration.
112823         * lib/clean-temp.c (includes): Pull in headers according to what
112824         other modules are in use.
112825         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
112827 2006-10-06  Bruno Haible  <bruno@clisp.org>
112829         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
112830         instead of fopen, fwriteerror.
112832 2006-10-06  Bruno Haible  <bruno@clisp.org>
112834         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
112835         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
112836         int.
112837         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
112838         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
112839         Return an error indicator.
112840         Suggested by Eric Blake.
112842 2006-10-06  Bruno Haible  <bruno@clisp.org>
112844         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
112845         Reported by Eric Blake.
112847 2006-10-06  Bruno Haible  <bruno@clisp.org>
112849         * modules/closeout (Description): Mention stderr too.
112851 2006-10-06  Bruno Haible  <bruno@clisp.org>
112852         and Paul Eggert  <eggert@cs.ucla.edu>
112854         * lib/closeout.c (close_stdout): Also close stderr.
112855         * lib/closeout.h: Update comment.
112857 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
112859         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
112860         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
112861         * lib/dirchownmod.c: Include lchown.h.
112862         * lib/lchown.c: Don't include files that lchown.h now includes.
112863         Don't declare chown, since lchown.h now does that.
112864         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
112865         (lchown): Define to rpl_chown if lchown is declared but
112866         does not exist.  Declare using a prototype if lchown is not
112867         declared.  Add a copyright notice.
112868         * lib/mkstemp.h: Include <unistd.h>.
112869         * lib/openat.c: Include lchown.h.
112871         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
112872         we now test for that separately.
112873         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
112874         rather than O_NOFOLLOW, when testing whether it's possible to
112875         avoid a race condition reliably.
112876         * lib/savewd.c (savewd_chdir): Likewise.
112878         Remove macros that are no longer needed now that stdint.h is
112879         reliable.
112880         * lib/fsusage.c (UINTMAX_MAX): Remove.
112881         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
112882         * lib/utimecmp.c (SIZE_MAX): Remove.
112884         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
112886         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
112887         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
112888         O_NOATIME works.
112890 2006-10-05  Bruno Haible  <bruno@clisp.org>
112892         * lib/gl_list.h (gl_sortedlist_search_from_to,
112893         gl_sortedlist_indexof_from_to): New declarations.
112894         (gl_list_implementation): New fields sortedlist_search_from_to,
112895         sortedlist_indexof_from_to.
112896         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
112897         inline functions.
112898         * lib/gl_list.c (gl_sortedlist_search_from_to,
112899         gl_sortedlist_indexof_from_to): New functions.
112900         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
112901         function.
112902         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
112903         (gl_array_sortedlist_search_from_to): New function.
112904         (gl_array_list_implementation): Update.
112905         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
112906         function.
112907         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
112908         (gl_carray_sortedlist_search_from_to): New function.
112909         (gl_carray_list_implementation): Update.
112910         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
112911         gl_linked_sortedlist_indexof_from_to): New functions.
112912         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112913         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112914         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
112915         gl_tree_sortedlist_indexof_from_to): New functions.
112916         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112917         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112918         Update.
112919         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112920         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
112921         Update.
112923 2006-10-05  Bruno Haible  <bruno@clisp.org>
112925         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
112926         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
112927         (struct gl_list_implementation): Add fields search_from_to,
112928         indexof_from_to. Remove fields search, indexof.
112929         (gl_list_search): Use the search_from_to method.
112930         (gl_list_search_from, gl_list_search_from_to): New functions.
112931         (gl_list_indexof): Use the indexof_from_to method.
112932         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112933         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
112934         (gl_list_search_from, gl_list_search_from_to): New functions.
112935         (gl_list_indexof): Use the indexof_from_to method.
112936         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112937         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
112938         gl_array_indexof. Add start_index, end_index arguments.
112939         (gl_array_search_from_to): Renamed from gl_array_search. Add
112940         start_index, end_index arguments.
112941         (gl_array_remove, gl_array_list_implementation): Update.
112942         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
112943         gl_carray_indexof. Add start_index, end_index arguments.
112944         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
112945         start_index, end_index arguments.
112946         (gl_carray_remove, gl_carray_list_implementation): Update.
112947         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
112948         gl_linked_search. Add start_index, end_index arguments.
112949         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
112950         start_index, end_index arguments.
112951         (gl_linked_remove): Update.
112952         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112953         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112954         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
112955         field to 'size_t'.
112956         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
112957         gl_tree_search. Add start_index, end_index arguments.
112958         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112959         start_index, end_index arguments.
112960         (gl_tree_remove): Update.
112961         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112962         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112963         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
112964         function.
112965         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
112966         gl_tree_search. Add start_index, end_index arguments.
112967         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112968         start_index, end_index arguments.
112969         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112970         Update.
112971         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
112973 2006-10-05  Bruno Haible  <bruno@clisp.org>
112975         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
112977         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
112978         fwriteerror_temp): New declarations.
112979         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
112980         (descriptors): New variable.
112981         (cleanup): First, close the descriptors.
112982         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
112983         fclose_temp, fwriteerror_temp): New functions.
112985 2006-10-04  Jim Meyering  <jim@meyering.net>
112987         * lib/fts.c (fts_open): Tiny comment change.
112989 2006-10-04  Bruno Haible  <bruno@clisp.org>
112991         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
112992         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
112993         gl_LOCK_BODY.
112994         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
112995         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
112996         gl_LOCK_EARLY_BODY.
112997         (gl_LOCK): Require gl_LOCK_BODY.
112999 2006-10-04  Bruno Haible  <bruno@clisp.org>
113001         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
113002         (gl_oset_search_atleast): New declaration.
113003         (struct gl_oset_implementation): Add field 'search_atleast'.
113004         (gl_oset_search_atleast): New inline function.
113005         * lib/gl_oset.c (gl_oset_search_atleast): New function.
113006         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
113007         (gl_array_oset_implementation): Update.
113008         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
113009         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
113010         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
113012 2006-10-04  Bruno Haible  <bruno@clisp.org>
113014         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
113016 2006-10-03  Bruno Haible  <bruno@clisp.org>
113018         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
113019         from gl_avltreehash_list_implementation.
113021 2006-10-03  Bruno Haible  <bruno@clisp.org>
113023         * lib/gl_oset.c (gl_oset_add): Fix return type.
113025 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
113027         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
113029 2006-10-02  Eric Blake  <ebb9@byu.net>
113031         * modules/strnlen (Depends-on): Add extensions.
113033 2006-10-02  Eric Blake  <ebb9@byu.net>
113035         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
113036         definition in 2.60+.
113038 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
113040         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
113041         checks.
113043 2006-10-02  Bruno Haible  <bruno@clisp.org>
113045         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
113046         to the AUTOMAKE_OPTIONS.
113047         Reported by Jim Meyering.
113049 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113051         Work around bug in Solaris 10 /proc file system:
113052         /proc/self/fd/NNN/.. isn't the parent directory of
113053         the directory whose file descriptor is NNN.  This needs to
113054         be worked around at run time, not compile time, since a
113055         program might be built on Solaris 8, where things work, and
113056         run on Solaris 10.
113057         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
113058         to use the following interface instead:
113059         (OPENAT_BUFFER_SIZE): New macro.
113060         (openat_proc_name): New function.
113061         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
113062         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
113063         Likewise.
113064         * lib/openat-proc.c: New file.
113065         * modules/openat (Files): Add lib/openat-proc.c.
113066         (Depends-on): Add same-inode, stdbool.
113067         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
113069 2006-09-29  Bruno Haible  <bruno@clisp.org>
113071         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
113072         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
113073         argument. Set stdout_closed before testing for ferror, not after.
113074         (fwriteerror, fwriteerror_no_ebadf): New functions.
113076 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113078         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
113080 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
113082         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
113083         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
113085 2006-09-28  Jim Meyering  <jim@meyering.net>
113087         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
113088         Include <unistd.h>.
113090 2006-09-28  Bruno Haible  <bruno@clisp.org>
113092         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
113093         * modules/linkedhash-list (Depends-on): Likewise.
113094         * modules/rbtreehash-list (Depends-on): Likewise.
113096 2006-09-28  Bruno Haible  <bruno@clisp.org>
113098         * lib/strndup.h: Simplify the redefinition of strndup.
113099         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
113100         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
113102 2006-09-28  Bruno Haible  <bruno@clisp.org>
113104         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
113105         * lib/gl_linkedhash_list.c: Likewise.
113106         * lib/gl_rbtreehash_list.c: Likewise.
113108 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113110         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
113111         getaddrinfo.
113113         * lib/__fpending.h: Don't include <stdio_ext.h> unless
113114         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
113115         it causes <stdio_ext.h> to cause a compile-time error.
113116         Problem reported by Nelson H. F. Beebe.
113117         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
113118         of HAVE_DECL___PENDING.
113120         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
113121         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
113122         declaration.
113124 2006-09-27  Jim Meyering  <jim@meyering.net>
113126         This file could end up with a definition for a function
113127         named __strndup, rather than rpl_strndup on a system with
113128         incomplete weak_alias support.
113129         * lib/strndup.c (strndup): Rename from __strndup.
113130         Remove #defines that used to map __strndup to strndup.
113131         Don't use K&R prototypes.
113132         Remove LIBC-related code, since this file is not sync'd with glibc.
113133         * lib/strndup.h: Revamp, accordingly.
113134         * m4/strndup.m4: Modernize.
113136 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113138         * modules/savewd (Depends-on): Add 'raise'.
113139         * lib/savewd.c: Include <signal.h>, for 'raise'.
113141 2006-09-26  Jim Meyering  <jim@meyering.net>
113143         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
113144         when we detect Darwin 8.7.0's acl_get_file bug.
113145         Rearrange to perform the new (below) run-test while $LIBS
113146         contains any acl-related library.  Set USE_ACL at the end.
113147         (gl_ACL_GET_FILE): New function.
113149 2006-09-26  Eric Blake  <ebb9@byu.net>
113151         * lib/verror.c: Include <config.h> unconditionally.
113153 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
113155         * modules/clock-time (Maintainer): Add self.
113156         * modules/getlogin_r (Depends-on): Add extensions.
113158 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113160         * modules/clock-time: New module.
113161         * modules/nanosleep (Depends-on): Add clock-time.
113162         * modules/gethrxtime (Depends-on): Likewise.
113163         * modules/gettime (Depends-on): Likewise.
113164         * modules/settime (Depends-on): Likewise.
113166         * modules/fts-lgpl: Depend on openat.
113167         * modules/mkancesdirs: Depend on savewd.
113168         * modules/mkdir-p: Likewise.
113170 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113172         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
113174         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
113175         `gl_have_arbitrary_file_name_length_limit' to
113176         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
113177         actually works between configure runs.
113179 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113180             Bruno Haible  <bruno@clisp.org>
113182         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
113184 2006-09-25  Jim Meyering  <jim@meyering.net>
113186         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
113187         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
113189 2006-09-25  Eric Blake  <ebb9@byu.net>
113191         * gnulib-tool (func_import, func_create_testdir): Fix typos in
113192         exec's in 2006-09-18 patch when shuffling fds.
113194 2006-09-25  Bruno Haible  <bruno@clisp.org>
113196         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
113197         Reported by Jim Meyering.
113199 2006-09-24  Jim Meyering  <jim@meyering.net>
113201         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
113202         compare a pointer against a literal "0".  That caused failures with
113203         at least HP-UX's hpcc.
113205 2006-09-22  Simon Josefsson  <jas@extundo.com>
113207         * modules/gc-sha1:
113208         * modules/gc-md4:
113209         * modules/gc-hmac-sha1:
113210         * modules/gc-hmac-md5:
113211         * modules/gc-des:
113212         * modules/gc-arcfour: Distribute more files.
113214 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113216         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
113217         (gl_linked_iterator_from_to): Initialize struct completely.
113218         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
113219         (gl_tree_iterator_from_to): Likewise
113220         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
113221         * lib/gl_array_list.c [lint] (gl_array_iterator)
113222         (gl_array_iterator_from_to): Likewise.
113223         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
113224         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
113225         (gl_carray_iterator_from_to): Likewise.
113227         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
113228         * lib/md4.c (md4_process_block): Remove unused variable.
113229         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
113230         parentheses for clarity.
113232 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113234         * modules/bison-i18n (Depends-on): Add gettext.
113236 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113238         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
113239         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
113240         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
113241         also add missing comma that caused broken test.
113242         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
113243         stdlib.h, for `abort'.
113244         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
113245         variables.
113246         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
113247         include unistd.h if present, for `rmdir'.
113248         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
113249         variables.
113250         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
113251         in the process include standard headers for prototypes.
113252         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
113253         gets declared on GNU/Linux.
113254         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
113255         unistd.h, for `rmdir'.
113256         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
113258         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
113259         always true.
113260         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
113262         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
113264 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113266         * gnulib-tool (func_version): Create output all at once.  This
113267         may help avoid triggering unnecessary SIGPIPEs, and at any
113268         rate it doesn't hurt.
113270 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113271             Bruno Haible  <bruno@clisp.org>
113273         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
113274         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
113275         * m4/signed.m4 (bh_C_SIGNED): Likewise.
113277         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
113278         (gl_FUNC_VASPRINTF): Invoke it.
113280 2006-09-22  Bruno Haible  <bruno@clisp.org>
113282         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
113283         getloadavg.c as first argument.
113285 2006-09-22  Bruno Haible  <bruno@clisp.org>
113287         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
113288         at the beginning of the gl_INIT macro.
113289         * modules/getloadavg (configure.ac): Pass $gl_source_base to
113290         gl_GETLOADAVG.
113292 2006-09-22  Bruno Haible  <bruno@clisp.org>
113294         * gnulib-tool (func_create_megatestdir): Don't include the config-h
113295         module.
113296         Suggested by Ralf Wildenhues.
113298 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
113300         Import this patch from libc:
113302         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
113304         * lib/regex_internal.c (re_string_reconstruct): Handle
113305         offset < pstr->valid_raw_len && pstr->offsets_needed case.
113306         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
113307         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
113308         re_string_context_at.
113310         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
113311         now requires it.
113312         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
113313         gl_REGEX now does it for us.
113314         (gl_REGEX): Add test taken from
113315         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
113317         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
113318         Check that large offsets work.  Modernize Autoconf usages.
113319         Prefer "yes" to mean a good thing rather than a bad.
113320         Don't put "#define mkstemp" in config.h, as this might interfere
113321         with standard system headers that "#define mkstemp mkstemp64".
113323         * modules/mkstemp (Depends-on): Add extensions, so that
113324         mkstemp is visible on some platforms.
113325         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
113326         (Include): Change to "mkstemp.h" from <stdlib.h>.
113327         (Files): Add mkstemp.h.
113329         * lib/mkstemp.h: New file, since some standard headers
113330         #define mkstemp.
113331         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
113332         Include "mkstemp.h".
113333         Make the _LIBC code resemble glibc original more,
113334         e.g., use K&R style.
113335         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
113336         (mkstemp): Remove, since mkstemp.h does this for us.
113337         * lib/stdlib--.h: Include mkstemp.h.
113339         Import this patch from libc:
113341         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113343         * lib/tempname.c (__gen_tempname): Change attempts_min
113344         into a macro.  Use preprocessor to decide how to initialize
113345         attempts [Coverity CID 67].
113347 2006-09-20  Bruno Haible  <bruno@clisp.org>
113349         * lib/mkdtemp.c: Import from libc.
113350         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
113351                 * sysdeps/posix/tempname.c (__gen_tempname): Change
113352                 attempts_min into a macro.  Use preprocessor to decide how to
113353                 initialize attempts [Coverity CID 67].
113354         2001-11-27  Paul Eggert  <eggert@twinsun.com>
113355                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
113356                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
113358 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113360         * gnulib-tool (func_exit): New function, to allow to pass the
113361         exit status portably through the trap.  Use everywhere.
113362         (--help, --version): Signal a write error.
113363         (trap): catch SIGPIPE, for write errors.
113364         Exit at the end of the trap, with the correct exit status.
113366 2006-09-19  Karl Berry  <karl@gnu.org>
113368         * doc/gnulib.texi: note about the license texinfo files.
113370 2006-09-19  Eric Blake  <ebb9@byu.net>
113372         * gnulib-tool: Avoid space-tab.
113374 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113376         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
113377         that prevented coreutils 6.1 from building.  Problem reported
113378         by Petter Reinholdtsen.
113380 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
113382         * gnulib-tool (avoidlist): Fix typo that broke options like
113383         --avoid=lock that are used by coreutils bootstrap.
113385 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
113387         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
113388         more systematically.
113390 2006-09-18  Jim Meyering  <jim@meyering.net>
113392         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
113394 2006-09-18  Bruno Haible  <bruno@clisp.org>
113396         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
113398 2006-09-18  Bruno Haible  <bruno@clisp.org>
113400         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
113401         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
113402         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
113403         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
113404         * m4/gettext.m4: Require autoconf >= 2.52.
113405         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
113406         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
113407         of gl_cv_header_inttypes_h.
113409 2006-09-18  Bruno Haible  <bruno@clisp.org>
113411         * lib/javaversion.c: Include configmake.h.
113413 2006-09-18  Bruno Haible  <bruno@clisp.org>
113415         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
113416         avoid that the while loops be executed in a subshell.
113418 2006-09-18  Bruno Haible  <bruno@clisp.org>
113420         * MODULES.html.sh (func_module): Break long lines.
113421         Suggested by Bruce Korb <bkorb@gnu.org>.
113423 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113425         Speed up by a factor of 1.12.
113426         * gnulib-tool (nl): New variable.
113427         (func_import): Rewrite include directive extraction to only read each
113428         directive once.
113430 2006-09-17  Bruno Haible  <bruno@clisp.org>
113432         * modules/javaversion (Makefile.am): Remove DEFS setting.
113433         (Depends-on): Add configmake, for PKGDATADIR definition.
113435 2006-09-17  Bruno Haible  <bruno@clisp.org>
113437         * gnulib-tool (func_create_testdir): Rewrite all files at once.
113439 2006-09-17  Bruno Haible  <bruno@clisp.org>
113441         * gnulib-tool (func_append): New function, stolen from libtool.m4.
113442         (func_modules_transitive_closure, func_modules_add_dummy,
113443         func_modules_to_filelist, func_import, func_create_testdir,
113444         func_create_megatestdir, ...): Use it wherever possible.
113445         Suggested by Ralf Wildenhues.
113447 2006-09-16  Karl Berry  <karl@gnu.org>
113449         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
113450         to avoid sectioning errors.
113451         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
113452         [ifinfo]: blank line after @center-ed titles.
113453         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
113454         Spell FSF address consistently with others.
113455         (These changes approved by rms.)
113457 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113459         Speed up by a factor of 1.61.
113460         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
113461         already checked module names again.
113463 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113465         Speed up by a factor of 1.13.
113466         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
113467         for new_files, and the input to func_add_or_update.
113469 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113471         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
113472         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
113474 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113476         * modules/mkancesdirs (Depends-on): Add fcntl.
113477         * modules/savewd: New file.
113478         * MODULES.html.sh (File system functions): Add savewd.
113480         * modules/configmake (Makefile.am): Add support for the
113481         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
113483 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113485         * m4/savewd.m4: New file.
113487 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113489         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
113490         (dirchownmod): New arg FD.  All callers changed.
113491         Use FD rather than opening the directory ourself, as opening is
113492         now the caller's responsibility.
113493         * lib/dirchownmod.h: Likewise.
113494         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
113495         hosts that require <sys/types.h> before <sys/stat.h>.  Include
113496         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
113497         (test_dir): Remove.
113498         (mkancesdirs): Return length of prefix of FILE that has already
113499         been made, or -2 if there is a child doing the work.  Redo
113500         algorithm so that it is O(N) rather than O(N**2).  Optimize away
113501         ".", and treat ".." specially since it might stray back into
113502         already-created areas.  Use a subprocess if necessary.  New arg
113503         WD; all users changed.  MAKE_DIR function should now return 1
113504         if it creates a directory that is not readable.  Return -2 if
113505         a child process is spun off.
113506         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
113507         Adjust signature to match code.
113508         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
113509         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
113510         all users changed.
113511         * lib/savewd.c, lib/savewd.h: New files.
113513 2006-09-15  Jim Meyering  <jim@meyering.net>
113515         * modules/rename-dest-slash: New module.
113516         * MODULES.html.sh (posix_compat): Add it here.
113518         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
113520 2006-09-15  Jim Meyering  <jim@meyering.net>
113522         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
113523         file.
113525         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
113527 2006-09-15  Jim Meyering  <jim@meyering.net>
113529         * lib/rename-dest-slash.c (has_trailing_slash): Use
113530         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
113531         (rpl_rename_dest_slash): Perform the cheaper trailing slash
113532         test before testing whether SRC is a directory.
113533         Suggestions from Bruno Haible.
113535         Avoid a warning about an unused variable.
113536         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
113537         into the #ifdef block where it's used.
113539         * lib/rename-dest-slash.c: New file.
113541 2006-09-14  Bruno Haible  <bruno@clisp.org>
113543         * lib/allocsa.c: Include <config.h> unconditionally.
113544         * lib/asnprintf.c: Likewise.
113545         * lib/asprintf.c: Likewise.
113546         * lib/c-strcasecmp.c: Likewise.
113547         * lib/c-strcasestr.c: Likewise.
113548         * lib/c-strncasecmp.c: Likewise.
113549         * lib/c-strstr.c: Likewise.
113550         * lib/classpath.c: Likewise.
113551         * lib/clean-temp.c: Likewise.
113552         * lib/concatpath.c: Likewise.
113553         * lib/copy-file.c: Likewise.
113554         * lib/csharpcomp.c: Likewise.
113555         * lib/csharpexec.c: Likewise.
113556         * lib/execute.c: Likewise.
113557         * lib/fatal-signal.c: Likewise.
113558         * lib/findprog.c: Likewise.
113559         * lib/fwriteerror.c: Likewise.
113560         * lib/gl_array_list.c: Likewise.
113561         * lib/gl_array_oset.c: Likewise.
113562         * lib/gl_avltree_list.c: Likewise.
113563         * lib/gl_avltree_oset.c: Likewise.
113564         * lib/gl_avltreehash_list.c: Likewise.
113565         * lib/gl_carray_list.c: Likewise.
113566         * lib/gl_linked_list.c: Likewise.
113567         * lib/gl_linkedhash_list.c: Likewise.
113568         * lib/gl_list.c: Likewise.
113569         * lib/gl_oset.c: Likewise.
113570         * lib/gl_rbtree_list.c: Likewise.
113571         * lib/gl_rbtree_oset.c: Likewise.
113572         * lib/gl_rbtreehash_list.c: Likewise.
113573         * lib/imaxabs.c: Likewise.
113574         * lib/imaxdiv.c: Likewise.
113575         * lib/javacomp.c: Likewise.
113576         * lib/javaexec.c: Likewise.
113577         * lib/javaversion.c: Likewise.
113578         * lib/linebreak.c: Likewise.
113579         * lib/localcharset.c: Likewise.
113580         * lib/lock.c: Likewise.
113581         * lib/mbchar.c: Likewise.
113582         * lib/mbswidth.c: Likewise.
113583         * lib/mkdtemp.c: Likewise.
113584         * lib/pipe.c: Likewise.
113585         * lib/printf-args.c: Likewise.
113586         * lib/printf-parse.c: Likewise.
113587         * lib/progname.c: Likewise.
113588         * lib/progreloc.c: Likewise.
113589         * lib/readlink.c: Likewise.
113590         * lib/sh-quote.c: Likewise.
113591         * lib/stpcpy.c: Likewise.
113592         * lib/stpncpy.c: Likewise.
113593         * lib/strcasecmp.c: Likewise.
113594         * lib/strcasestr.c: Likewise.
113595         * lib/strcspn.c: Likewise.
113596         * lib/striconv.c: Likewise.
113597         * lib/strncasecmp.c: Likewise.
113598         * lib/strnlen1.c: Likewise.
113599         * lib/strstr.c: Likewise.
113600         * lib/strtok_r.c: Likewise.
113601         * lib/tls.c: Likewise.
113602         * lib/tmpdir.c: Likewise.
113603         * lib/unicodeio.c: Likewise.
113604         * lib/unsetenv.c: Likewise.
113605         * lib/vasnprintf.c: Likewise.
113606         * lib/vasprintf.c: Likewise.
113607         * lib/wait-process.c: Likewise.
113608         * lib/xallocsa.c: Likewise.
113609         * lib/xsetenv.c: Likewise.
113610         * lib/xstriconv.c: Likewise.
113612 2006-09-13  Simon Josefsson  <jas@extundo.com>
113614         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
113615         that internally, suggested by Ralf Wildenhues
113616         <Ralf.Wildenhues@gmx.de>.
113618 2006-09-13  Simon Josefsson  <jas@extundo.com>
113620         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
113621         @LIBOBJS@.
113622         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
113624 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
113626         * lib/_fpending.c: Include <config.h> unconditionally, since we no
113627         longer worry about uses that don't define HAVE_CONFIG_H.
113628         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
113629         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
113630         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
113631         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
113632         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
113633         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
113634         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
113635         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
113636         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
113637         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
113638         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
113639         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
113640         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
113641         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
113642         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
113643         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
113644         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
113645         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
113646         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
113647         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
113648         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
113649         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
113650         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
113651         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
113652         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
113653         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
113654         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
113655         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
113656         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
113657         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
113658         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
113659         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
113660         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
113661         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
113662         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
113663         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
113664         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
113665         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
113666         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
113667         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
113668         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
113669         Likewise.
113671 2006-09-13  Eric Blake  <ebb9@byu.net>
113673         * lib/getopt.c: Fix typo in last commit.
113675 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
113677         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
113678         dgettext.
113680 2006-09-12  Jim Meyering  <jim@meyering.net>
113682         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
113683         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
113684         Reported by Nelson H. F. Beebe.
113686 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
113688         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
113689         program_invocation_name and program_invocation_short_name are
113690         initialized.
113691         * lib/argp-namefrob.h: Move declarations of program_invocation_name
113692         and program_invocation_short_name to argp.h, so they are visible
113693         to user programs.
113694         * lib/argp.h: Likewise
113696 2006-09-10  Bruno Haible  <bruno@clisp.org>
113698         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113699         m4/inttypes_h.m4, m4/uintmax_t.m4.
113701 2006-09-10  Bruno Haible  <bruno@clisp.org>
113703         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
113704         gl_AC_TYPE_UINTMAX_T.
113706 2006-09-10  Bruno Haible  <bruno@clisp.org>
113708         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
113710 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
113712         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
113713         convention.  Text proposed by Bruno Haible.
113714         (struct argp_option): Document the use of N_() wrappers.
113716         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
113717         '\v', and translate the two parts separately, instead of feeding
113718         the whole string to gettext.  This allows to exclude
113719         '\v' from the strings visible to the translator by writing doc
113720         strings as N_("..") "\v" N_("..").
113722 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
113724         * config/srclist.txt: Undo latest change; the bug was fixed.
113726 2006-09-09  Bruno Haible  <bruno@clisp.org>
113728         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
113729         assignments if building a library without libtool.
113730         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
113731         in func_emit_lib_Makefile_am.
113732         (func_import): When building a static library libfoo.a, arrange to
113733         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
113734         (func_create_testdir): Likewise.
113735         * modules/gc (configure.ac, Makefile.am): If building statically,
113736         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
113737         * modules/iconvme (configure.ac, Makefile.am): Likewise.
113738         * modules/striconv (configure.ac, Makefile.am): Likewise.
113739         Based on a suggestion by Ralf Wildenhues.
113741 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113743         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
113744         Check for unistd.h too, since Autoconf doesn't assume POSIX.
113745         Also:
113747         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113748         Add year_2050_test to catch glibc bug 2821
113749         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113751         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113752         Prefer #ifdef to #if.
113754         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
113755         Return from 'main' instead of calling 'exit'.
113757 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113759         * lib/mktime.c (guess_time_tm): Fix bug where mktime
113760         returned the maximum time_t value rather than (time_t) -1.
113761         Problem originally reported by William Bardwell
113762         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113764         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113765         Moved to here ...
113766         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113767         ... from here.
113769 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113771         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
113772         2821 is fixed.
113774 2006-09-08  Jim Meyering  <jim@meyering.net>
113776         Don't make generated files read-only.  That would bother too many
113777         people.  However, do retain the ability to work when targets are
113778         read-only: remove the destination and temporary files before writing
113779         them (when generated via sed or echo), or by using the -f option for
113780         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
113781         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113782         * modules/byteswap, modules/configmake, modules/fcntl:
113783         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113784         * modules/localcharset, modules/netinet_in, modules/poll:
113785         * modules/stdbool, modules/stdint, modules/sys_select:
113786         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113788 2006-09-08  Jim Meyering  <jim@meyering.net>
113790         Avoid new build failure on FreeBSD 6.0.
113791         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
113792         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
113793         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
113795 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113797         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
113799 2006-09-07  Jim Meyering  <jim@meyering.net>
113801         Fix global typo in last change: use chmod u-w, not chmod u-x.
113802         Spotted by Paul Eggert and Bruce Korb.
113803         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113804         * modules/byteswap, modules/configmake, modules/fcntl:
113805         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113806         * modules/localcharset, modules/netinet_in, modules/poll:
113807         * modules/stdbool, modules/stdint, modules/sys_select:
113808         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113810 2006-09-06  Jim Meyering  <jim@meyering.net>
113812         Make generated files be read-only.
113813         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
113814         Ensure that each generated file is now read-only.
113815         * modules/argz: Likewise.
113816         * modules/arpa_inet: Likewise.
113817         * modules/byteswap: Likewise.
113818         * modules/configmake: Likewise.
113819         * modules/fcntl: Likewise.
113820         * modules/fnmatch: Likewise.
113821         * modules/getopt: Likewise.
113822         * modules/glob: Likewise.
113823         * modules/inttypes: Likewise.
113824         * modules/netinet_in: Likewise.
113825         * modules/poll: Likewise.
113826         * modules/stdbool: Likewise.
113827         * modules/stdint: Likewise.
113828         * modules/sys_select: Likewise.
113829         * modules/sys_socket: Likewise.
113830         * modules/sys_stat: Likewise.
113831         * modules/sysexits: Likewise.
113832         * modules/localcharset: Same as above, but continue using temporary
113833         file named "t-$@" (why different?) rather than the "$@-t" used
113834         everywhere else.
113836         * modules/sysexits (Makefile.am): Replace literal occurrences
113837         of "sysexit.h" more readable, and more consistent, "$@".
113839 2006-09-06  Bruno Haible  <bruno@clisp.org>
113841         * modules/striconv: New file.
113842         * modules/xstriconv: New file.
113843         * MODULES.html.sh (Internationalization functions): Add striconv,
113844         xstriconv.
113846 2006-09-06  Bruno Haible  <bruno@clisp.org>
113848         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
113849         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
113850         not using libtool correctly.
113852 2006-09-06  Bruno Haible  <bruno@clisp.org>
113854         * lib/striconv.h: New file.
113855         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
113856         iconvstring.c.
113857         * lib/xstriconv.h: New file.
113858         * lib/xstriconv.c: New file.
113860 2006-09-06  Bruno Haible  <bruno@clisp.org>
113862         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
113863         lib_..._LDFLAGS.
113865 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113867         * lib/argz_.h: Sync from Libtool.
113869         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
113870                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
113872         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
113874 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113876         * modules/trim: New file.
113878 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113880         * lib/trim.h: New file.
113881         * lib/trim.c: New file.
113883 2006-09-05  Bruno Haible  <bruno@clisp.org>
113885         * MODULES.html.sh (String handling): Add trim.
113887 2006-09-04  Karl Berry  <karl@gnu.org>
113889         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
113890         until next release.
113892 2006-09-03  Bruno Haible  <bruno@clisp.org>
113894         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
113895         correctly.
113897 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113899         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
113900         not gl_GETLOADAVG.  Omit unneeded semicolons.
113901         Problems reported by Ralf Wildenhues in
113902         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113903         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
113904         at the end, which is the usual gnulib style.
113906         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
113907         of doing all the work ourselves.
113908         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
113909         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
113911 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113913         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
113914         Problem reported by Ralf Wildenhues in
113915         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113917         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
113918         HAVE_STRUCT_STATFS_F_FSTYPENAME.
113920 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113922         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
113923         yesterday's patch by changing test -n to test -z.
113925 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113927         * modules/getloadavg (Files): Add m4/getloadavg.m4.
113928         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
113929         the former is now obsolescent.
113931         * modules/chdir-long (Depends-on): Add fcntl.
113933 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113935         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
113936         obsolescent, and programs should use gnulib instead.
113937         * m4/getloadavg.m4: New file, with contents taken from Autoconf
113938         but with prefixes changed.
113940 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113942         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
113943         or stdbool.h, because they might not exist while configuring.
113945         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
113946         Don't include unistd.h or limits.h; not needed, since chdir-long.h
113947         does that for us.
113948         (O_DIRECTORY): Remove.
113950 2006-08-31  Eric Blake  <ebb9@byu.net>
113952         * gnulib-tool: Don't let emacs change spaces to TAB.
113954 2006-08-31  Bruno Haible  <bruno@clisp.org>
113956         * gnulib-tool: When calling func_import more than once, do it in a
113957         subshell.
113958         Reported by Eric Blake <ebb9@byu.net>.
113960 2006-08-31  Bruno Haible  <bruno@clisp.org>
113962         * gnulib-tool (nl): Remove variable.
113963         (sed_transform_lib_file): Use more robust test for config-h module.
113964         (func_import): Fix typo in 2006-08-25 patch.
113966 2006-08-31  Bruno Haible  <bruno@clisp.org>
113968         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
113969         specified, augment Makefile.am variables instead of assigning them.
113971 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113973         Work around a bug in both the Linux and SunOS 64-bit kernels:
113974         nanosleep mishandles sleeps for longer than 2**31 seconds.
113975         Problem reported by Frank v Waveren in
113976         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113977         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
113978         Check for nanosleep bug.
113979         (LIB_NANOSLEEP): Append clock_gettime library if needed.
113981 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113983         Work around a bug in both the Linux and SunOS 64-bit kernels:
113984         nanosleep mishandles sleeps for longer than 2**31 seconds.
113985         Problem reported by Frank v Waveren in
113986         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113987         * lib/nanosleep.c (BILLION): New constant.
113988         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
113989         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
113990         implementation.
113992 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113994         * modules/nanosleep (Depends-on): Add gettime.
113996 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113997         and Simon Josefsson  <jas@extundo.com>
113998         and Oskar Liljeblad  <oskar@osk.mine.nu>
114000         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
114001         * gnulib-tool (func_import): New license type 'unmodifiable license
114002         text'.
114003         * modules/fdl: Use it.  Longer description.
114004         * module/gpl, module/lgpl: New files.
114006 2006-08-30  Jim Meyering  <jim@meyering.net>
114008         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
114009         shadowing the parameter.
114011 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114013         Sync from Libtool:
114015         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114017         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
114018         sharing with gnulib.  Report by Eric Blake.
114020 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114022         * modules/isapipe: New file.
114023         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
114025 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114027         * modules/configmake (Makefile.am): Add a comment, and omit
114028         the CONFIGMAKE_ prefix from generated macro names.  Suggested
114029         by Bruno Haible.
114031 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114033         * m4/isapipe.m4: New file.
114035 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
114037         * lib/isapipe.c, lib/isapipe.h: New files.
114039 2006-08-29  Jim Meyering  <jim@meyering.net>
114041         * modules/configmake (Makefile.am): Make configmake.h depend on
114042         Makefile.  Otherwise, a stale configmake.h could hang around.
114044 2006-08-29  Eric Blake  <ebb9@byu.net>
114046         * lib/error.c (error_at_line, print_errno_message): Match libc, after
114047         resolution of upstream bug 3044.
114049 2006-08-29  Bruno Haible  <bruno@clisp.org>
114051         * modules/localcharset (Depends-on): Add configmake.
114052         (Makefile.am): Remove setting of LIBDIR through DEFS.
114054 2006-08-29  Bruno Haible  <bruno@clisp.org>
114056         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
114057         defined.
114059 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114061         * modules/fcntl: New file.
114062         * modules/chdir-safer (Depends-on): Add fcntl.
114063         * modules/fts: Likewise.
114064         * modules/mkdir-p: Likewise.
114066         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
114067         This undoes the most recent change, since we're now addressing the
114068         problem in a different way.
114070         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
114071         into output, since the output might be called Makefile.am even
114072         if $makefile_name is something different.
114073         (func_import): Use $makefile_am rather than
114074         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
114075         empty.
114077         * modules/inttypes (Files): Add m4/inttypes-h.m4.
114079 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114081         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
114082         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
114083         recent change to stdint.m4, since we're now addressing the problem in a
114084         different way.
114086 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114088         * m4/fcntl_h.m4: New file.
114090 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
114092         * lib/fcntl_.h: New file.
114093         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
114094         the fcntl module.
114095         * lib/dirchownmod.c: Likewise.
114096         * lib/fts.c: Likewise.
114098         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
114099         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
114100         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
114101         just before including <inttypes.h>, to avoid circular inclusion.
114103 2006-08-28  Jim Meyering  <jim@meyering.net>
114105         * doc/visibility.texi: Actually read and correct the grammar of the
114106         sentence affected by yesterday's change.
114108 2006-08-28  Eric Blake  <ebb9@byu.net>
114110         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
114111         needs wrapper.
114113 2006-08-28  Eric Blake  <ebb9@byu.net>
114115         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
114117 2006-08-28  Eric Blake  <ebb9@byu.net>
114119         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
114121 2006-08-28  Bruno Haible  <bruno@clisp.org>
114123         * modules/c-strstr: New file, from GNU gettext.
114124         * MODULES.html.sh (String handling): Add c-strstr.
114126 2006-08-28  Bruno Haible  <bruno@clisp.org>
114128         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
114129         macros.
114130         Reported by Eric Blake.
114132 2006-08-28  Bruno Haible  <bruno@clisp.org>
114134         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
114135         (VASNPRINTF): Return a string of length > INT_MAX without failing.
114136         * lib/vasprintf.c: Include errno.h, limits.h.
114137         (EOVERFLOW): New fallback definition.
114138         (vasprintf): Test here whether the string length is > INT_MAX.
114139         * lib/vsnprintf.c: Include errno.h, limits.h.
114140         (EOVERFLOW): New fallback definition.
114141         (vsnprintf): Fix bug when generated string was too long for the buffer.
114142         Test here whether the string length is > INT_MAX.
114144 2006-08-28  Bruno Haible  <bruno@clisp.org>
114146         * lib/inttypes_.h (SCNX*): Remove definitions.
114147         Reported by Eric Blake.
114149 2006-08-28  Bruno Haible  <bruno@clisp.org>
114151         * lib/c-strstr.h: New file, from GNU gettext.
114152         * lib/c-strstr.c: New file, from GNU gettext.
114154 2006-08-28  Bruno Haible  <bruno@clisp.org>
114156         * gnulib-tool: Reorder some statements.
114158 2006-08-28  Bruno Haible  <bruno@clisp.org>
114160         * gnulib-tool: New option --makefile-name.
114161         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
114162         $makefile_name.
114163         (func_import): Write $makefile_name to the cache file, and read it from
114164         there unless explicitly specified. Use $makefile_name as file name
114165         instead of Makefile.am. Adjust the recommendations accordingly.
114167 2006-08-28  Bruno Haible  <bruno@clisp.org>
114169         * gnulib-tool (func_verify_module): Check against misapplying patch.
114171 2006-08-28  Bruno Haible  <bruno@clisp.org>
114173         * gnulib-tool (func_relativize, func_relconcat): New functions.
114174         Give an error if --local-dir is given with --update.
114175         Remove trailing slashes from $local_gnulib_dir.
114176         (func_import): Store the relativized $local_gnulib_dir in
114177         gnulib-cache.m4, and read it from there if not specified explicitly.
114179 2006-08-28  Bruno Haible  <bruno@clisp.org>
114181         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
114182         is the current directory. Respect also $local_gnulib_dir.
114184 2006-08-28  Bruno Haible  <bruno@clisp.org>
114185             Simon Josefsson  <jas@extundo.com>
114187         BeOS portability.
114188         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
114190 2006-08-27  Jim Meyering  <jim@meyering.net>
114192         * doc/visibility.texi: Remove duplicate word: "pointer".
114194 2006-08-26  Bruno Haible  <bruno@clisp.org>
114196         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
114197         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
114198         (Makefile.am): Create inttypes.h from inttypes_.h.
114199         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
114201         * modules/imaxabs: New file.
114203         * modules/imaxdiv: New file.
114205 2006-08-26  Bruno Haible  <bruno@clisp.org>
114207         * m4/inttypes.m4: New file.
114208         * m4/_inttypes_h.m4: Remove file.
114209         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
114210         PRI_MACROS_BROKEN.
114211         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
114213         * m4/imaxabs.m4: New file.
114215         * m4/imaxdiv.m4: New file.
114217 2006-08-26  Bruno Haible  <bruno@clisp.org>
114219         * lib/inttypes_.h: New file.
114220         * lib/inttypes.h: Remove file.
114221         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
114223         * lib/imaxabs.c: New file.
114225         * lib/imaxdiv.c: New file.
114227 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114229         New config-h module, so that "make" output needn't be cluttered
114230         by -DHAVE_CONFIG_H.
114231         * MODULES.html.sh (Support for building libraries and executables):
114232         Add config-h.
114233         * modules/config-h: New file.
114234         * gnulib-tool (nl, sed_transform_lib_file): New vars.
114235         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
114236         the config-h module is used.
114238         New configmake module, so that "make" output needn't be cluttered
114239         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
114240         * MODULES.html.sh (Support for building libraries and executables):
114241         Add configmake.
114242         * modules/configmake: New file.
114244 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114246         * m4/config-h.m4: New file.
114248 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114250         * config/srclist.txt: Add elisp-comp.
114252 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114254         * MODULES.html.sh (Support for building libraries and executables):
114255         Add elisp-comp.
114256         * build-aux/elisp-comp: New file.
114257         * modules/elisp-comp: New file.
114259 2006-08-24  Bruno Haible  <bruno@clisp.org>
114261         * gnulib-tool (func_create_testdir): Use non-default values of
114262         sourcebase and m4base.
114264 2006-08-24  Bruno Haible  <bruno@clisp.org>
114266         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
114267         HTML structure.
114269 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114271         * modules/openat (Depends-on): Add lchown.
114273 2006-08-23  Bruno Haible  <bruno@clisp.org>
114275         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
114276         of gl_LOCK_EARLY instead of gl_LOCK.
114278 2006-08-23  Bruno Haible  <bruno@clisp.org>
114280         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
114281         on OSF/1 to no.
114282         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
114284 2006-08-23  Bruno Haible  <bruno@clisp.org>
114286         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
114287         as unusable.
114289         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
114290         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
114291         (gl_LOCK): New macro.
114293 2006-08-22  Simon Josefsson  <jas@extundo.com>
114295         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
114296         to md5 module.
114298 2006-08-22  Simon Josefsson  <jas@extundo.com>
114300         * MODULES.html.sh: Add "Support for maintaining and release
114301         projects".
114303         * build-aux/gnupload: New file, from coreutils.
114305 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114307         Avoid the need for AC_LIBSOURCES in m4 macros.
114308         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
114309         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
114310         * modules/check-version (EXTRA_DIST): Add check-version.h.
114311         * modules/crc (EXTRA_DIST): Add crc.h.
114312         * modules/des (EXTRA_DIST): Add des.h.
114313         * modules/gc (EXTRA_DIST): Add gc.h.
114314         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
114315         * modules/getline (EXTRA_DIST): Add getline.h.
114316         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
114317         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
114318         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
114319         * modules/md2 (EXTRA_DIST): Add md2.h.
114320         * modules/md4 (EXTRA_DIST): Add md4.h.
114321         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
114322         * modules/read-file (EXTRA_DIST): Add read-file.h.
114323         * modules/readline (EXTRA_DIST): Add readline.h.
114324         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
114325         rijndael-api-fst.h.
114327 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114329         * m4/rijndael.m4 (gl_ARCFOUR):
114330         * m4/arctwo.m4 (gl_ARCTWO):
114331         * m4/check-version.m4 (gl_CHECK_VERSION):
114332         * m4/crc.m4 (gl_CRC):
114333         * m4/des.m4 (gl_DES):
114334         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
114335         * m4/gc.m4 (gl_GC):
114336         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
114337         * m4/getline.m4 (gl_FUNC_GETLINE):
114338         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
114339         * m4/hmac-md5.m4 (gl_HMAC_MD5):
114340         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
114341         * m4/md2.m4 (gl_MD2):
114342         * m4/md4.m4 (gl_MD4):
114343         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
114344         * m4/read-file.m4 (gl_FUNC_READ_FILE):
114345         * m4/readline.m4 (gl_FUNC_READLINE):
114346         * m4/rijndael.m4 (gl_RIJNDAEL):
114347         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114348         to get the necessary .h files and whatnot.
114350 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
114352         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
114353         gnulib rather than the other way around.
114354         * config/srclistvars.sh (COREUTILS): Remove.
114356 2006-08-22  Jim Meyering  <jim@meyering.net>
114358         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
114360         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
114362 2006-08-22  Eric Blake  <ebb9@byu.net>
114364         * modules/regexprops-generic: New file.
114365         * MODULES.html.sh (Support for building documentation): List it.
114367 2006-08-22  Eric Blake  <ebb9@byu.net>
114369         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
114370         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
114371         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
114372         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
114374 2006-08-22  Bruno Haible  <bruno@clisp.org>
114376         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
114377         and lib_LTLIBRARIES like the other lib_* variables.
114379 2006-08-22  Bruno Haible  <bruno@clisp.org>
114381         * build-aux/x-to-1.in: New file, from GNU gettext.
114383 2006-08-22  Bruno Haible  <bruno@clisp.org>
114385         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
114386         <utmpx.h> exists.
114388 2006-08-22  Bruno Haible  <bruno@clisp.org>
114390         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
114391         <utmpx.h> exists.
114393 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114395         BeOS portability.
114396         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
114397         exist.
114398         Problem reported by Bruno Haible.
114400 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114402         Avoid the need for AC_LIBSOURCES in m4 macros.
114403         * modules/acl (EXTRA_DIST): Add acl.h.
114404         * modules/argmatch (Files): Add m4/argmatch.m4.
114405         (configure.ac): Add gl_ARGMATCH.
114406         (EXTRA_DIST): Renamed from lib_SOURCES, for
114407         consistency with the other modules.  Remove argmatch.c.
114408         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
114409         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
114410         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
114411         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
114412         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
114413         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
114414         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
114415         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
114416         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
114417         * modules/closeout (EXTRA_DIST): Add closeout.h.
114418         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
114419         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
114420         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
114421         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
114422         dirname.h; remove basename.c and stripslash.c.
114423         * modules/exclude (EXTRA_DIST): Add exclude.h.
114424         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
114425         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
114426         * modules/file-type (EXTRA_DIST): Add file-type.h.
114427         * modules/filemode (EXTRA_DIST): Add filemode.h.
114428         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
114429         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114430         * modules/fpending (EXTRA_DIST): Add __fpending.h.
114431         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
114432         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
114433         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
114434         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
114435         * modules/getdate (EXTRA_DIST): Add getdate.c.
114436         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
114437         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
114438         * modules/getpass (EXTRA_DIST): Add getpass.h.
114439         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
114440         * modules/group-member (EXTRA_DIST): Add group-member.h.
114441         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
114442         * modules/hash (EXTRA_DIST): Add hash.h.
114443         * modules/human (EXTRA_DIST): Add human.h.
114444         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
114445         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
114446         * modules/lchown (EXTRA_DIST): Add lchown.h.
114447         * modules/long-options (EXTRA_DIST): Add long-options.h.
114448         * modules/lstat (EXTRA_DIST): Add lstat.h.
114449         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
114450         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
114451         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
114452         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
114453         * modules/memxor (EXTRA_DIST): Add memxor.h.
114454         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
114455         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
114456         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
114457         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
114458         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
114459         * modules/physmem (EXTRA_DIST): Add physmem.h.
114460         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
114461         * modules/posixver (EXTRA_DIST): Add posixver.h.
114462         * modules/quote (EXTRA_DIST): Add quote.h.
114463         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
114464         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
114465         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
114466         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
114467         regex_internal.h regexec.c.
114468         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
114469         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
114470         * modules/same (EXTRA_DIST): Add same.h.
114471         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
114472         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
114473         * modules/savedir (EXTRA_DIST): Add savedir.h.
114474         * modules/sha1 (EXTRA_DIST): Add sha1.h.
114475         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
114476         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
114477         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
114478         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
114479         * modules/strdup (EXTRA_DIST): Add strdup.h.
114480         * modules/strftime (EXTRA_DIST): Add strftime.h.
114481         * modules/strndup (EXTRA_DIST): Add strndup.h.
114482         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
114483         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
114484         * modules/time_r (EXTRA_DIST): Add time_r.h.
114485         * modules/timespec (EXTRA_DIST): Add timespec.h.
114486         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
114487         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
114488         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
114489         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
114490         * modules/userspec (EXTRA_DIST): Add userspec.h.
114491         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
114492         * modules/utimens (EXTRA_DIST): Add utimens.h.
114493         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
114494         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
114495         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
114496         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
114497         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
114498         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
114499         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
114500         * modules/yesno (EXTRA_DIST): Add yesno.h.
114502 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
114504         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
114506         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
114507         * m4/dev-ino.m4, same-inode.m4: Remove.
114509         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
114510         * m4/acl.m4 (AC_FUNC_ACL):
114511         * m4/backupfile.m4 (gl_BACKUPFILE):
114512         * m4/c-strtod.m4 (gl_C99_STRTOLD):
114513         * m4/canon-host.m4 (gl_CANON_HOST):
114514         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
114515         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
114516         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
114517         * m4/cloexec.m4 (gl_CLOEXEC):
114518         * m4/close-stream.m4 (gl_CLOSE_STREAM):
114519         * m4/closeout.m4 (gl_CLOSEOUT):
114520         * m4/dirfd.m4 (gl_FUNC_DIRFD):
114521         * m4/dirname.m4 (gl_DIRNAME):
114522         * m4/exclude.m4 (gl_EXCLUDE):
114523         * m4/exitfail.m4 (gl_EXITFAIL):
114524         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
114525         * m4/file-type.m4 (gl_FILE_TYPE):
114526         * m4/filemode.m4 (gl_FILEMODE):
114527         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
114528         * m4/fpending.m4 (gl_FUNC_FPENDING):
114529         * m4/fprintftime.m4 (gl_FPRINTFTIME):
114530         * m4/fts.m4 (gl_FUNC_FTS):
114531         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
114532         * m4/getdate.m4 (gl_GETDATE):
114533         * m4/gethrxtime.m4 (gl_GETHRXTIME):
114534         * m4/getpagesize.m4 (gl_GETPAGESIZE):
114535         * m4/getpass.m4 (gl_FUNC_GETPASS):
114536         * m4/gettime.m4 (gl_GETTIME):
114537         * m4/getugroups.m4 (gl_GETUGROUPS):
114538         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
114539         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
114540         * m4/hard-locale.m4 (gl_HARD_LOCALE):
114541         * m4/hash.m4 (gl_HASH):
114542         * m4/idcache.m4 (gl_IDCACHE):
114543         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
114544         * m4/lchown.m4 (gl_FUNC_LCHOWN):
114545         * m4/long-options.m4 (gl_LONG_OPTIONS):
114546         * m4/lstat.m4 (gl_FUNC_LSTAT):
114547         * m4/md5.m4 (gl_MD5):
114548         * m4/memcasecmp.m4 (gl_MEMCASECMP):
114549         * m4/memcoll.m4 (gl_MEMCOLL):
114550         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
114551         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
114552         * m4/memxor.m4 (gl_MEMXOR):
114553         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
114554         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
114555         * m4/modechange.m4 (gl_MODECHANGE):
114556         * m4/mountlist.m4 (gl_MOUNTLIST):
114557         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
114558         * m4/openat.m4 (gl_FUNC_OPENAT):
114559         * m4/pathmax.m4 (gl_PATHMAX):
114560         * m4/physmem.m4 (gl_PHYSMEM):
114561         * m4/posixtm.m4 (gl_POSIXTM):
114562         * m4/posixver.m4 (gl_POSIXVER):
114563         * m4/quote.m4 (gl_QUOTE):
114564         * m4/quotearg.m4 (gl_QUOTEARG):
114565         * m4/readtokens.m4 (gl_READTOKENS):
114566         * m4/readutmp.m4 (gl_READUTMP):
114567         * m4/regex.m4 (gl_REGEX):
114568         * m4/safe-read.m4 (gl_SAFE_READ):
114569         * m4/safe-write.m4 (gl_SAFE_WRITE):
114570         * m4/same.m4 (gl_SAME):
114571         * m4/save-cwd.m4 (gl_SAVE_CWD):
114572         * m4/savedir.m4 (gl_SAVEDIR):
114573         * m4/settime.m4 (gl_SETTIME):
114574         * m4/sha1.m4 (gl_SHA1):
114575         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
114576         * m4/stat-macros.m4 (gl_STAT_MACROS):
114577         * m4/stat-time.m4 (gl_STAT_TIME):
114578         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
114579         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
114580         * m4/strdup.m4 (gl_FUNC_STRDUP):
114581         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
114582         * m4/strndup.m4 (gl_FUNC_STRNDUP):
114583         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
114584         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
114585         * m4/time_r.m4 (gl_TIME_R):
114586         * m4/timespec.m4 (gl_TIMESPEC):
114587         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
114588         * m4/unlinkdir.m4 (gl_UNLINKDIR):
114589         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
114590         * m4/userspec.m4 (gl_USERSPEC):
114591         * m4/utimecmp.m4 (gl_UTIMECMP):
114592         * m4/utimens.m4 (gl_UTIMENS):
114593         * m4/xalloc.m4 (gl_XALLOC):
114594         * m4/xgetcwd.m4 (gl_XGETCWD):
114595         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
114596         * m4/xreadlink.m4 (gl_XREADLINK):
114597         * m4/xstrtod.m4 (gl_XSTRTOD):
114598         * m4/yesno.m4 (gl_YESNO):
114599         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114600         to get the necessary .h files and whatnot.
114602 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
114603             Bruno Haible  <bruno@clisp.org>
114605         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
114606         /bin/sh understanding of '!' conditional negation.
114608 2006-08-21  Jim Meyering  <jim@meyering.net>
114610         * modules/openat (Depends-on): Really alphabetize.
114612         * modules/acl (Depends-on): Add error and quote.
114614         * check-module (find_included_lib_files): Add at-func.c to the
114615         ok-to-include-more-than-once white list.
114617         * modules/openat (Depends-on): Add lstat.  Alphabetize.
114619 2006-08-21  Bruno Haible  <bruno@clisp.org>
114621         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114622         Emit a pkgdata_DATA variable only if some snippets add contents to it.
114623         Reported by Martin Lambers <marlam@marlam.de>.
114625 2006-08-21  Bruno Haible  <bruno@clisp.org>
114627         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
114628         specify an installation location, don't emit a noinst_LIBRARIES or
114629         noinst_LTLIBRARIES assignment.
114631 2006-08-21  Bruno Haible  <bruno@clisp.org>
114633         BeOS portability.
114634         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
114635         BeOS has mbrtowc() but no <wctype.h>.
114637 2006-08-21  Bruno Haible  <bruno@clisp.org>
114639         BeOS portability.
114640         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
114641         exist.
114643 2006-08-21  Bruno Haible  <bruno@clisp.org>
114645         BeOS portability.
114646         * lib/mbchar.h: Include <wctype.h> only if it exists.
114648 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114650         Remove files that are no longer needed by their respective modules.
114651         * m4/obstack.m4: Remove.
114652         * m4/strerror_r.m4: Remove.
114653         * m4/uint32_t.m4: Remove.
114654         * m4/uintptr_t.m4: Remove.
114655         * m4/ullong_max.m4: Remove.
114656         * m4/xstrtoimax.m4: Remove.
114657         * m4/xstrtoumax.m4: Remove.
114659         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
114660         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
114661         dependencies now capture this.
114663         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
114664         Do not use AC_LIBSOURCES, since gnulib modules now do this.
114665         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
114666         * m4/human.m4 (gl_HUMAN): Likewise.
114667         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
114668         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
114670         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
114672         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
114673         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
114674         stdint.
114675         * m4/human.m4 (gl_HUMAN): Likewise.
114676         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
114677         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
114678         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114679         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114680         * m4/xstrtol (gl_XSTRTOL): Likewise.
114682         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
114683         AC_TYPE_LONG_LONG_INT.
114684         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114685         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
114686         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
114687         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114689         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
114690         on stdbool.
114692         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
114693         (gl_PREREQ_XSTRTOUL): Remove.
114695         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
114697         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
114698         mode.
114700 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114702         Add and change modules to make it easier for coreutils to use
114703         gnulib-tool.
114704         * modules/backupfile (Files): Remove m4/d-ino.m4.
114705         (Depends-on): Add d-ino.
114706         * modules/cycle-check (Depends-on): Add stdint.
114707         (lib_SOURCES): Add cycle-check.h.
114708         * modules/d-ino: New module.
114709         * modules/d-type: New module.
114710         * modules/error (Files): Remove m4/strerror_r.m4.
114711         * modules/filemode (Files): Add m4/st_dm_mode.m4.
114712         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114713         m4/inttypes_h.m4, m4/uintmax_t.m4.
114714         (Depends-on): Add stdint.
114715         (lib_SOURCES): Add fsusage.h.
114716         * modules/getcwd (Files): Remove d-ino.m4.
114717         (Depends-on): Add d-ino.
114718         * modules/getndelim2 (Depends-on): Add stdint.
114719         * modules/glob (Files): Remove m4/d-type.m4.
114720         (Depends-on): Add d-type.
114721         * modules/host-os: New module.
114722         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
114723         m4/inttypes_h.m4, m4/uintmax_t.m4.
114724         * Depends-on: Add stdint.
114725         (lib_SOURCES): Add human.h.
114726         * modules/inttostr (Files): Remove m4/intmax_t.m4,
114727         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
114728         m4/uintmax_t.m4, m4/ulonglong.m4.
114729         (Depends-on): Add stdint.
114730         (EXTRA_DIST): Add inttostr.h.
114731         * modules/lchmod: New module.
114732         * modules/link-follow: New module.
114733         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
114734         (Depends-on): Add lchmod.
114735         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
114736         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
114737         (Depends-on): Add stdint.
114738         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
114739         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
114740         (Depends-on): Add stdint.
114741         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
114742         * modules/perl: New module.
114743         * modules/regex (Depends-on): Add stdint.
114744         * modules/rmdir-errno: New module.
114745         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114746         m4/intmax_t.m4.
114747         (Depends-on): Add stdint.
114748         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114749         m4/uintmax_t.m4.
114750         (Depends-on): Add stdint.
114751         * modules/unlink-busy: New module.
114752         * modules/utimecmp (Depends-on): Add stdint.
114753         * modules/uptime: New module.
114754         * modules/winsz-ioctl: New module.
114755         * modules/winsz-termios: New module.
114756         * modules/xnanosleep (Depends-on): Add nanosleep.
114757         * modules/ullong_max: Remove.
114758         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
114759         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
114760         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
114761         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
114762         (Depends-on): Add inttypes.
114763         (lib_SOURCES): Add xstrtol.h.
114764         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
114765         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
114766         * MODULES.html.sh: Move 'assert' into the assert section.
114767         Move 'dummy' into the linking section.
114768         Remove ullong_max.
114769         Add section for compatibility checks for POSIX:2001 functions,
114770         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
114771         winsz-ioctl, and winsz-termios into it.
114772         Add lchmod.
114773         Add top-level Misc section and put host-os, perl, and uptime
114774         into it.
114776 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114778         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
114779         now assume the stdint module.  Do not include inttypes.h.
114780         * lib/fsusage.h: Likewise.
114781         * lib/getndelim2.c: Likewise.
114782         * lib/human.h: Likewise.
114783         * lib/inttostr.h: Likewise.
114784         * lib/obstack.c: Likewise.
114785         * lib/regex_internal.h: Likewise.
114786         * lib/tempname.c: Likewise.
114787         * lib/utimecmp.c: Likewise.
114788         * lib/xstrtol.h: Likewise.
114790         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
114792         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
114793         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
114794         * lib/xtime.h: Likewise.
114796 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114798         * modules/openat (Files): Add lib/fchmodat.c.
114799         Fixes problem reported by Jay Youngman.
114801 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114803         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
114804         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
114806 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
114807             Bruno Haible  <bruno@clisp.org>
114809         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
114810         and is a script that invokes bison. Tighten the code. Add comments.
114812 2006-08-18  Jim Meyering  <jim@meyering.net>
114814         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
114815         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
114816         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
114817         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
114819 2006-08-18  Bruno Haible  <bruno@clisp.org>
114821         * modules/bison-i18n: New file.
114822         * MODULES.html.sh (Internationalization functions): Add it.
114824 2006-08-18  Bruno Haible  <bruno@clisp.org>
114826         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
114827         sys/statvfs.h. When getmntinfo was found, check its declaration and
114828         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
114830 2006-08-18  Bruno Haible  <bruno@clisp.org>
114832         * m4/bison-i18n.m4: New file, from bison.
114834 2006-08-18  Bruno Haible  <bruno@clisp.org>
114836         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
114837         (ME_DUMMY): Treat "kernfs" as a dummy.
114838         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
114840 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114842         Update from coreutils.
114844         2006-08-15  Jim Meyering  <jim@meyering.net>
114846         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
114848         2006-01-17  Jim Meyering  <jim@meyering.net>
114850         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
114852         2006-01-11  Jim Meyering  <jim@meyering.net>
114854         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
114855         Check for the lchmod function.
114857 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114859         Update from coreutils.
114861         * lib/__fpending.h: Add copyright notice.
114862         * lib/fprintftime.h: Likewise.
114863         * lib/savedir.c: Use (C) in copyright notice.
114864         * lib/savedir.h: Likewise.
114866         2006-08-15  Jim Meyering  <jim@meyering.net>
114868         * lib/at-func.c: New file, with the logic of all emulated at-functions.
114869         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
114870         in support of the EXPECTED_ERRNO macro.
114871         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
114872         definitions.  Instead, define the appropriate symbols and include
114873         "at-func.c".
114874         * lib/mkdirat.c (mkdirat): Likewise.
114875         * lib/fchmodat.c (fchmodat): Likewise.
114876         (ENOSYS): Remove definition.
114877         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
114878         it.  Don't include "unistd--.h" -- it wasn't ever used.
114880         2006-01-17  Jim Meyering  <jim@meyering.net>
114882         Rewrite fts.c not to change the current working directory,
114883         by using openat, fstatat, fdopendir, etc..
114885         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
114886         (HAVE_OPENAT_SUPPORT): Define.
114887         [_LIBC] (fchdir): Don't undef or define; no longer used.
114888         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
114889         Now, this `function' always succeeds, and consumes its file descriptor
114890         parameter -- so callers must not close such FDs.  Update callers.
114891         (diropen_fd, opendirat, cwd_advance_fd): New functions.
114892         (diropen): Add parameter, SP.  Adjust all callers.
114893         Implement using diropen_fd, rather than open.
114894         (fts_open): Initialize new member, fts_cwd_fd.
114895         Remove fts_rft-setting code.
114896         (fts_close): Close fts_cwd_fd, if necessary.
114897         (__opendir2): Define in terms of opendir or opendirat,
114898         depending on whether the FST_NOCHDIR flag is set.
114899         (fts_build): Since fts_safe_changedir consumes its FD, and since
114900         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
114901         and close the dup'd file descriptor upon failure.
114902         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
114903         (fts_safe_changedir): Tweak semantics to reflect that this function
114904         now calls cwd_advance_fd and hence consumes its FD argument.
114905         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
114906         [struct FTS] (fts_rft): Remove now-unused member.
114907         [struct FTS] (fts_cycle.state): Improve comment.
114909         * lib/openat.c (openat_needs_fchdir): New function.
114910         * lib/openat.h (openat_needs_fchdir): Declare it.
114912 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
114914         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
114915         Problem and fix reported by Pádraig Brady in
114916         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
114918 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114920         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
114922 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114924         * lib/memcoll.c (memcoll): Optimize for the common case where the
114925         arguments are bytewise equal.
114927 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114929         * doc/regexprops-generic.texi: Add a copyright notice.
114931 2006-08-15  Bruno Haible  <bruno@clisp.org>
114933         * modules/tmpdir (License): Change to LGPL.
114935 2006-08-15  Bruno Haible  <bruno@clisp.org>
114937         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
114938         module.
114940 2006-08-14  Simon Josefsson  <jas@extundo.com>
114942         * config/srclist.txt: Add gnupload.
114944 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114946         Change copyright notice from LGPL 2 to GPL 2, since that's the
114947         standard form used in the gnulib repository.
114948         * tests/test-lock.c: Likewise.
114949         * tests/test-stdint.c: Likewise.
114950         * tests/test-tls.c: Likewise.
114952         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
114953         prelude-manager.  User shorter URLs for GNU projects, without '?'.
114954         Add copyright notice.
114956         * check-module: Add copyright notice.  Output a copyright
114957         notice if "--version" is specified.
114958         * modules/COPYING: New file.
114959         * tests/test-getaddrinfo.c: Add copyright notice.
114960         * tests/test-verify.c: Likewise.
114962 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114964         Change copyright notice from LGPL 2 to GPL 2, since that's the
114965         standard form used in the gnulib repository.
114966         * lib/lock.c: LGPL -> GPL.
114967         * lib/lock.h: Likewise.
114968         * lib/strnlen1.c: Likewise.
114969         * lib/strnlen1.h: Likewise.
114970         * lib/tls.c: Likewise.
114971         * lib/tls.h: Likewise.
114972         * lib/tmpdir.c: Likewise.
114974         * lib/TODO: Remove; this belongs only in coreutils.
114976 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114978         Add copyright notices to long-enough files that lack them, since
114979         otherwise the files aren't clearly free.  Use the same notice that
114980         getdate.texi already uses.
114981         * doc/alloca-opt.texi: Add copyright notice.
114982         * doc/alloca.texi: Likewise.
114983         * doc/ctime.texi: Likewise.
114984         * doc/functions.texi: Likewise.
114985         * doc/gcd.texi: Likewise.
114986         * doc/gnulib-tool.texi: Likewise.
114987         * doc/inet_ntoa.texi: Likewise.
114988         * doc/visibility.texi: Likewise.
114990         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
114991         * doc/quote.texi: Add copyright notice.
114993         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
114994         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
114995         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
114996         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
114997         is now obsolete, and give a pointer to the Sun list.
114998         Add copyright notice.
115000 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
115002         * config/srclistvars.sh: Add copyright notice.
115004 2006-08-14  Eric Blake  <ebb9@byu.net>
115006         Import the following change from libc:
115008         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
115010         Upstream bug 2997.
115011         * lib/misc/error.c: Add space between program name and message if file
115012         name is missing.
115014 2006-08-12  Karl Berry  <karl@gnu.org>
115016         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
115017         remove, these originate in gnulib now.
115019 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115021         * doc/Makefile (standards.info standards.html standards.dvi):
115022         Also depend on make-stds.texi.
115024 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
115026         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
115027         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
115029         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
115030         in wchar_t.  Problem reported by Eric Blake.
115032         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
115033         LEN is smaller than SIZE.  Suggested by Bruno Haible.
115034         Also, help the compiler to keep LEN in a register.
115036 2006-08-11  Eric Blake  <ebb9@byu.net>
115038         * users.txt: Sort.  Add tar.
115040 2006-08-11  Bruno Haible  <bruno@clisp.org>
115042         * users.txt: New file.
115044 2006-08-11  Bruno Haible  <bruno@clisp.org>
115046         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
115047         before <wchar.h>. Needed for OSF/1 and BSD/OS.
115049 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115051         * modules/snprintf (Depends-on): Remove minmax.
115052         (Maintainer): Add self and Bruno.
115054 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
115056         * lib/.cppi-disable: Add snprintf.h, socket_.h.
115057         * lib/snprintf.c: Include <errno.h> and <limits.h>.
115058         (EOVERFLOW): Define if the system does not.
115059         Do not include "minmax.h"; it wasn't used.
115060         (snprintf): Don't assume size_t promotes to an unsigned type.
115061         Fix bug when generated string was too long for the buffer: the
115062         buffer's contents are supposed to be the initial prefix of the
115063         output.  Don't assume vasnprintf returns EOVERFLOW if the size
115064         exceeds INT_MAX; do the check ourselves.
115066         Import the following changes from libc:
115068         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
115070         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
115071         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
115072         set wc to the byte which couldn't be converted.
115073         (re_string_reconstruct): Don't clear valid_raw_len before calling
115074         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
115075         tip_context using re_string_context_at.
115077         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
115079         * lib/posix/regex.h: g++ still cannot handled [restrict].
115081         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
115083         * lib/posix/regex.h: Remove special handling for VMS.
115085 2006-08-10  Jim Meyering  <jim@meyering.net>
115087         * modules/same-inode: New module.
115088         * modules/dev-ino: New module.
115089         * modules/cycle-check: Depend on these modules, rather than simply
115090         including their .h files.
115091         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
115092         required via m4/cycle-check.m4.
115093         * modules/same: Depend on new same-inode module, rather than
115094         including same-inode.h.
115095         * modules/chdir-safer: New file.
115097         * modules/chown (Depends-on): Add stat-macros.
115099 2006-08-10  Jim Meyering  <jim@meyering.net>
115101         * m4/cycle-check.m4: New file.
115102         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
115103         * m4/dev-ino.m4, m4/same-inode.m4: New files.
115105 2006-08-10  Eric Blake  <ebb9@byu.net>
115107         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
115108         in from original proposal.
115110 2006-08-10  Eric Blake  <ebb9@byu.net>
115111         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
115113         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
115114         namespace.
115116 2006-08-10  Bruno Haible  <bruno@clisp.org>
115118         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
115119         as well.
115121 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115123         Sync from coreutils.
115125         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
115127         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
115128         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
115130 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115132         * modules/restrict: Remove; no longer needed now that we assume
115133         Autoconf 2.59 or later.
115134         * MODULES.html.sh: Remove 'restrict'.
115135         * modules/argp (Depends-on): Remove 'restrict'.
115136         * modules/base64 (Depends-on): Likewise.
115137         * modules/gc (Depends-on): Likewise.
115138         * modules/getaddrinfo (Depends-on): Likewise.
115139         * modules/glob (Depends-on): Likewise.
115140         * modules/inet_ntop (Depends-on): Likewise.
115141         * modules/inet_pton (Depends-on): Likewise.
115142         * modules/memxor (Depends-on): Likewise.
115143         * modules/regex (Depends-on): Likewise.
115144         * modules/strtok_r (Depends-on): Likewise.
115145         * modules/time_r (Depends-on): Likewise.
115147 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
115149         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
115150         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
115151         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115152         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
115153         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
115154         * m4/memxor.m4 (gl_MEMXOR): Likewise.
115155         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
115156         gl_C_RESTRICT replaced by AC_C_RESTRICT.
115158         Merge from coreutils.
115159         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
115160         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
115161         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
115162         * m4/time_r.m4 (gl_TIME_R): Likewise.
115164 2006-08-09  Karl Berry  <karl@gnu.org>
115166         * config/srclist.txt: no more gettext-tools, per Bruno.
115168 2006-08-08  Eric Blake  <ebb9@byu.net>
115170         * modules/verror: New module.
115171         * MODULES.html.sh: Document it.
115173 2006-08-08  Eric Blake  <ebb9@byu.net>
115175         * lib/verror.h, lib/verror.c: New files.
115177 2006-08-08  Eric Blake  <ebb9@byu.net>
115179         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
115180         verror_at_line output complies with GNU Coding Standards even when
115181         file is NULL.
115183 2006-08-07  Bruno Haible  <bruno@clisp.org>
115185         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
115186         versions of AIX.
115187         Reported by Ralf Wildenhues.
115189 2006-08-07  Bruno Haible  <bruno@clisp.org>
115191         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
115192         in an AC_DEFUN. Needed so that the autoconf snippets can use
115193         AC_REQUIRE.
115195 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115197         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115198         Initialize pkgdata_DATA.
115199         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
115200         overriding it.
115202 2006-08-06  Eric Blake  <ebb9@byu.net>
115204         * lib/error.h: Fold in some upstream changes from glibc.
115205         * lib/error.c: Likewise.
115207 2006-08-04  Bruno Haible  <bruno@clisp.org>
115209         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115210         Make the mostlyclean-local rule depend on mostlyclean-generic.
115211         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
115213 2006-07-31  Bruno Haible  <bruno@clisp.org>
115215         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
115216         <stdlib.h>, <string.h>.
115218 2006-07-30  Bruno Haible  <bruno@clisp.org>
115220         * modules/readlink (License): Change to LGPL.
115222 2006-07-30  Bruno Haible  <bruno@clisp.org>
115224         * modules/javaversion (Makefile.am): Distribute javaversion.java and
115225         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
115226         set PKGDATADIR to point to it.
115228 2006-07-30  Bruno Haible  <bruno@clisp.org>
115230         * modules/csharpexec (configure.ac): Comment out macro invocation.
115231         * modules/javaexec (configure.ac): Likewise.
115232         * modules/javacomp-script (configure.ac): Likewise.
115234         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
115236 2006-07-30  Bruno Haible  <bruno@clisp.org>
115238         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
115239         linked-list.
115241 2006-07-30  Bruno Haible  <bruno@clisp.org>
115243         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
115245 2006-07-30  Bruno Haible  <bruno@clisp.org>
115247         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
115248         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
115249         get removed.
115251 2006-07-29  Bruno Haible  <bruno@clisp.org>
115253         Make it possible for gnulib-tool to work with locally modified or
115254         augmented gnulib repositories.
115255         * gnulib-tool (func_usage): Document --local-dir option.
115256         (local_gnulib_dir): New variable.
115257         Handle --local-dir option.
115258         (func_lookup_file): New function.
115259         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
115260         (func_get_description, func_get_filelist, func_get_description,
115261         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
115262         func_get_automake_snippet, func_get_include_directive,
115263         func_get_license, func_get_maintainer): Use func_lookup_file.
115264         (func_import, func_create_testdir): Use func_lookup_file.
115266 2006-07-29  Bruno Haible  <bruno@clisp.org>
115268         * modules/setenv (Depends-on): Add unistd.
115270 2006-07-29  Bruno Haible  <bruno@clisp.org>
115272         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
115274 2006-07-29  Bruno Haible  <bruno@clisp.org>
115276         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
115278 2006-07-29  Bruno Haible  <bruno@clisp.org>
115280         * gnulib-tool (import, update): If there is no Makefile.am, look at
115281         aclocal.m4, instead of bailing out.
115283 2006-07-29  Bruno Haible  <bruno@clisp.org>
115285         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
115286         Categorize the options by when they are useful.
115288 2006-07-29  Bruno Haible  <bruno@clisp.org>
115290         * gnulib-tool (func_usage): Document option --no-libtool.
115291         Handle option --no-libtool.
115292         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
115293         for changed semantics of $libtool variable.
115294         (func_import): Likewise. If libtool is not used, show this through
115295         an option --no-libtool.
115296         (func_create_testdir): Update.
115298 2006-07-29  Bruno Haible  <bruno@clisp.org>
115300         * gnulib-tool (func_import): Extend error message about missing
115301         --doc-base.
115303 2006-07-29  Bruno Haible  <bruno@clisp.org>
115305         * gnulib-tool (func_import): Don't create the $docbase directory if
115306         there is no file to store there.
115308 2006-07-29  Bruno Haible  <bruno@clisp.org>
115310         * gnulib-tool (autoconf_minversion): If a --dir option is given and
115311         relevant, look for configure.ac there, not in the current directory.
115312         Also use a simple search for AC_PREREQ, not "autoconf --trace".
115314 2006-07-29  Bruno Haible  <bruno@clisp.org>
115316         * gnulib-tool (SORT): New variable.
115317         (func_usage): Undocument --assume-autoconf option.
115318         Remove --assume-autoconf option handling.
115319         (autoconf_minversion): Determine from the contents of configure.ac.
115320         (func_import): Remove autoconf_minversion handling.
115321         Suggested by Eric Blake.
115323 2006-07-29  Bruno Haible  <bruno@clisp.org>
115325         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
115327 2006-07-29  Bruno Haible  <bruno@clisp.org>
115329         * config/srclist.txt (*setenv.[ch]): Remove rules.
115331 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115333         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
115335 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115337         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
115338         arpa/inet.h.
115340 2006-07-28  Simon Josefsson  <jas@extundo.com>
115342         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
115343         * modules/inet_pton (Depends-on): Likewise.
115345 2006-07-28  Simon Josefsson  <jas@extundo.com>
115347         * m4/netinet_in_h.m4: New file.
115349 2006-07-28  Simon Josefsson  <jas@extundo.com>
115351         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
115352         #include's.
115354 2006-07-28  Simon Josefsson  <jas@extundo.com>
115356         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
115357         #include's.
115359 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
115361         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
115362         setgid on directories only if they set these bits.
115363         * lib/modechange.h: Remove obsolete comment about masks.
115365 2006-07-28  Eric Blake  <ebb9@byu.net>
115367         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
115368         macro expansion.
115370 2006-07-28  Bruno Haible  <bruno@clisp.org>
115372         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
115374 2006-07-28  Bruno Haible  <bruno@clisp.org>
115376         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
115378 2006-07-28  Bruno Haible  <bruno@clisp.org>
115380         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
115381         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
115382         Define fallbacks.
115383         Avoids link error on FreeBSD 4.x.
115384         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
115386         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
115387         encoding.
115388         * lib/mbswidth.c (iswcntrl): Likewise.
115390 2006-07-27  Bruno Haible  <bruno@clisp.org>
115392         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
115393         test.
115395 2006-07-27  Bruno Haible  <bruno@clisp.org>
115397         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
115398         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
115399         defined.
115401 2006-07-26  Eric Blake  <ebb9@byu.net>
115403         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
115405 2006-07-26  Eric Blake  <ebb9@byu.net>
115407         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
115408         like mingw that lack mkstemp.
115409         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
115410         avoid compilation warning on mingw.
115412 2006-07-26  Bruno Haible  <bruno@clisp.org>
115414         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
115415         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
115416         INT_FAST*_MIN, INTPTR_MIN.
115418 2006-07-25  Bruno Haible  <bruno@clisp.org>
115420         * modules/version-etc (Depends-on): Add stdarg.
115422 2006-07-25  Bruno Haible  <bruno@clisp.org>
115424         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
115425         complex commands.
115427 2006-07-25  Bruno Haible  <bruno@clisp.org>
115429         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
115430         defined in <stdarg.h> or config.h.
115432 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115434         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
115435         (gl_STDIO_SAFER): Remove.
115437 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
115439         * MODULES.html.sh (File stream based Input/Output):
115440         Add fopen-safer, tmpfile-safer; remove stdio-safer.
115441         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
115442         * modules/fopen-safer, modules/tmpfile-safer: New files.
115443         * modules/stdio-safer: Remove.
115445 2006-07-24  Bruno Haible  <bruno@clisp.org>
115447         * modules/tmpdir: New file.
115448         * MODULES.html.sh (File system functions): Add it.
115450 2006-07-24  Bruno Haible  <bruno@clisp.org>
115452         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
115453         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
115455 2006-07-24  Bruno Haible  <bruno@clisp.org>
115457         * modules/clean-temp: New file.
115459 2006-07-24  Bruno Haible  <bruno@clisp.org>
115461         * m4/tmpdir.m4: New file, from GNU gettext.
115463 2006-07-24  Bruno Haible  <bruno@clisp.org>
115465         * lib/tmpdir.h: New file, from GNU gettext.
115466         * lib/tmpdir.c: New file, from GNU gettext.
115468 2006-07-24  Bruno Haible  <bruno@clisp.org>
115470         * lib/clean-temp.h: New file, from GNU gettext.
115471         * lib/clean-temp.c: New file, from GNU gettext.
115473 2006-07-23  Eric Blake  <ebb9@byu.net>
115475         * modules/stdio-safer (Files): Add tmpfile-safer.c.
115476         (Depends-on): Add binary-io.
115478 2006-07-23  Eric Blake  <ebb9@byu.net>
115480         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
115482 2006-07-23  Eric Blake  <ebb9@byu.net>
115484         * lib/tmpfile-safer.c: New file.
115485         * lib/stdio-safer.h (fopen_safer): Add prototype.
115486         * lib/stdio--.h (tmpfile): Make safer.
115488 2006-07-23  Bruno Haible  <bruno@clisp.org>
115490         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
115491         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
115492         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
115493         gl_linked_remove_at): Use it.
115495 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
115496         and Simon Josefsson <jas@extundo.com>
115498         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
115500         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
115502 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115504         * modules/close-stream: New file.
115505         * modules/closeout (Description): Make it clear that it exits
115506         with a diagnostic on error.
115507         (Depends-on): Add close-stream.  Remove fpending, stdbool.
115508         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
115510 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115512         * m4/close-stream.m4: New file.
115514 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
115516         * lib/close-stream.c, lib/close-stream.h: New files.
115518 2006-07-22  Bruno Haible  <bruno@clisp.org>
115520         Merge from GNU gettext 0.15.
115522         2006-05-01  Bruno Haible  <bruno@clisp.org>
115524                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
115526         2006-07-22  Bruno Haible  <bruno@clisp.org>
115528                 * modules/javaversion: New file.
115529                 * MODULES.html.sh (Java): Add javaversion.
115531         2006-03-12  Bruno Haible  <bruno@clisp.org>
115533                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
115535         2005-12-04  Bruno Haible  <bruno@clisp.org>
115537                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
115538                 (untested).
115540         2006-06-21  Bruno Haible  <bruno@clisp.org>
115542                 Avoid warnings from recent versions of mcs.
115543                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
115544                 -o, -L, -r any more. Use options documented since mcs-1.0
115545                 instead. Similarly for -g.
115547         2005-12-04  Bruno Haible  <bruno@clisp.org>
115549                 * build-aux/csharpcomp.sh.in: Suffix for resources is
115550                 .resources, not .resource.
115552         2005-07-09  Bruno Haible  <bruno@clisp.org>
115554                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
115555                 add a .dll suffix.
115556                 Reported by Mark Junker <mjscod@gmx.de>.
115558         2006-07-22  Bruno Haible  <bruno@clisp.org>
115560                 * modules/gettext: Upgrade to gettext-0.15.
115561                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
115562                 m4/visibility.m4.
115563                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
115565 2006-07-22  Bruno Haible  <bruno@clisp.org>
115567         Merge from GNU gettext 0.15.
115569         2006-03-25  Bruno Haible  <bruno@clisp.org>
115571                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
115573         2006-07-21  Bruno Haible  <bruno@clisp.org>
115575                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
115576                 "1.1".
115578         2006-05-09  Bruno Haible  <bruno@clisp.org>
115580                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
115581                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
115582                 for the conftestver execution.
115584         2006-05-01  Bruno Haible  <bruno@clisp.org>
115586                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
115587                 optional target-version argument. Verify that the compiler
115588                 groks source of the specified source-version, or add -source
115589                 option as necessary. Verify that the compiler produces
115590                 bytecode in the specified target-version, or add -target and
115591                 -source options as necessary. Make the result of the test
115592                 available as variable CONF_JAVAC. Also log error output in
115593                 config.log.
115595         2006-03-11  Bruno Haible  <bruno@clisp.org>
115597                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
115599         2006-05-09  Bruno Haible  <bruno@clisp.org>
115601                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
115602                 CLASSPATH_SEPARATOR to a semicolon.
115604         2006-03-12  Bruno Haible  <bruno@clisp.org>
115606                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
115607                 available as variable CONF_JAVA, for subsequent autoconf
115608                 tests. Also log error output in config.log.
115610         2006-07-19  Bruno Haible  <bruno@clisp.org>
115612                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
115613                 that getline works on glibc2 systems. Needed to avoid trouble
115614                 in relocatable.c.
115615                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
115617         2005-12-04  Bruno Haible  <bruno@clisp.org>
115619                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
115620                 launcher (untested).
115622         2005-12-04  Bruno Haible  <bruno@clisp.org>
115624                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
115626         2006-07-22  Bruno Haible  <bruno@clisp.org>
115628                 * gettext.m4: Update from GNU gettext-0.15.
115629                 * nls.m4: Likewise.
115630                 * po.m4: Likewise.
115631                 * inttypes-pri.m4: Likewise.
115632                 * inttypes-h.m4: Renamed from inttypes.m4.
115633                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
115635 2006-07-22  Bruno Haible  <bruno@clisp.org>
115637         Merge from GNU gettext 0.15.
115639         2005-07-05  Bruno Haible  <bruno@clisp.org>
115641                 * printf-args.c (printf_fetchargs): Work around broken
115642                 definition of wint_t on mingw.
115644         2005-02-12  Bruno Haible  <bruno@clisp.org>
115646                 * xallocsa.h: Add extern "C" for C++.
115648         2006-05-17  Bruno Haible  <bruno@clisp.org>
115650                 Cygwin portability.
115651                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
115653         2006-04-30  Bruno Haible  <bruno@clisp.org>
115655                 * progreloc.c: Include <mach-o/dyld.h> if available.
115656                 (find_executable): Use _NSGetExecutablePath when possible.
115658         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
115660                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
115661                 function.
115663         2005-12-29  Bruno Haible  <bruno@clisp.org>
115665                 * progreloc.c (set_program_name_and_installdir): Fix
115666                 compilation error.
115668         2005-12-04  Bruno Haible  <bruno@clisp.org>
115670                 Cygwin portability.
115671                 * progreloc.c: Include <windows.h> also on Cygwin.
115672                 (find_executable): Add support for Cygwin.
115673                 (set_program_name_and_installdir): Handle also platforms with
115674                 nonempty EXEEXT.
115676         2006-07-11  Bruno Haible  <bruno@clisp.org>
115678                 * javacomp.c: Fix a comment.
115679                 Reported by Jim Meyering.
115681         2006-04-30  Bruno Haible  <bruno@clisp.org>
115683                 * javacomp.h (compile_java_class): Add source_version,
115684                 target_version arguments.
115685                 * javacomp.c: Rewritten to choose only a compiler that
115686                 respects the specified source_version and target_version.
115688         2006-06-27  Bruno Haible  <bruno@clisp.org>
115690                 Assume correct S_ISDIR macro.
115691                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
115693         2006-07-22  Bruno Haible  <bruno@clisp.org>
115695                 * javaversion.h: New file, from GNU gettext.
115696                 * javaversion.c: New file, from GNU gettext.
115697                 * javaversion.java: New file, from GNU gettext.
115698                 * javaversion.class: New file, from GNU gettext.
115700         2006-05-17  Bruno Haible  <bruno@clisp.org>
115702                 Cygwin portability.
115703                 * javaexec.c (execute_java_class): Test for jview program
115704                 also on Cygwin.
115706         2006-04-09  Bruno Haible  <bruno@clisp.org>
115708                 * fatal-signal.c: Don't include string.h.
115709                 (at_fatal_signal): Use a copying loop instead of memcpy.
115711         2005-12-04  Bruno Haible  <bruno@clisp.org>
115713                 * csharpexec.c: Add support for 'clix' launcher (untested).
115714                 (execute_csharp_using_sscli): New function.
115715                 (execute_csharp_program): Call it.
115717         2006-06-21  Bruno Haible  <bruno@clisp.org>
115719                 Avoid warnings from recent versions of mcs.
115720                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
115721                 -o, -L, -r any more. Use options documented since mcs-1.0
115722                 instead. Similarly for -g.
115724         2005-07-09  Bruno Haible  <bruno@clisp.org>
115726                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
115727                 add a .dll suffix.
115728                 Reported by Mark Junker <mjscod@gmx.de>.
115730         2006-06-17  Bruno Haible  <bruno@clisp.org>
115732                 * config.charset: Update for NetBSD 3.0.
115734         2006-05-17  Bruno Haible  <bruno@clisp.org>
115736                 Cygwin portability.
115737                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
115739         2006-05-16  Bruno Haible  <bruno@clisp.org>
115741                 * localcharset.c [CYGWIN]: Include <windows.h>.
115742                 (get_charset_aliases): For Cygwin, return the same CPxxx
115743                 aliases list as under WIN32.
115744                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
115745                 the environment variables. Fall back to GetACP().
115747         2006-04-05  Bruno Haible  <bruno@clisp.org>
115749                 * config.charset: Update Juan Manuel Guerrero's address.
115751         2005-02-12  Bruno Haible  <bruno@clisp.org>
115753                 * allocsa.h: Add extern "C" for C++.
115755         2005-02-10  Bruno Haible  <bruno@clisp.org>
115757                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
115758                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
115760         2006-07-22  Bruno Haible  <bruno@clisp.org>
115762                 * gettext.h: Update to GNU gettext-0.15.
115764 2006-07-22  Bruno Haible  <bruno@clisp.org>
115766         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
115767         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
115768         lib-prefix.m4, longdouble.m4, ssize_t.m4.
115770 2006-07-21  Eric Blake  <ebb9@byu.net>
115772         * modules/stdlib-safer: New file.
115773         * MODULES.html.sh (File stream based Input/Output): Add
115774         stdlib-safer.
115776 2006-07-21  Eric Blake  <ebb9@byu.net>
115778         * lib/stdlib-safer.h: New file from coreutils, required by
115779         stdlib--.h.
115781 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
115783         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
115785 2006-07-20  Bruno Haible  <bruno@clisp.org>
115787         * gnulib-tool: Recognize new option --assume-autoconf.
115788         (autoconf_minversion): New variable.
115789         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
115791 2006-07-20  Bruno Haible  <bruno@clisp.org>
115793         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
115795 2006-07-19  Derek R. Price  <derek@ximbiot.com>
115797         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
115798         Reindent and repaginate.
115800 2006-07-19  Derek Price  <derek@ximbiot.com>
115802         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
115803         Correct grammar.
115805 2006-07-17  Bruno Haible  <bruno@clisp.org>
115807         * modules/list: New file.
115808         * modules/array-list: New file.
115809         * modules/carray-list, modules/carray-list-tests: New files.
115810         * modules/linked-list, modules/linked-list-tests: New files.
115811         * modules/avltree-list, modules/avltree-list-tests: New files.
115812         * modules/rbtree-list, modules/rbtree-list-tests: New files.
115813         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
115814         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
115815         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
115816         * modules/oset: New file.
115817         * modules/array-oset: New file.
115818         * modules/avltree-oset, modules/avltree-oset-tests: New files.
115819         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
115820         * tests/test-carray_list.c: New file.
115821         * tests/test-linked_list.c: New file.
115822         * tests/test-avltree_list.c: New file.
115823         * tests/test-rbtree_list.c: New file.
115824         * tests/test-linkedhash_list.c: New file.
115825         * tests/test-avltreehash_list.c: New file.
115826         * tests/test-rbtreehash_list.c: New file.
115827         * tests/test-avltree_oset.c: New file.
115828         * tests/test-rbtree_oset.c: New file.
115829         * MODULES.html.sh (Container data structures): New section.
115831 2006-07-17  Bruno Haible  <bruno@clisp.org>
115833         * m4/gl_list.m4: New file.
115835 2006-07-17  Bruno Haible  <bruno@clisp.org>
115837         * lib/gl_list.h: New file.
115838         * lib/gl_list.c: New file.
115839         * lib/gl_array_list.h: New file.
115840         * lib/gl_array_list.c: New file.
115841         * lib/gl_carray_list.h: New file.
115842         * lib/gl_carray_list.c: New file.
115843         * lib/gl_linked_list.h: New file.
115844         * lib/gl_linked_list.c: New file.
115845         * lib/gl_anylinked_list1.h: New file.
115846         * lib/gl_anylinked_list2.h: New file.
115847         * lib/gl_avltree_list.h: New file.
115848         * lib/gl_avltree_list.c: New file.
115849         * lib/gl_anyavltree_list1.h: New file.
115850         * lib/gl_anyavltree_list2.h: New file.
115851         * lib/gl_rbtree_list.h: New file.
115852         * lib/gl_rbtree_list.c: New file.
115853         * lib/gl_anyrbtree_list1.h: New file.
115854         * lib/gl_anyrbtree_list2.h: New file.
115855         * lib/gl_anytree_list1.h: New file.
115856         * lib/gl_anytree_list2.h: New file.
115857         * lib/gl_linkedhash_list.h: New file.
115858         * lib/gl_linkedhash_list.c: New file.
115859         * lib/gl_anyhash_list1.h: New file.
115860         * lib/gl_anyhash_list2.h: New file.
115861         * lib/gl_avltreehash_list.h: New file.
115862         * lib/gl_avltreehash_list.c: New file.
115863         * lib/gl_rbtreehash_list.h: New file.
115864         * lib/gl_rbtreehash_list.c: New file.
115865         * lib/gl_anytreehash_list1.h: New file.
115866         * lib/gl_anytreehash_list2.h: New file.
115868         * lib/gl_oset.h: New file.
115869         * lib/gl_oset.c: New file.
115870         * lib/gl_array_oset.h: New file.
115871         * lib/gl_array_oset.c: New file.
115872         * lib/gl_avltree_oset.h: New file.
115873         * lib/gl_avltree_oset.c: New file.
115874         * lib/gl_rbtree_oset.h: New file.
115875         * lib/gl_rbtree_oset.c: New file.
115876         * lib/gl_anytree_oset.h: New file.
115878 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115880         * m4/mkancesdirs.m4: New file.
115881         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
115882         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
115883         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
115884         it.
115886 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115888         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
115889         * lib/mkancesdirs.h: New files.
115890         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
115891         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
115892         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
115893         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
115894         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
115895         callers changed.  Revamp internals significantly, by not
115896         attempting to create directories that are temporarily more
115897         permissive than the final results.  Do not attempt to use
115898         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
115899         This removes some race conditions, fixes some bugs, and simplifies
115900         things.  Use new dirchownmod function to do owner and mode changes.
115901         * lib/mkdir-p.h: Likewise.
115902         * lib/modechange.c (octal_to_mode): New function.
115903         (struct mode_change): New member mentioned.
115904         (make_node_op_equals): New arg mentioned.  All callers changed.
115905         (mode_compile): Keep track of which mode bits the user has explicitly
115906         mentioned.
115907         (mode_adjust): New arg DIR, so that we implement the X op correctly.
115908         New arg PMODE_BITS, to keep track of which mode bits the user
115909         mentioned; it treats S_ISUID and S_ISGID speciall.
115910         All callers changed.
115911         * lib/modechange.h: Likewise.
115913 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115915         * MODULES.html.sh: Add mkancestors.
115916         * modules/mkancesdirs: New module.
115917         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
115918         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
115919         The chdir-safer and afs files are now orphans; I'll remove them
115920         unless someone speaks up.
115921         Add lib/dirchownmod.c, lib/dirchownmod.h.
115922         (Depends-on): Remove alloca, chown, save-cwd, dirname.
115923         Add lchown, mkancesdirs.
115924         (Maintainer): Add self.
115926 2006-07-15  Karl Berry  <karl@gnu.org>
115928         * gnulib-tool: help message wording/arrangement.
115930 2006-07-14  Simon Josefsson  <jas@extundo.com>
115932         * doc/gnulib.texi (Libtool and Windows): New section.
115934 2006-07-12  Simon Josefsson  <jas@extundo.com>
115936         * modules/gendocs (License): Fix license, approved by Karl.
115938 2006-07-12  Eric Blake  <ebb9@byu.net>
115940         * MODULES.html.sh: Add gendocs.
115942 2006-07-11  Eric Blake  <ebb9@byu.net>
115944         * modules/fdl: New module, to install doc/fdl.texi.
115945         * MODULES.html.sh: Add new section for documentation modules.
115946         * gnulib-tool: Avoid space-tab.
115947         (--doc-base): New option, to manage files from doc.
115949 2006-07-11  Eric Blake  <ebb9@byu.net>
115951         * m4/absolute-header.m4: Fix comments to match recent change.
115953 2006-07-11  Eric Blake  <ebb9@byu.net>
115955         * gnulib-tool: List --doc-base before --tests-base.
115957 2006-07-11  Derek R. Price  <derek@ximbiot.com>
115959         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
115961 2006-07-11  Bruno Haible  <bruno@clisp.org>
115963         * README: Mention where to put documentation.
115965 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115967         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
115969 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115971         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
115972         to stdint.m4.
115974 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115976         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
115977         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
115978         "no/such/file/stdint.h" when there is no such file, so that
115979         the resulting C code can be parsed by dodgy compilers.
115980         Problems reported by Bob Proulx.
115982 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115984         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
115985         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115986         macros into the GNU _D_EXACT_NAMLEN.
115987         * lib/savedir.c:  Likewise.
115988         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
115990 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115991         and Paul Eggert  <eggert@cs.ucla.edu>
115993         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
115994         * m4/savedir.m4:
115995         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115996         macros into the GNU _D_EXACT_NAMLEN.
115998 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116000         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
116001         around the absolute name, to work around a problem with the HP-UX
116002         11.23 native C compiler, reported by Bob Proulx.
116004 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116006         * doc/maintain.texi, make-stds.texi: Sync from
116007         <http://savannah.gnu.org/projects/gnustandards>.
116009 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
116011         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
116013 2006-07-09  Jim Meyering  <jim@meyering.net>
116015         * m4/glob.m4: Remove a doubled word in a comment.
116017 2006-07-09  Jim Meyering  <jim@meyering.net>
116019         * lib/argp-pv.c: Remove a doubled word in a comment.
116020         * lib/check-version.c (check_version): Likewise.
116021         * lib/javacomp.c (compile_java_class): Likewise.
116023 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
116025         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
116026         for the benefit of people using Autoconf 2.60.  If you want to
116027         support older Autoconf versions you can copy m4/onceonly_2_57.m4
116028         (or m4/onceonly.m4, if pre-2.57) manually.
116030 2006-07-08  Jim Meyering  <jim@meyering.net>
116032         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
116033         comment.
116034         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
116035         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
116036         comment.
116038 2006-07-08  Jim Meyering  <jim@meyering.net>
116040         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
116042 2006-07-07  Simon Josefsson  <jas@extundo.com>
116044         * tests/test-crc.c: Change expected crc value, the test vector
116045         were probably computed using the old broken crc.c?
116047 2006-07-06  Simon Josefsson  <jas@extundo.com>
116049         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
116050         now the canonical place for the M4 file).
116052         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
116053         from the sys_socket dependency now.
116055         * modules/inet_pton (Files): Ditto.
116057         * modules/inet_ntop (Files): Ditto.
116059 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
116061         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
116062         not gl_PREREQ_GETUSERSHELL.
116064 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116066         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
116067         with only one argument, for Autoconf 2.60.
116068         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
116069         expand to nothing, so add a shell command to avoid syntax error.
116070         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116072 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116074         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
116076 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116078         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
116079         no longer needed.  Check for isblank decl.
116080         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
116081         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
116082         of existence.
116084 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116086         * lib/getloadavg.c: Use __VMS, not VMS.
116087         * lib/getopt.c: Likewise.
116088         * lib/getpagesize.h: Likewise.
116089         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
116090         and probably does not work.
116092 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
116094         * lib/.cppi-disable: Add wcwidth.
116095         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
116096         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
116097         (ISGRAPH): Remove.  All uses changed to isgraph.
116098         (FOLD) [!defined _LIBC]: Remove special case.
116099         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
116100         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
116101         HAVE_ISBLANK.
116102         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
116103         case.
116105 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116107         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
116108         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
116109         brackets.  Other minor changes to suppress some compiler
116110         warnings.
116112 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116113         and Paul Eggert  <eggert@cs.ucla.edu>
116115         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
116116         of invoking obsolescent AC_HEADER_DIRENT macro.
116117         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
116118         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
116119         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
116120         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
116121         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
116122         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
116123         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
116124         * m4/readdir.m4: Remove; no longer needed.
116126 2006-07-06  Derek R. Price  <derek@ximbiot.com>
116127         and Paul Eggert  <eggert@cs.ucla.edu>
116129         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
116130         Don't worry about this obsolete case any more.
116131         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
116132         directories.
116133         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
116134         worry about this obsolete case any more.
116135         * lib/fts.c: Likewise.
116136         * lib/getcwd.c: Likewise.
116137         * lib/glob.h: Likewise.
116138         * lib/savedir.c: Likewise.
116140 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116142         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
116143         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
116144         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
116145         needed.
116146         All uses removed.
116147         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116148         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116149         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
116150         needed.
116151         * m4/getdate.m4 (gl_GETDATE): Likewise.
116152         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116153         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116154         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116155         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116156         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
116157         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116158         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
116159         needed.
116161 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
116163         * lib/memcasecmp.c: Include <limits.h>.
116164         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
116165         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
116166         Don't assume isdigit succeeds only on '0' through '9'.
116168 2006-07-05  Eric Blake  <ebb9@byu.net>
116170         * modules/getaddrinfo (Depends-on): Add snprintf.
116172 2006-07-05  Eric Blake  <ebb9@byu.net>
116174         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
116175         to avoid 'header present but could not be compiled' on cygwin.
116177 2006-07-05  Eric Blake  <ebb9@byu.net>
116179         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
116180         missing from netdb.h.
116181         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
116183 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116185         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
116186         no longer needed.
116187         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
116188         * m4/getdate.m4 (gl_GETDATE): Likewise.
116189         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
116190         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
116191         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
116192         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
116193         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
116195 2006-07-05  Derek R. Price  <derek@ximbiot.com>
116197         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
116198         All uses of is_space replaced by isspace.
116199         * lib/exit.h: Don't talk about STDC_HEADERS.
116200         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
116201         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
116202         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
116203         replaced by isprint etc.
116204         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
116205         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116206         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
116207         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
116208         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
116209         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
116211 2006-07-05  Bruno Haible  <bruno@clisp.org>
116213         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
116214         the function exists, before testing against AIX.
116215         Reported by Martin Lambers <marlam@marlam.de>.
116217 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116219         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
116220         From Mark D. Baushke.
116222 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
116224         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
116225         to the absolute name, not just one, to bypass Sun C 5.8's
116226         "warning: #include of /usr/include/... may be non-portable".
116228 2006-07-04  Eric Blake  <ebb9@byu.net>
116230         * modules/dirname-tests: New test module.
116231         * tests/test-dirname.c: New file, replacing dirname.c
116232         TEST_DIRNAME section that was recently deleted.
116234 2006-07-04  Bruno Haible  <bruno@clisp.org>
116236         Assume ANSI C header files and <ctype.h> functions.
116237         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
116238         (mbsnwidth): Use isprint, iscntrl instead.
116240 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116242         Merge from coreutils.
116243         * MODULES.html.sh: Add xstrtold.
116244         * modules/xstrtold: New file.
116245         * modules/cycle-check (Files): Add lib/same-inode.h.
116246         * modules/dirname (Files): Add m4/double-slash-root.m4.
116247         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
116248         * modules/mkdir-p (Files): Add lib/same-inode.h.
116249         * modules/same (Files): Add lib/same-inode.h.
116251 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116253         * m4/absolute-header.m4: Renamed from full-header-path.m4.
116254         This is to keep the terminology clean; POSIX talks about
116255         "absolute pathnames", not "full pathnames", but the GNU
116256         Coding Standards say to use "path" for something else;
116257         so use "absolute" to keep both sides happy.
116258         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
116259         Set gl_absolute_header, not gl_full_header_path.
116260         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
116261         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
116262         All uses changed.
116264         Merge from coreutils.
116266         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116268         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
116269         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
116270         want to require the building of c-strtod.o.
116271         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
116272         needs -lm directly.
116273         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
116275         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116277         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
116278         --as-needed option if available.  Problem reported by Albert Chin in
116279         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
116280         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
116281         cc merely issues a bunch of annoying warnings for --as-needed
116282         (this problem was reported by Bob Proulx).  Also, try linking with
116283         -lm to detect a bug in binutils 2.16 (this problem was reported
116284         by Ralf Wildenhues).
116286         2006-06-18  Jim Meyering  <jim@meyering.net>
116288         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
116289         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
116290         macro.
116291         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
116292         also check for glibc-2.4's abort-inducing bug.
116294         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
116295         Low-probability clean-up should be to use rmdir to get rid of
116296         the just-created directory, not unlink.
116298         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
116299         configure fail, and request a bug report to inform us about it.
116300         Add a comment that, barring reports to the contrary, in 2007 we'll
116301         assume ftruncate is universally available.
116303         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116305         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
116307         2006-03-12  Jim Meyering  <jim@meyering.net>
116309         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
116310         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
116311         * m4/same.m4 (gl_SAME): Likewise.
116312         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
116314         2006-03-11  Eric Blake  <ebb9@byu.net>
116316         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
116317         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
116318         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
116319         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
116321 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
116323         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
116324         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
116325         reported by Mark D. Baushke, one in
116326         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
116328         Merge from coreutils.
116330         * lib/.cppi-disable: Add stdint_.h.
116331         * lib/.cvsignore: Add stdint.h.
116333         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
116335         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
116336         both double and long double versions.
116337         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
116338         * lib/xstrtold.c: New file.
116339         * lib/xstrtod.h (xstrtold): New decl.
116341         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
116343         * lib/filemode.c (setst): Remove.
116344         (strmode): Rewrite to avoid setst.  This makes the code shorter,
116345         (arguably) clearer, and the generated code is a bit smaller on my
116346         Debian GNU/Linux stable x86 host.
116348         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
116350         * lib/filemode.c: Include "filemode.h" first, to test the interface.
116351         Assume that filemode.h includes sys/types.h and sys/stat.h.
116352         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
116353         (ftypelet): Reorder to put common cases first, for efficiency.
116354         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
116355         to do 'M'.
116356         (strmode): Renamed from mode_string, and now stores 12 bytes instead
116357         of 10, for compatibility with FreeBSD.  All callers changed.
116358         (filemodestring): Now stores 12 bytes instead of 10, and sets file
116359         types that can't be deduced solely from st_mode.  First arg is now a
116360         const pointer.
116361         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
116362         (strmode): Renamed from mode_string.
116363         (filemodestring): New decl.
116364         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
116365         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
116366         needed.
116367         (S_ISPORT, S_ISWHT): New macros, if not already defined.
116369         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116371         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
116372         fsusage.h now does that.  Include fsusage.h first, to test interface.
116373         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
116374         at most one method (the old code could have generated decls that
116375         didn't conform to C89, not that this was ever exercised).
116376         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
116378         2006-03-19  Jim Meyering  <jim@meyering.net>
116380         Work even in a chroot where d_ino values for entries in "/"
116381         don't match the stat.st_ino values for the same names.
116382         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
116383         number, iterate through all entries again, using lstat instead.
116384         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
116385         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
116387         * lib/getcwd.c (__getcwd): Clarify a comment.
116388         Use memcpy in place of a call to strcpy.
116390         2006-03-12  Jim Meyering  <jim@meyering.net>
116392         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
116393         matches that of the current directory (which we're about to chdir ".."
116394         out of), then save the dev-ino of the parent, instead.
116396         * lib/same-inode.h (SAME_INODE): New file/macro.
116397         * lib/chdir-safer.c (SAME_INODE): Remove definition.
116398         Include "same-inode.h", instead.
116399         * lib/same.c: Likewise.
116400         * lib/cycle-check.h: Include "same-inode.h".
116401         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
116402         * lib/cycle-check.c (SAME_INODE): Remove definition.
116403         * lib/root-dev-ino.h: Include "same-inode.h".
116405         2006-03-11  Eric Blake  <ebb9@byu.net>
116407         * lib/same.c (same_name): s/base_name/last_component/
116408         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
116409         * lib/filenamecat.c (file_name_concat): Likewise.
116411         2006-03-11  Eric Blake  <ebb9@byu.net>,
116412                     Paul Eggert  <eggert@cs.ucla.edu>
116414         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
116415         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
116416         drive prefix.
116417         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
116418         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
116419         (last_component): New method.
116420         * lib/dirname.c (dir_len): Determine when drive letters need a
116421         subsequent slash.  Preserve // when it is special.
116422         (dir_name): Don't append dot when drive letter is absolute.
116423         [TEST_DIRNAME]: Move into a full-blown gnulib test.
116424         * lib/basename.c (base_name): New semantics - malloc the result.
116425         Preserve // when it is special.  Preserve relative files that look
116426         like drive letters.
116427         (base_len): Preserve // when it is special.
116428         (last_component): New method, similar to old base_name semantics.
116429         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
116430         base_name.  Strip redundant slashes from ///.
116432 2006-07-03  Jim Meyering  <jim@meyering.net>
116434         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
116435         macro is used before the first cycle_check call.
116437 2006-07-03  Eric Blake  <ebb9@byu.net>
116439         * modules/dirname (Depends-on): Add xstrndup.
116441 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116443         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
116444         test cases, so that config.log is a bit easier to follow.
116446 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
116448         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
116449         both are 64 bits, since this seems to be the tradition, and this
116450         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
116451         we ever run into a host that prefers long long to long in this
116452         case, we'll need another configure-time test.  Problem reported by
116453         Jim Meyering.
116455 2006-07-02  Eric Blake  <ebb9@byu.net>
116457         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
116459 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116461         * modules/inttypes (Depends-on): No longer depends on stdint.
116462         * modules/stdint (Description): Say more about assumptions.
116463         Say that the fast types might differ.  Say macros are used.
116464         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
116465         (Makefile.am): Revise list of substituted symbols to match
116466         new stdint.m4.
116467         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
116468         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
116469         * tests/test-stdint.c (verify_same_types)
116470         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
116471         the code conforms to C99/C89.
116472         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
116473         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
116475 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116477         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
116478         but fix a bug, by requiring at least 64 bits.
116479         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
116480         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
116481         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
116482         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
116484         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
116485         changes.  Make 2.59 a prerequisite.  Check and substitute for
116486         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
116487         inttypes.h.  Do not use special include files; just use the
116488         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
116489         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
116490         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
116491         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
116492         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
116493         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
116494         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
116495         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
116496         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
116497         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
116498         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
116499         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
116500         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
116501         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
116502         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
116503         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
116504         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
116505         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
116506         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
116507         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
116508         WINT_MAX.  Check for C99 conformance more strictly, by detecting
116509         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
116510         not check for things that C99 does not require, e.g., int8_t.  If
116511         a test isn't needed unless <stdint.h> isn't working, and is
116512         unlikely to be needed for any other reason, then don't do it
116513         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
116514         size_t, since we assume C89 freestanding at least.  Do not check
116515         for sig_atomic_t, wchar_t, or wint_t, since the code now does
116516         the right thing even if the types are not defined.  Instead use:
116517         (gl_STDINT_TYPE_PROPERTIES): New macro.
116518         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
116519         testing whether <sys/types.h> clashes, as Autoconf does this for
116520         us now.  All uses removed.
116521         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
116522         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
116523         (gl_CHECK_TYPE_SAME):
116524         Remove; no longer needed.
116525         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
116526         exists, since we'll return 0 anyway in that case.
116527         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
116529 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
116531         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
116532         possible collision with system files.
116533         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
116534         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
116535         WCHAR_MIN and WCHAR_MAX in this case.
116536         (<stddef.h>): Do not include; no longer needed.
116537         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
116538         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
116539         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
116540         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
116541         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
116542         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
116543         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
116544         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
116545         !defined(__c99))]: Include in this case too, since it's harmless
116546         now.
116547         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
116548         dangerous to do so.
116549         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
116550         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
116551         (_STDINT_MIN, _STDINT_MAX): New macros.
116552         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
116553         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
116554         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
116555         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
116556         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
116557         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
116558         macros, not typedefs; this simplifies things quite a bit.
116559         Use long int for all types narrower than int64_t.
116560         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
116561         Define in terms of long long int or int64_t or long int,
116562         not int64_t or int32_t.  This saves some compile-time testing.
116563         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
116564         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
116565         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
116566         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
116567         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
116568         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
116569         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
116570         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
116571         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
116572         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
116573         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116574         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116575         undef any previous version and define our own version, for
116576         simplicity and consistency with the new macros for types.
116577         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116578         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116579         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
116580         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
116581         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
116582         @WINT_T_SUFFIX@ to keep things simple here.
116583         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
116584         Simplify by assuming typical 8/16/32/64 host, since we're
116585         already doing that elsewhere anyway.
116586         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
116587         and assume long long int is 64 bits if available.  This
116588         speeds up 'configure'.
116590 2006-07-01  Eric Blake  <ebb9@byu.net>
116592         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
116593         Reported by Andreas Buening.
116595 2006-07-01  Eric Blake  <ebb9@byu.net>
116597         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
116599 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116601         * lib/getaddrinfo.c: fixed typo
116603 2006-06-29  Jim Meyering  <jim@meyering.net>
116605         * modules/strftime (Maintainer): Add my name, since with the
116606         FPRINTFTIME changes strftime.c has forked from glibc.
116608 2006-06-29  Eric Blake  <ebb9@byu.net>
116610         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
116612 2006-06-29  Eric Blake  <ebb9@byu.net>
116614         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
116616 2006-06-29  Eric Blake  <ebb9@byu.net>
116618         * lib/stat_.h: New file.
116620 2006-06-29  Eric Blake  <ebb9@byu.net>
116622         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
116623         unused static function.
116625 2006-06-29  Eric Blake  <ebb9@byu.net>
116627         * doc/functions.texi (Function Portability): Document missing lstat
116628         on mingw.
116630 2006-06-29  Eric Blake  <ebb9@byu.net>
116632         * MODULES.html.sh: Add sys_stat.
116633         * modules/sys_stat: New module.
116634         * modules/mkstemp (Depends-on): Add sys_stat.
116636 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116638         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
116640 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116642         * m4/c-bs-a.m4: Removed.
116644 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116646         * lib/strftime.c: Assume strftime() exists.
116648 2006-06-29  Derek Price  <derek@ximbiot.com>
116650         * modules/c-bs-a: Removed - \a is C89.
116651         * MODULES.html.sh: Remove c-bs-a.
116653 2006-06-29  Bruno Haible  <bruno@clisp.org>
116655         * modules/wcwidth (License): Change to LGPL.
116657 2006-06-28  Simon Josefsson  <jas@extundo.com>
116659         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
116660         on _WIN32.
116662         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
116663         getnameinfo.
116665 2006-06-28  Simon Josefsson  <jas@extundo.com>
116667         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
116669 2006-06-28  Simon Josefsson  <jas@extundo.com>
116671         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
116672         functions there.  It will succeed on Windows XP, but on Windows
116673         2000 and (presumably) earlier, it will fail, and use the internal
116674         re-implementation.
116675         (use_win32_p): New function.
116676         (getaddrinfo): Use strtoul on servname, to support numeric ports.
116677         Support AI_NUMERICSERV to disable getservbyname.
116678         (getnameinfo): New function, only supports
116679         NI_NUMERICHOST|NI_NUMERICSERV for now.
116681         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
116682         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
116683         getnameinfo.
116685 2006-06-28  Eric Blake  <ebb9@byu.net>
116687         * modules/wcwidth: New file.
116688         * modules/mbchar (Depends-on): Add wcwidth.
116689         * modules/mbswidth (Depends-on): Add wcwidth.
116690         * MODULES.html.sh: Add wcwidth.
116692 2006-06-28  Eric Blake  <ebb9@byu.net>
116694         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
116695         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
116697 2006-06-28  Eric Blake  <ebb9@byu.net>
116699         * lib/xvasprintf.h: Fix comments.
116701 2006-06-28  Eric Blake  <ebb9@byu.net>
116703         * lib/mbchar.h (wcwidth): Include wcwidth.h.
116704         * lib/mbswidth.c (wcwidth): Move from here...
116705         * lib/wcwidth.h: ...to this new file.
116707 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116709         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
116711         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
116712         it's obsolete.
116713         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
116715 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116717         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
116718         Autoconf 2.60 says this stuff was obsolete.
116720 2006-06-28  Bruno Haible  <bruno@clisp.org>
116722         * modules/wcwidth (Files): Add m4/wchar_t.m4.
116724 2006-06-28  Bruno Haible  <bruno@clisp.org>
116726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
116727         gt_TYPE_WCHAR_T.
116729 2006-06-28  Bruno Haible  <bruno@clisp.org>
116731         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
116732         declaration for wcwidth.
116733         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
116735 2006-06-28  Bruno Haible  <bruno@clisp.org>
116737         * lib/mkdtemp.c [MINGW]: Include <io.h>.
116738         (mkdir): Define using _mkdir.
116740 2006-06-28  Bruno Haible  <bruno@clisp.org>
116742         * lib/getaddrinfo.h: Fix POSIX URL.
116743         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
116744         _WIN32.
116745         (use_win32_p): Make static.
116746         (getaddrinfo): Reject service name if it is empty or does not consist
116747         solely of decimal digits, or if its value is > 65535.
116748         (getnameinfo): Remove useless casts.
116750 2006-06-27  Simon Josefsson  <jas@extundo.com>
116752         * modules/sys_select: New file, suggested by Bruno Haible, Paul
116753         Eggert and Martin Lambers.
116755 2006-06-27  Simon Josefsson  <jas@extundo.com>
116757         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
116758         Eggert and Martin Lambers.
116760 2006-06-27  Bruno Haible  <bruno@clisp.org>
116762         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
116763         result to 0, not to empty.
116764         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
116766 2006-06-27  Bruno Haible  <bruno@clisp.org>
116768         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
116770 2006-06-26  Simon Josefsson  <jas@extundo.com>
116772         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
116773         present.
116775 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
116777         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
116778         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
116779         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
116781 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
116783         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
116785 2006-06-26  Bruno Haible  <bruno@clisp.org>
116787         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
116789 2006-06-26  Bruno Haible  <bruno@clisp.org>
116791         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
116793 2006-06-26  Bruno Haible  <bruno@clisp.org>
116795         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
116796         SGI C compiler in pre-C99 mode.
116797         Suggested by Mark D. Baushke and Larry Jones.
116799 2006-06-26  Bruno Haible  <bruno@clisp.org>
116801         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
116802         WCHAR_MAX.
116803         Reported by Mark D. Baushke and Larry Jones.
116805 2006-06-26  Bruno Haible  <bruno@clisp.org>
116807         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
116808         in pre-C99 mode.
116809         Suggested by Mark D. Baushke and Larry Jones.
116811 2006-06-23  Simon Josefsson  <jas@extundo.com>
116812             Bruno Haible  <bruno@clisp.org>
116814         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
116815         Emit mostlyclean-local rule.
116816         (func_emit_tests_Makefile_am): Likewise.
116817         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
116819 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
116821         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
116823 2006-06-23  Bruno Haible  <bruno@clisp.org>
116825         * tests/test-stdint.c: Update to match ISO C 99 Technical
116826         Corrigendum 1.
116828 2006-06-23  Bruno Haible  <bruno@clisp.org>
116830         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
116832 2006-06-23  Bruno Haible  <bruno@clisp.org>
116834         * lib/stdint_.h: Treat IRIX like OpenBSD.
116836 2006-06-23  Bruno Haible  <bruno@clisp.org>
116838         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
116839         ISO C 99 Technical Corrigendum 1.
116841 2006-06-22  Simon Josefsson  <jas@extundo.com>
116843         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
116844         MinGW.
116846 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
116848         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
116849         needed.  Some compiler complained about some of them.  Problem reported
116850         by Larry Jones in
116851         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
116853 2006-06-21  Simon Josefsson  <jas@extundo.com>
116855         * tests/test-getaddrinfo.c: New file.
116857         * modules/getaddrinfo-tests: New file.
116859         * MODULES.html.sh: Add inet_pton.
116861         * modules/inet_pton: New file.
116863 2006-06-21  Simon Josefsson  <jas@extundo.com>
116865         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
116866         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
116867         of using the (limited) gnulib implementation on Windows XP.
116869         * m4/inet_pton.m4: New file.
116871 2006-06-21  Simon Josefsson  <jas@extundo.com>
116873         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
116874         variable.
116876         * lib/socket_.h: Don't define WINVER.
116878         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
116879         slightly modified to work in gnulib.
116881 2006-06-21  Simon Josefsson  <jas@extundo.com>
116883         * doc/gnulib.texi (Windows sockets): Add.
116885 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
116887         * lib/read-file.c (fread_file): Start with buffer allocation of
116888         0 bytes rather than 1 byte; this simplifies the code.
116889         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
116890         code to free buffer and save/restore errno.
116891         (internal_read_file): Remove unused local.
116893 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
116895         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
116896         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
116897         Problem reported by Denis Excoffier in
116898         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
116900 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116902         * modules/sys_socket, modules/socklen: Include sys/types since
116903         FreeBSD 4.x's sys/socket.h needs it.
116905 2006-06-19  Simon Josefsson  <jas@extundo.com>
116907         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
116909 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116911         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
116913 2006-06-19  Bruno Haible  <bruno@clisp.org>
116915         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
116916         and FULL_PATH_INTTYPES_H in angle brackets.
116917         Reported by Mark D. Baushke <mdb@gnu.org>.
116919 2006-06-17  Eric Blake  <ebb9@byu.net>
116921         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
116922         errno.
116924 2006-06-17  Bruno Haible  <bruno@clisp.org>
116926         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
116927         <sys/inttypes.h>.
116929 2006-06-17  Bruno Haible  <bruno@clisp.org>
116931         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
116932         whether errno is declared. Assume <errno.h> declares errno.
116934 2006-06-17  Bruno Haible  <bruno@clisp.org>
116936         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
116938 2006-06-17  Bruno Haible  <bruno@clisp.org>
116940         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
116941         problem on Solaris 2.5.1.
116943 2006-06-16  Eric Blake  <ebb9@byu.net>
116945         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
116946         * lib/unicodeio.c [!defined errno]: Likewise.
116947         * lib/strtol.c [!defined errno]: Likewise.
116948         * lib/strtod.c [!defined errno]: Likewise.
116950 2006-06-15  Eric Blake  <ebb9@byu.net>
116952         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
116954 2006-06-15  Eric Blake  <ebb9@byu.net>
116956         * config/srclist.txt (ssize_t.m4): Lose sync.
116958 2006-06-15  Bruno Haible  <bruno@clisp.org>
116960         * modules/stdint (Files): Include m4/full-header-path.m4,
116961         m4/size_max.m4, m4/wchar_t.m4.
116962         (Makefile.am): Many more substitutions.
116963         * modules/stdint-tests: New file.
116964         * tests/test-stdint.c: New file.
116966 2006-06-15  Bruno Haible  <bruno@clisp.org>
116968         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
116969         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
116970         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
116971         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
116972         gl_CHECK_TYPE_SAME): New macros.
116974 2006-06-15  Bruno Haible  <bruno@clisp.org>
116976         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
116978 2006-06-15  Bruno Haible  <bruno@clisp.org>
116980         * lib/stdint_.h: Rewritten to be fully auto-configured.
116981         Fixes bug on HP-UX/IA64.
116983 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
116985         * lib/getdate.y (__attribute__): Don't define if already defined.
116986         Problem reported by Larry Jones.
116987         * lib/utimens.c (__attribute__): Likewise.
116989 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
116991         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
116992         reported by Andreas Schwab.
116994 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116995             Bruno Haible  <bruno@clisp.org>
116997         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
116998         check for the declaration of strnlen and a run test that exposes the
116999         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
117000         rpl_strndup.
117002 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117003             Bruno Haible  <bruno@clisp.org>
117005         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
117007 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117009         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
117010         compile test, for Tru64 4.0D.
117012 2006-05-28  Karl Berry  <karl@gnu.org>
117014         * config/srclist.txt (printf-args.c): lose sync.
117016 2006-05-26  Martin Lambers  <marlam@marlam.de>
117018         * lib/getpass.c: Updates the test for the native W32 API, and adds
117019         missing includes, thus fixing compilation warnings.
117021 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117023         * lib/exclude.c (exclude_fnmatch): New function.
117024         (excluded_file_name): Call exclude_fnmatch.
117025         * lib/exclude.h (excluded_file_name): New prototype
117027 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
117029         * lib/tempname.c (small_open, large_open): New macros.
117030         (__open, __open64) [!_LIBC]: Remove.
117031         (__gen_tempname): Use small_open and large_open instead of __open
117032         and __open64.  This fixes a portability bug on HP-UX 11.11i
117033         reported by Simon Wing-Tang in
117034         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
117036 2006-05-24  Bruno Haible  <bruno@clisp.org>
117038         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
117039         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
117040         Reported by Thorsten Maerz <torte@netztorte.de> via
117041         Aaron Stone <aaron@serendipity.cx>.
117043 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117045         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
117046         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
117047         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
117048         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
117049         not really conditional on the cache.
117050         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
117052 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
117054         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
117055         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
117056         (my_usleep): Don't mishandle maximum value.
117058 2006-05-19  Jim Meyering  <jim@meyering.net>
117060         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
117062 2006-05-17  Bruno Haible  <bruno@clisp.org>
117064         Cygwin portability.
117065         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
117067 2006-05-17  Bruno Haible  <bruno@clisp.org>
117069         * lib/stdint_.h: Fix recognition of Cygwin.
117071 2006-05-15  Bruno Haible  <bruno@clisp.org>
117073         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
117074         on libtool patch by Ralf Wildenhues.
117076 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
117078         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
117079         test for C99 conformance; (bool) 0.5 is an integer constant
117080         expression, but (bool) -0.5 is not.  Problem reported by Fedor
117081         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
117083 2006-05-11  Simon Josefsson  <jas@extundo.com>
117085         * m4/xvasprintf.m4: Fix obvious typo.
117087 2006-05-11  Jim Meyering  <jim@meyering.net>
117089         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
117090         James Lemley.
117092 2006-05-10  Simon Josefsson  <jas@extundo.com>
117094         * lib/md4.c: Typo fix, update copyright years.
117095         (K1, K2): Don't use L because it turn computations into 64-bit on
117096         64-bit platforms.
117098 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
117100         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
117101         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
117102         unwanted sign propagation, e.g., on hosts with 64-bit int.
117103         There still are some problems with reeelly weird theoretical hosts
117104         (e.g., 33-bit int) but it's not worth worrying about now.
117105         * lib/sha1.c (rol): Likewise.
117106         (K1, K2, K3, K4): Remove unnecessary L suffix.
117108 2006-05-10  Bruno Haible  <bruno@clisp.org>
117110         * lib/des.c: Cast to avoid warnings.
117112 2006-05-09  Bruno Haible  <bruno@clisp.org>
117114         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
117115         (Depends-on): Depend also on xsize, stdarg.
117116         (configure.ac): Add gl_XVASPRINTF.
117118 2006-05-09  Bruno Haible  <bruno@clisp.org>
117120         * m4/xvasprintf.m4: New file.
117122 2006-05-09  Bruno Haible  <bruno@clisp.org>
117124         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
117125         (EOVERFLOW): Define fallback value.
117126         (xstrcat): New function.
117127         (xvasprintf): Recognize the special case of a string concatenation.
117129 2006-05-08  Eric Blake  <ebb9@byu.net>
117131         * gnulib-tool (func_version): Base copyright year on CVS date.
117132         (func_emit_copyright_notice): New function.
117133         (func_emit_lib_Makefile_am): Use it.
117134         (func_emit_tests_Makefile_am): Likewise.
117135         (func_import): Likewise.
117137 2006-05-08  Bruno Haible  <bruno@clisp.org>
117139         * modules/stdarg: New file.
117140         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
117142 2006-05-08  Bruno Haible  <bruno@clisp.org>
117144         * m4/stdarg.m4: New file, from GNU gettext.
117146 2006-05-08  Bruno Haible  <bruno@clisp.org>
117148         * config/srclist.txt (build-aux/config.rpath): different from latest
117149         release.
117151 2006-05-08  Bruno Haible  <bruno@clisp.org>
117153         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
117155 2006-05-05  Jim Meyering  <jim@meyering.net>
117157         * m4/warning.m4: New file, derived from bison's file by the same name.
117159 2006-05-03  Bruno Haible  <bruno@clisp.org>
117161         * lib/stdint_.h: Shorter URL.
117162         * lib/inttypes.h: Likewise.
117164 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117166         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
117168 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117170         * lib/verify.h: Document the internals better.  Most of this change
117171         was written by Bruno Haible.
117173 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
117175         * doc/verify.texi: New file, partly based on a proposal by
117176         Bruno Haible.
117178 2006-05-02  Bruno Haible  <bruno@clisp.org>
117180         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
117181         test from here...
117182         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
117184 2006-04-29  Bruno Haible  <bruno@clisp.org>
117186         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
117187         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
117189 2006-04-29  Bruno Haible  <bruno@clisp.org>
117191         * gnulib-tool: Make --update option actually work.
117193 2006-04-29  Bruno Haible  <bruno@clisp.org>
117195         * doc/gcd.texi: New file.
117196         * doc/gnulib.texi: Include it.
117198 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
117200         * lib/getdate.y (get_date): When adding relative date, start with the
117201         initial time, not with the result of the first mktime call.
117203 2006-04-25  Bruno Haible  <bruno@clisp.org>
117205         * gnulib-tool (func_import): Output the include directives in three
117206         blocks, sorted separately.
117207         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117209 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117211         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
117212         to define main with arguments, for C++.  Reported by Eric Blake.
117213         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
117214         Prefer 'int main ()' to 'int main (void)', for C++.
117215         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
117216         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
117217         for 'main', for C99 and C++.
117219 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
117221         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
117222         Don't assume that exit status -1 is valid.
117223         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117224         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
117225         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
117226         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
117227         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
117228         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
117229         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
117230         functions can be used without declaring them, or that you can
117231         exit with status -1.
117232         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
117234 2006-04-24  Karl Berry  <karl@gnu.org>
117236         * config/srclist.txt (longdouble.m4): sync lost.
117238 2006-04-24  Eric Blake  <ebb9@byu.net>
117240         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
117242 2006-04-24  Bruno Haible  <bruno@clisp.org>
117244         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
117245         poll() implementation in AIX.
117246         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117248 2006-04-24  Bruno Haible  <bruno@clisp.org>
117250         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
117251         assigned exactly once.
117253 2006-04-23  Claudio Fontana  <claudio@gnu.org>
117254             Bruno Haible  <bruno@clisp.org>
117256         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
117257         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
117258         for AM_CPPFLAGS.
117260 2006-04-23  Bruno Haible  <bruno@clisp.org>
117262         * modules/copy-file: Depend on unistd.
117263         * modules/execute: Likewise.
117264         * modules/fatal-signal: Likewise.
117265         * modules/findprog: Likewise.
117266         * modules/mkdtemp : Likewise.
117267         * modules/pipe: Likewise.
117268         * modules/wait-process: Likewise.
117270 2006-04-23  Bruno Haible  <bruno@clisp.org>
117272         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
117273         condition was already detected.
117274         Reported by Ben Pfaff <blp@cs.stanford.edu>.
117276 2006-04-23  Bruno Haible  <bruno@clisp.org>
117278         * lib/copy-file.c: Include <unistd.h> unconditionally.
117279         * lib/execute.c: Likewise.
117280         * lib/fatal-signal.c: Likewise.
117281         * lib/findprog.c: Likewise.
117282         * lib/mkdtemp.c: Likewise.
117283         * lib/pipe.h: Likewise.
117284         * lib/pipe.c: Likewise.
117285         * lib/wait-process.h: Likewise.
117287 2006-04-23  Bruno Haible  <bruno@clisp.org>
117289         * gnulib-tool (func_usage): Fix --import description. Document
117290         --update.
117291         (func_import): Create temporary file in a temporary directory, if
117292         --dry-run is specified. Silence errors from 'grep' when there are no
117293         m4 files in $m4dir.
117294         (func_create_testdir): Silence errors from 'grep' when there are no
117295         m4 files in $m4dir.
117296         Reported by Karl Berry <karl@freefriends.org>.
117298 2006-04-20  Bruno Haible  <bruno@clisp.org>
117300         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
117301         one argument, so that the code will be portable to Autoconf 2.60.
117302         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
117303         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
117304         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
117306 2006-04-19  Derek Price  <derek@ximbiot.com>
117307             Eric Blake  <ebb9@byu.net>
117309         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
117310         rather than "/full/path.h".  Update comment to match.  Shorten &
117311         generalize m4_translit call via AS_TR_CPP.
117313 2006-04-19  Derek Price  <derek@ximbiot.com>
117314             Eric Blake  <ebb9@byu.net>
117316         * lib/inttypes.h: Correct grammar in comment.
117318 2006-04-18  Derek Price  <derek@ximbiot.com>
117319             Paul Eggert  <eggert@cs.ucla.edu>
117321         * modules/inttypes: New file.
117322         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
117324 2006-04-18  Derek Price  <derek@ximbiot.com>
117325             Paul Eggert  <eggert@cs.ucla.edu>
117327         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
117328         New files.
117330 2006-04-18  Derek Price  <derek@ximbiot.com>
117331             Paul Eggert  <eggert@cs.ucla.edu>
117333         * lib/inttypes.h: New file.
117334         * lib/strtoimax.c: Assume <inttypes.h>.
117336 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
117338         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
117339         isn't mounted.  Problem reported by Kir Kolyshkin.
117341 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
117343         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
117344         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
117345         Derek R. Price.
117346         * lib/regex.h (RE_DUP_MAX): Update comment to match current
117347         implementation.
117349 2006-04-12  Eric Blake  <ebb9@byu.net>
117351         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
117352         is now done automatically by the corresponding Autoconf macro.
117354 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
117356         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
117357         time_r.h.
117359 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117361         Merge regex changes from libc, removing some of our
117362         POSIX-conformance changes that were rejected and redoing them in a
117363         less-intrusive way.
117365         * lib/regcomp.c (re_compile_internal, init_dfa):
117366         Length arg is now size_t, not Idx.  All uses changed.
117367         (peek_token): Forward decl now says internal_function.
117368         (__re_error_msgid, __re_error_msgid_idx):
117369         Now static rather than extern with attribute_hidden.
117370         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
117371         For some reason libc prefers K&R style defns for external functions.
117372         (regerror) [!defined _LIBC]: Likewise.
117373         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
117374         (seek_collating_symbol_entry, lookup_collation_sequence_value):
117375         (build_range_exp, build_collating_symbol):
117376         Use K&R-style defn.
117377         (re_compile_fastmap): Use '\0' to memset, not 0.
117378         (utf8_sb_map): Make the calculations more obvious.
117379         (init_dfa, parse_bracket_exp, build_charclass_op):
117380         Call calloc and cast result, as glibc does.
117381         (init_word_char, fetch_token, peek_token, peek_token_bracket):
117382         (build_range_exp, build_collating_symbol):
117383         Now internal functions.
117385         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
117387         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
117388         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
117389         Don't depend on VMS; depend on __VMS instead, for POSIX
117390         namespace cleanness.
117391         (regoff_t): Define to ssize_t, not long int.
117393         Remove the REG_ macros named below.  Instead, make the old names
117394         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
117395         __USE_GNU_REGEX.
117396         (REG_BACKSLASH_ESCAPE_IN_LISTS):
117397         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
117398         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
117399         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
117400         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
117401         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
117402         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
117403         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
117404         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
117405         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
117406         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
117407         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
117408         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
117409         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
117410         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
117411         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
117412         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
117413         (REG_NREGS):
117414         Remove.  All uses replaced by the old RE_* names.
117415         (RE_BACKSLASH_ESCAPE_IN_LISTS):
117416         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
117417         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
117418         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
117419         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
117420         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
117421         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
117422         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
117423         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
117424         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
117425         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
117426         Don't bother having these macros be independent of each others'
117427         values, since they no longer exist in the POSIX name space.
117429         Rename the following member names back to their old names,
117430         unless !__USE_GNU_REGEX.  All uses changed back.
117431         (buffer): Renamed from re_buffer.
117432         (allocated): Renamed from re_allocated.
117433         (used): Renamed from re_used.
117434         (syntax): Renamed from re_syntax.
117435         (fastmap): Renamed from re_fastmap.
117436         (translate): Renamed from re_translate.
117437         (can_be_null): Renamed from re_can_be_null.
117438         (regs_allocated): Renamed from re_regs_allocated.
117439         (fastmap_accurate): Renamed from re_fastmap_accurate.
117440         (no_sub): Renamed from re_no_sub.
117441         (not_bol): Renamed from re_not_bol.
117442         (not_eol): Renamed from re_not_eol.
117443         (newline_anchor): Renamed from re_newline_anchor.
117444         (num_regs): Renamed from rm_num_regs.
117445         (start): Renamed from rm_start.
117446         (end): Renamed from rm_end.
117448         (free_state): Move up a bit.
117450         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
117451         #define to be empty.
117452         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
117453         when that is what is intended.
117454         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
117455         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
117456         (MAX): New macro.
117457         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
117458         All uses changed back to re_malloc, etc.  It's now the caller's
117459         responsibility to check for overflow; all callers changed.
117460         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
117461         (re_x2nrealloc): Remove.
117462         (free_state): Remove decl.
117464         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
117465         (re_set_registers, re_exec):
117466         Use K&R-style defn.
117468         2006-01-31  Roland McGrath  <roland@redhat.com>
117470         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
117471         Reported by Mike Frysinger <vapier@gentoo.org>.
117473         2006-01-15  Andreas Jaeger  <aj@suse.de>
117475         [BZ #1950]
117476         * lib/regex_internal.c (re_string_reconstruct): Adjust for
117477         build_wcs_upper_buffer change.
117478         (build_wcs_upper_buffer): Change return type.
117480         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
117482         * lib/regex_internal.h: Include <stdint.h> if available.
117484         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
117486         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
117488         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
117490         * lib/regcomp.c: Adjust for changed secondary hash function.
117492         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
117494         * lib/regex.h: Pretty printing.
117495         Clean up namespace a bit.
117497         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
117499         * lib/regexec.c (update_cur_sifted_state, check_arrival,
117500         check_arrival_add_next_nodes): Avoid using uninitialized variable.
117502         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
117503                     Ulrich Drepper  <drepper@redhat.com>
117505         [BZ #1302]
117506         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
117507         changed.
117508         (bitset_word_t): Renamed from bitset_word.  All uses changed.
117510         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
117512         [BZ #281]
117513         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
117514         * lib/regcomp.c: Remove unnecessary uses of
117515         unsigned RE_TRANSLATE_TYPE.
117516         * lib/regex_internal.h: Likewise.
117517         * lib/regex_internal.c: Likewise.
117518         * lib/regexec.c: Likewise.
117519         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
117521         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
117523         * lib/regexec.c (find_recover_state): Remove unnecessary
117524         initialization.
117525         (transit_state_bkref): Make DFA a const pointer.
117526         (get_subexp): Likewise.
117527         (check_arrival): Likewise.
117528         (update_cur_sifted_state): Likewise.
117529         (re_search_internal): Likewise.
117530         (prune_impossible_nodes): Likewise.
117531         (acquire_init_state_context): Likewise.
117532         (proceed_next_node): Likewise.
117533         (set_regs): Likewise.
117534         (free_fail_stack_return): Likewise.
117535         (check_arrival_expand_ecl): Mark DFA parameter as const.
117536         (check_arrival_expand_ecl_sub): Likewise.
117537         (check_subexp_limits): Likewise.
117538         (sub_epsilon_src_nodes):  Likewise.
117539         (add_epsilon_src_nodes):  Likewise.
117540         (merge_state_array): Likewise.
117541         (update_regs): Likewise.
117542         (build_trtable): Likewise.
117543         (sift_states_backward): Mark MCTX parameter as const.
117544         (build_sifted_states): Likewise.
117545         (update_cur_sifted_state): Likewise.
117546         (sift_states_mkref): Likewise.
117547         (check_arrival_expand_ecl): Mark eclosure as const.
117548         (check_dst_limits_calc_pos_1): Likewise.
117549         * lib/regex_internal.h (re_match_context_t): Make dfa a const
117550         pointer.
117552         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
117554         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
117555         (transit_state_sb): Likewise.
117556         (transit_state_mb): Likewise.
117557         (sift_states_iter_mb): Likewise.
117558         (check_arrival_add_next_nodes): Likewise.
117559         (check_node_accept_bytes): Change first parameter to pointer-to-const.
117560         [_LIBC] (re_search_2_stub): Use mempcpy.
117562         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
117563         mbrtowc for very simple UTF-8 case.
117565         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
117566         a pointer-to-const.
117567         (re_acquire_state_context): Likewise.
117568         * lib/regex_internal.h: Adjust prototypes.
117570         * lib/regex.c: Prevent using C++ compilers.
117572         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
117573         (re_acquire_state_context): Likewise.
117575 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117577         * modules/regex (Depends-on): Add ssize_t.
117579 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117581         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
117582         translation table.
117584 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117586         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
117588 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
117589             Bruno Haible  <bruno@clisp.org>
117591         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
117592         <sys/types.h> and <inttypes.h>.
117594 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117596         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
117597         `__error_t_defined', so argp.h will not typedef the former.
117599 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
117601         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
117602         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
117603         glibc names.  Even if glibc is changed to conform to POSIX, the
117604         traditional names will be available anyway, since regex depends on
117605         the extensions module.  Also, fix a longstanding typo in the
117606         implementation of Spencer ERE test #75 from grep 2.3.  Problems
117607         reported by Emanuele Giaquinta.  Also, change sense of cached
117608         variable, so that the message makes sense.
117610 2006-03-24  Simon Josefsson  <jas@extundo.com>
117612         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
117613         including some doc fixes.
117614         (base64_encode_alloc): Fix +1 bug on allocation failures.
117616 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117618         * lib/base64.c (base64_encode): Do not read past end of array with
117619         unsanitized input on systems with CHAR_BIT > 8.
117621 2006-03-24  Eric Blake  <ebb9@byu.net>
117623         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
117625 2006-03-22  Karl Berry  <karl@gnu.org>
117627         * config/srclist.txt (*setenv.[ch]): get from coreutils.
117628         * config/srclistvars.sh (COREUTILS): new var.
117630 2006-03-17  Jim Meyering  <jim@meyering.net>
117632         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
117633         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
117635 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117637         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
117638         no longer needs it.  Instead, check that regoff_t is as least
117639         as wide as ptrdiff_t.
117641         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
117642         so that our regex.h stays compatible with the installed regex.
117643         This is helpful for installers who configure --without-included-regex.
117644         Problem reported by Emanuele Giaquinta.
117646 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117648         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
117649         Typedef to long int, not to off_, as POSIX will likely change
117650         in that direction.
117652 2006-03-15  Eric Blake  <ebb9@byu.net>
117654         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
117656 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117658         * lib/argp-help.c (validate_uparams): Fix typo
117659         * lib/argp-parse.c (argp_default_options): Consistently begin help
117660         messages with a lowercase letter.
117662 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
117664         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
117665         overrun buffers and shouldn't be used (much as gets shouldn't be
117666         used).
117667         * lib/time_r.c (asctime_r, ctime_r): Likewise.
117669 2006-03-08  Simon Josefsson  <jas@extundo.com>
117671         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
117672         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117674 2006-03-08  Simon Josefsson  <jas@extundo.com>
117676         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
117677         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117679 2006-03-08  Simon Josefsson  <jas@extundo.com>
117681         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
117682         signal that configure disabled the device.
117684 2006-03-08  Simon Josefsson  <jas@extundo.com>
117686         * build-aux/maint.mk: Fix refresh-po, to handle no translated
117687         languages.
117689 2006-03-07  Simon Josefsson  <jas@extundo.com>
117691         * modules/getopt (Depends-on): Add unistd.
117693         * modules/unistd: New file.
117695 2006-03-07  Simon Josefsson  <jas@extundo.com>
117697         * modules/gc-random: New file.
117699 2006-03-07  Simon Josefsson  <jas@extundo.com>
117701         * m4/unistd_h.m4: New file.
117703 2006-03-07  Simon Josefsson  <jas@extundo.com>
117705         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
117706         test to be side-effect free by storing the result in the cache
117707         variable gl_cv_lib_readline, and moving the assignment of
117708         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
117709         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117711 2006-03-07  Simon Josefsson  <jas@extundo.com>
117713         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
117714         error on missing devices (the functions will return an error).
117716         * m4/gc.m4: Move random stuff to gc-random.m4
117718 2006-03-07  Simon Josefsson  <jas@extundo.com>
117720         * lib/unistd_.h: New file.
117722 2006-03-07  Simon Josefsson  <jas@extundo.com>
117724         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
117726 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117728         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
117729         Problem reported by Juan Manuel Guerrero.
117731 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117733         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
117734         the unistd module.
117735         * lib/getlogin_r.c: Likewise.
117736         * lib/getlogin_r.h: Likewise.
117737         * lib/glob.c: Likewise.
117738         * lib/pagealign_alloc.c: Likewise.
117739         * lib/unistd_.h: Remove; no longer needed.
117741 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117743         * MODULES.html.sh (Support for systems lacking POSIX:2001):
117744         Add unistd.
117745         * modules/c-stack (Depends-on): Add unistd.
117746         * modules/getlogin_r: Likewise.
117747         * modules/glob: Likewise.
117748         * modules/pagealign_alloc: Likewise.
117749         * modules/unistd (Files): Remove lib/unistd_.h.
117750         (EXTRA_DIST): Remove.
117751         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
117752         need unistd_.h.
117753         (MOSTLYCLEANFILES): Remove unistd.h-t.
117755 2006-03-03  Simon Josefsson  <jas@extundo.com>
117757         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
117759 2006-03-03  Simon Josefsson  <jas@extundo.com>
117761         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
117762         libidn and bison.
117764 2006-03-03  Simon Josefsson  <jas@extundo.com>
117766         * build-aux/maint.mk: Add indent target.
117768 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
117770         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
117771         our replacement poll.h in any case, to avoid a differing
117772         declaration from a system header.  Seen on AIX.
117774 2006-03-01  Simon Josefsson  <jas@extundo.com>
117776         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
117777         <kasal@ucw.cz>.
117779 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117781         * modules/gettime (Depends-on): Add extensions module.
117782         * modules/nanosleep (Depends-on): Likewise.
117783         * modules/settime (Depends-on): Likewise.
117785 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117787         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
117788         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
117789         pedantically.
117790         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117791         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
117793         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
117794         not "==".  Reported by Ralf Wildenhues.
117796 2006-03-01  Karl Berry  <karl@gnu.org>
117798         * doc/Copyright/request-*: new files, synced from gnuorg.
117800 2006-03-01  Karl Berry  <karl@gnu.org>
117802         * config/srclist.txt (Copyright/*): new entries.
117804 2006-02-28  Simon Josefsson  <jas@extundo.com>
117806         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
117808 2006-02-27  Simon Josefsson  <jas@extundo.com>
117810         * lib/base64.h: Indent #define's.  From Jim Meyering
117811         <jim@meyering.net>.
117813 2006-02-27  Jim Meyering  <jim@meyering.net>
117815         Revert the change of 2006-02-24, so these files can continue
117816         to be sync'd from gettext.
117817         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
117818         of `config.h'.
117820 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
117822         * modules/intprops: New file.
117823         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
117824         Add intprops.
117825         * modules/getloadavg (Files): Remove lib/intprops.h.
117826         (Depends-on): Add intprops.
117827         * modules/human: Likewise.
117828         * modules/inttostr: Likewise.
117829         * modules/openat: Likewise.
117830         * modules/sig2str: Likewise.
117831         * modules/userspec: Likewise.
117832         * modules/utimecmp: Likewise.
117833         * modules/xnanosleep: Likewise.
117834         * modules/xstrtol: Likewise.
117836 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
117838         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
117839         * modules/lock-tests (TESTS): Use $(EXEEXT).
117840         * modules/tls-tests: Likewise.
117841         * modules/argp-tests: Likewise.
117842         (check_PROGRAMS): New var, replacing...
117843         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
117845 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117847         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
117848         `config.h'.
117850 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
117852         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
117854 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117856         Sync from coreutils.
117857         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
117858         gl_CHDIR_SAFER.
117860 2006-02-22  Jim Meyering  <jim@meyering.net>
117862         Sync from coreutils.
117863         * m4/chdir-safer.m4: New file.
117865 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
117867         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
117868         AT_FDCWD exceeds INT_MAX.
117869         * lib/openat.h (AT_FDCWD): Likewise.
117871 2006-02-17  Eric Blake  <address@hidden>
117873         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
117875 2006-02-16  Simon Josefsson  <jas@extundo.com>
117877         * modules/getaddrinfo (Depends-on): Add sys_socket.
117879 2006-02-15  Simon Josefsson  <jas@extundo.com>
117881         * build-aux/maint.mk: Add dsyntax-check rule.
117883 2006-02-15  Eric Blake  <ebb9@byu.net>
117885         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
117886         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
117887         'present but cannot compile' warnings on cygwin.
117888         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
117889         use ws2tcpip.h if sys/socket.h works.
117890         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
117891         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
117893 2006-02-14  Simon Josefsson  <jas@extundo.com>
117895         * modules/maintainer-makefile (Files): Rename.
117897         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
117898         and (the local) Makefile.cfg to maint-cfg.mk.
117900         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
117901         to the latter.
117903         * modules/maintainer-makefile: New module.
117905         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
117906         severaly stripped to make it possible to build it up from scratch
117907         with reliable tests.
117909         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
117910         fixes to permit overriding the default actions when configure and
117911         makefile are not available.
117913 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
117915         Sync from coreutils.
117916         * modules/lstat (Depends-on): Don't depend on xalloc.
117917         (License): Change from GPL to LGPL, since this is now simply a
117918         replacement for a libc function.
117920 2006-02-14  Jim Meyering  <jim@meyering.net>
117922         Sync from coreutils.
117924         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
117925         failure on deficient systems, and simplify gnulib lgpl dependencies.
117926         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
117927         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
117929         * lib/xalloc-die.c: Remove unused definition of N_.
117931 2006-02-14  Jim Meyering  <jim@meyering.net>
117933         Sync from coreutils.
117934         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
117935         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
117936         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
117937         double-quote uses of that variable, to accommodate the rare case in
117938         which getmntent is available in none of the libraries checked.  This
117939         happens at least on FreeBSD 5.0.
117941 2006-02-13  Simon Josefsson  <jas@extundo.com>
117943         * gnulib-tool (Usage): Fix --import, from
117944         karl@freefriends.org (Karl Berry).
117946 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117948         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
117950 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
117952         * lib/argp-namefrob.h: Restore changes accidentally lost during the
117953         "autoupdate" on 2005-12-12.
117955 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117957         * modules/closeout (Depends-on): Remove atexit.
117959 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117961         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
117962         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
117964 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
117966         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
117967         __EXTENSIONS__ if this causes compilation to fail.  Problem
117968         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
117969         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
117971 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
117973         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
117974         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
117975         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
117976         All uses changed.
117978 2006-01-26  Simon Josefsson  <jas@extundo.com>
117980         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
117981         prototype is visible on mingw32.
117983         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
117984         for mingw32.
117986         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
117987         mingw32).
117989 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117991         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
117992         attempt to open for write; this always fails, at least on POSIX
117993         hosts.  This reinstates the 2006-01-09 change, which was
117994         inadvertently removed.
117996 2006-01-26  Bruno Haible  <bruno@clisp.org>
117998         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
117999         Reported by Paul Eggert.
118001 2006-01-26  Bruno Haible  <bruno@clisp.org>
118002             Paul Eggert  <eggert@cs.ucla.edu>
118004         * lib/stdbool_.h (_Bool)
118005         [(! (defined __cplusplus || defined __BEOS__)
118006           && !defined __GNUC__
118007           && !(defined __HP_cc || defined __xlc__
118008                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
118009                || defined __sgi))]:
118010         #define to signed char in these cases too; this simplifies
118011         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
118012         etc., separately) and makes it more conservative.
118014 2006-01-25  Simon Josefsson  <jas@extundo.com>
118016         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
118017         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
118018         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
118020 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
118022         * lib/argp-namefrob.h: Bugfix. Remove stray #
118024 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
118026         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
118027         so that we test the test.
118028         Check for yet another HP-UX cc bug involving *bool |= bool.
118030 2006-01-25  Karl Berry  <karl@gnu.org>
118032         * config/srclist.txt (vasnprintf.c): sync lost.
118034 2006-01-25  Jim Meyering  <jim@meyering.net>
118036         Sync from the stable (b5) branch of coreutils:
118038         * lib/fts.c (fts_children): Don't let close() clobber errno from
118039         failed fchdir().
118041         * lib/fts.c (fts_stat): When following a symlink-to-directory,
118042         don't necessarily interpret stat-fails+lstat-succeeds as indicating
118043         a dangling symlink.  That can also happen at least for ELOOP.
118044         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
118045         FYI, this bug predates the inclusion of fts.c in coreutils.
118047         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
118048         in their own block, so pre-c99 compilers don't object.
118050         Avoid the double-free (first in fts_read, second in fts_close) that
118051         would occur when an `active' directory is made inaccessible (e.g.,
118052         via chmod a-x) during a traversal.
118053         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118054         before returning.  Reproduce this failure by
118055         mkdir -p a/b; cd a; chmod a-x . b
118056         Reported by Stavros Passas.
118058 2006-01-25  Jim Meyering  <jim@meyering.net>
118060         * lib/fileblocks.c: Remove more useless parentheses.
118061         * lib/readutmp.h: Likewise.
118063 2006-01-25  Bruno Haible  <bruno@clisp.org>
118065         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
118066         warnings.
118067         Reported by Paul Eggert.
118069 2006-01-25  Bruno Haible  <bruno@clisp.org>
118071         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
118072         rid of a trap command. For Solaris sh.
118073         Reported by Mark D. Baushke <mdb@gnu.org>.
118075 2006-01-24  Simon Josefsson  <jas@extundo.com>
118077         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
118078         Bruno.
118080 2006-01-24  Karl Berry  <karl@gnu.org>
118082         * config/srclist.txt (argp-namefrob.h): sync lost.
118084 2006-01-24  Jim Meyering  <jim@meyering.net>
118086         * modules/openat (Files): Add lib/intprops.h.
118087         From Mark D. Baushke.
118089 2006-01-24  Jim Meyering  <jim@meyering.net>
118091         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
118092         Reported by Mark D. Baushke.
118094 2006-01-24  Jim Meyering  <jim@meyering.net>
118096         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
118098 2006-01-24  Bruno Haible  <bruno@clisp.org>
118100         * modules/strnlen (Maintainer): Change from glibc to all.
118102 2006-01-24  Bruno Haible  <bruno@clisp.org>
118104         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
118105         Patch by Paul Eggert.
118107 2006-01-24  Bruno Haible  <bruno@clisp.org>
118109         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
118110         already has it.
118111         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
118112         2005-11-26.
118114         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
118115         'signed char' to avoid problems with the built-in _Bool type.
118116         Reported by Paul Eggert on 2005-11-26.
118118 2006-01-24  Bruno Haible  <bruno@clisp.org>
118120         * gnulib-tool (func_import): Avoid constructing complicated sed
118121         expressions inside backquote.
118122         Report and solution by Mark D. Baushke <mdb@gnu.org>.
118124 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
118126         These changes imported from libc.
118127         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
118128         test and two separate function calls.
118129         * lib/strndup.c (__strndup): Add libc_hidden_def.
118131 2006-01-23  Simon Josefsson  <jas@extundo.com>
118133         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
118134         Remove the test_*_SOURCES variable: automake infers it by default.
118135         * modules/tls-tests: Likewise.
118137 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118139         Work around porting bugs reported by Dieter in
118140         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
118141         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
118142         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
118143         Include "getopt.h" first, to check interface.
118144         (getenv): Declare only if defined HAVE_DECL_GETENV &&
118145         !HAVE_DECL_GETENV.
118146         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
118147         (__strndup): Revert to K&R-style function dfns, the glibc style.
118148         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
118149         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
118150         Include strnlen.h first, to get prototype properly.
118151         (strnlen): Renamed from __strnlen.
118152         Remove weak alias.
118154 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118156         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
118158 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
118160         * config/srclist.txt: Adjust to reflect glibc reorganization.
118161         This affects only comments.
118163 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
118165          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
118166          Reported by Bruce Korb <bkorb@gnu.org>.
118168 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
118170         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
118171         to pacify gcc -Wswitch-default.
118173 2006-01-22  Bruno Haible  <bruno@clisp.org>
118175         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
118176         temporary buffer for sprintf, take into account the precision also
118177         for 'd', 'i', 'u', 'o', 'x', 'X'.
118179 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118181         * modules/argp-tests: New module
118182         * tests/test-argp.c: New file
118183         * tests/test-argp-2.sh: New file
118185 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
118187         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
118188         (__argp_base_name): Removed
118189         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
118190         typo.
118191         (__argp_base_name): Provide macro definition or extern declaration
118192         depending on the configuration
118194 2006-01-20  Simon Josefsson  <jas@extundo.com>
118196         * modules/inet_ntop (Depends-on): Depend on sys_socket.
118198 2006-01-20  Simon Josefsson  <jas@extundo.com>
118200         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
118202 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
118204         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
118205         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
118206         Suggested by Bruno Haible.
118208 2006-01-20  Karl Berry  <karl@gnu.org>
118210         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
118211         until changes propagate, I guess.
118213 2006-01-19  Simon Josefsson  <jas@extundo.com>
118215         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
118217 2006-01-19  Simon Josefsson  <jas@extundo.com>
118219         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
118221 2006-01-19  Simon Josefsson  <jas@extundo.com>
118223         * gnulib-tool: Set check_PROGRAMS.
118225         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118226         modules/des-tests, modules/gc-arcfour-tests,
118227         modules/gc-arctwo-tests, modules/gc-des-tests,
118228         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118229         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118230         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118231         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118232         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118233         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
118234         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
118235         test_*_SOURCES.
118237 2006-01-18  Simon Josefsson  <jas@extundo.com>
118239         * modules/socklen (Depends-on): Depend on sys_socket.
118241 2006-01-18  Simon Josefsson  <jas@extundo.com>
118243         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
118244         modules/des-tests, modules/gc-arcfour-tests,
118245         modules/gc-arctwo-tests, modules/gc-des-tests,
118246         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
118247         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
118248         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
118249         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
118250         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
118251         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
118252         $(EXEEXT) to automake TESTS variable, for mingw32.
118254 2006-01-17  Simon Josefsson  <jas@extundo.com>
118256         * modules/socklen (Include): Need sys/socket.h.
118258 2006-01-17  Bruno Haible  <bruno@clisp.org>
118260         * modules/ssize_t (Include): Add <sys/types.h>.
118262 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
118264         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
118265         it's not portable and it doesn't work with cross-compiles.
118266         Problem reported by Bruno Haible.  Fix missing-$ typo in
118267         'test "gl_cv_ignore_unused_libraries" ...' that prevented
118268         -zignore from being used with Sun's C compiler.
118270 2006-01-12  Simon Josefsson  <jas@extundo.com>
118272         * lib/base64.c: Fix warning, reported by Bruno Haible
118273         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
118275 2006-01-12  Bruno Haible  <bruno@clisp.org>
118277         * modules/ldd: New file.
118278         * build-aux/ldd.sh.in: New file.
118279         * MODULES.html.sh (Support for building libraries and executables): Add
118280         ldd.
118282 2006-01-12  Bruno Haible  <bruno@clisp.org>
118284         * m4/ldd.m4: New file.
118286 2006-01-12  Bruno Haible  <bruno@clisp.org>
118288         * gnulib-tool (func_import, func_create_testdir): Don't go into an
118289         endless loop while replacing $auxdir with build-aux.
118291 2006-01-11  Simon Josefsson  <jas@extundo.com>
118293         * lib/stdint_.h (SIZE_MAX): Add missing (.
118295 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
118297         Sync from coreutils.
118298         * lib/md5.c: Fix commentary typos.
118299         (alignof, UNALIGNED_P): No need for a GCC-specific version.
118300         * lib/md5.h (__attribute__): Remove; unused.
118301         * lib/sha1.c: Fix commentary to match md5 better.
118302         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
118303         so that we don't need to worry about alignment.  All uses changed.
118304         This merges the 2005-10-28 md5 change into sha1.
118306 2006-01-11  Jim Meyering  <jim@meyering.net>
118308         Sync from coreutils.
118309         * lib/md5.c (OP): Fix spacing.
118311 2006-01-11  Bruno Haible  <bruno@clisp.org>
118313         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118314         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
118315         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
118317 2006-01-11  Bruno Haible  <bruno@clisp.org>
118319         Ensure automatic ordering between gl_LOCK and gl_ARGP.
118320         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
118321         the "early" section as well.
118323 2006-01-11  Bruno Haible  <bruno@clisp.org>
118325         Avoid "ar: no archive members specified" error on MacOS X.
118326         * gnulib-tool (func_modules_add_dummy): New function.
118327         (func_import, func_create_testdir): Invoke it.
118329 2006-01-11  Bruno Haible  <bruno@clisp.org>
118331         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
118332         with $auxdir in AC_CONFIG_FILES statements.
118334 2006-01-11  Bruno Haible  <bruno@clisp.org>
118336         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
118337         Initialize also noinst_HEADERS to empty.
118339 2006-01-11  Bruno Haible  <bruno@clisp.org>
118341         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
118342         variables.
118343         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
118344         autoreconf.
118346 2006-01-11  Bruno Haible  <bruno@clisp.org>
118348         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
118349         overridable by the user.
118350         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118352 2006-01-10  Simon Josefsson  <jas@extundo.com>
118354         * modules/sys_socket: New file.
118356 2006-01-10  Simon Josefsson  <jas@extundo.com>
118358         * m4/sys_socket_h.m4: New file.
118360 2006-01-10  Simon Josefsson  <jas@extundo.com>
118362         * lib/socket_.h: New file.
118364 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118366         * modules/readutmp (Maintainer): Add myself.
118368 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118370         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
118371         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
118372         People who are still concerned with buggy memcmp implementations
118373         can invoke gl_FUNC_MEMCMP themselves.
118375 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
118377         * lib/regex_internal.h (BITSET_WORD_BITS):
118378         Work around a bug in 64-bit PGC (before version 6.1-2), where the
118379         preprocessor mishandles large unsigned values as if they were signed.
118380         Problem reported by Claudio Fontana in
118381         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
118383 2006-01-10  Jim Meyering  <jim@meyering.net>
118385         Avoid the double-free (first in fts_read, second in fts_close) that
118386         would occur when an `active' directory is made inaccessible (e.g.,
118387         via chmod a-x) during a traversal.
118388         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
118389         before returning.  Reproduce this failure by
118390         mkdir -p a/b; cd a; chmod a-x . b
118391         Reported by Stavros Passas.
118393         Sync from coreutils.
118394         * lib/sha1.c: Tweak grammar in a comment.
118396 2006-01-10  Jim Meyering  <jim@meyering.net>
118398         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
118399         Patch by Joerg Sonnenberger.
118401 2006-01-10  Bruno Haible  <bruno@clisp.org>
118403         * modules/readutmp: Depend on module free.
118404         * modules/strtok_r: Depend on module restrict.
118406 2006-01-10  Bruno Haible  <bruno@clisp.org>
118408         * modules/gettext (configure.ac): Add an invocation of
118409         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
118411 2006-01-10  Bruno Haible  <bruno@clisp.org>
118413         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
118414         Reported by Werner Lemberg <wl@gnu.org>.
118416 2006-01-10  Bruno Haible  <bruno@clisp.org>
118418         * lib/localcharset.c: Update from GNU gettext.
118420 2006-01-10  Bruno Haible  <bruno@clisp.org>
118422         * lib/argp.h (__const): Remove macro. Use const instead.
118423         * lib/argp-fmtstream.h (__const): Likewise.
118424         * lib/glob_.h (__const): Remove macro.
118425         * lib/glob-libc.h: Use const instead of __const.
118427 2006-01-10  Bruno Haible  <bruno@clisp.org>
118429         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
118430         variable.
118431         Needed to avoid an automake error regarding the 'gettext' module.
118433 2006-01-09  Simon Josefsson  <jas@extundo.com>
118435         * modules/inet_ntop (Depends-on): Add restrict.
118437 2006-01-09  Simon Josefsson  <jas@extundo.com>
118439         * modules/gc-rijndael-tests (License): Put under LGPL.
118441         * modules/gc-des-tests (License): Likewise.
118443         * modules/gc-arcfour-tests (License): Likewise.
118445         * modules/gc-arctwo-tests (License): Likewise.
118447         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
118449         * modules/gc-hmac-sha1-tests (Files): Likewise.
118451         * modules/gc-hmac-md5-tests (License): Likewise.
118453         * modules/gc-sha1-tests (License): Likewise.
118455         * modules/gc-md5-tests (License): Likewise.
118457         * modules/gc-md4-tests (License): Likewise.
118459         * modules/gc-md2-tests (License): Likewise.
118461         * modules/gc-tests (License): Likewise.
118463         * modules/des-tests (License): Likewise.
118465         * modules/md4-tests (License): Likewise.
118467         * modules/md2-tests (License): Likewise.
118469 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118471         Sync from coreutils:
118473         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
118474         * modules/lib-ignore: New file.
118475         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
118476         chdir-safer.m4, lchmod.m4.
118477         * modules/openat: Add mkdirat.c, openat-priv.h.
118479 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118481         Sync from coreutils.
118482         * m4/lib-ignore.m4: New file.
118483         * m4/lchmod.m4: New file.
118485 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118487         Sync from coreutils.
118488         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
118489         for write access: POSIX says that must fail.
118490         * lib/fts.c (diropen): Likewise.
118491         * lib/save-cwd.c (save_cwd): Likewise.
118492         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
118493         well, for minor improvements on hosts that lack O_DIRECTORY.
118494         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
118495         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
118496         Fall back on chown if open failed with EACCES.
118498         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
118499         Report an error at compile-time if only a 1-second nominal clock
118500         resolution is found.
118502         * lib/lchmod.h: New file.
118503         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
118504         (make_dir_parents): Use lchown rather than chown, and
118505         lchmod rather than chmod.
118507         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
118508         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
118509         "proc" reported by n0dalus.
118511         * lib/mountlist.c: Include <limits.h>.
118512         (dev_from_mount_options)
118513         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
118514         New function.  It no longer assumes "dev=" has the System V meaning
118515         on Linux (since it doesn't).  It also parses "dev=" more carefully.
118516         (read_file_system_list)
118517         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
118518         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
118519         dev= in that case.
118521         * lib/posixtm.h (PDS_PRE_2000): New macro.
118522         * lib/posixtm.c (year): Arg is now syntax_bits rather than
118523         allow_century.  All usages changed.  Reject dates outside the range
118524         1969-1999 if PDS_PRE_2000 is used.
118526 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
118528         Sync from coreutils.
118529         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
118530         (Time of day items): Mention the possibility of leap seconds.
118531         Problem reported by Dr. David Alan Gilbert.
118533 2006-01-09  Jim Meyering  <jim@meyering.net>
118535         Sync from coreutils.
118537         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
118539         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
118541         * lib/modechange.c (mode_compile): Reject an invalid mode string
118542         that starts with an octal digit.  From Andreas Gruenbacher.
118544         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
118545         and dup to open_safer and dup_safer, respectively.
118546         (openat_permissive): Fix typo in comment.
118548         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
118549         "gettext.h"; either no longer needed or are guaranteed by openat.h.
118550         (_): Remove; no longer needed.
118551         (openat): Renamed from rpl_openat; no need for rpl_openat
118552         since openat.h renames openat for us.
118553         Replace most of the body with a call to openat_permissive,
118554         to avoid duplicate code.
118555         Port to (probably hypothetical) environments were mode_t is
118556         wider than int.
118557         (openat_permissive): Require mode arg, so that we can check
118558         types better.  Put it just after flags.  Change cwd failure
118559         indicator from pointer-to-bool to pointer-to-errno-value.
118560         All callers changed.
118561         Invoke openat_save_fail and/or openat_restore_fail if
118562         cwd_errno is null, so that openat can call us.
118563         (openat_permissive, fdopendir, fstatat, unlinkat):
118564         Simplify errno handling to avoid some duplicate code,
118565         as it's OK to set errno on success.
118566         * lib/openat.h: Revamp code so that function macros depend on
118567         __OPENAT_PREFIX only, not also on AT_FDCWD.
118568         (openat_ro): Remove.  Caller changed to use openat_permissive.
118569         (openat_permissive): Now a macro, if not a function.
118570         (openat_restore_fail, openat_save_fail): Now always functions,
118571         since mkdirat needs them even if __OPENAT_PREFIX is defined.
118573         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
118574         and openat.c.
118575         * lib/mkdirat.c: Include openat-priv.h.
118576         Remove definitions of macros defined therein.
118577         * lib/openat.c: Likewise.
118579         * lib/mkdirat.c (mkdirat): New file and function.
118580         * lib/openat.h (mkdirat): Declare.
118582         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
118584         * lib/openat.h (openat_permissive): Declare.
118585         (openat_ro): Define.
118587         * lib/openat.c (EXPECTED_ERRNO): New macro.
118588         (openat_permissive): New function -- used in remove.c rewrite.
118589         (all functions): Set errno just before returning, only if there
118590         was an actual failure.
118591         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
118593         Emulate openat-family functions using Linux's procfs, if possible.
118594         Idea and some code based on Ulrich Drepper's glibc changes.
118596         * lib/openat.c: (BUILD_PROC_NAME): New macro.
118597         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
118598         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
118599         before falling back on save_cwd and restore_cwd.
118600         (fdopendir, fstatat, unlinkat): Likewise.
118602         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
118603         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
118605         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
118606         as second argument to va_arg.  Otherwise, some versions of gcc
118607         warn that `if this code is reached, the program will abort'.
118609 2006-01-09  Jim Meyering  <jim@meyering.net>
118611         Sync from coreutils.
118612         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
118613         Require openat-priv.h.
118615 2006-01-09  Bruno Haible  <bruno@clisp.org>
118617         * modules/strnlen (Include): Use strnlen.h.
118619 2006-01-09  Bruno Haible  <bruno@clisp.org>
118621         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
118623 2006-01-09  Bruno Haible  <bruno@clisp.org>
118625         * lib/sysexit_.h (EX_OK): New macro.
118626         Suggested by Martin Lambers <marlam@marlam.de>.
118628 2006-01-09  Bruno Haible  <bruno@clisp.org>
118630         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
118631         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
118633 2006-01-09  Bruno Haible  <bruno@clisp.org>
118635         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
118636         numbers.
118638 2006-01-09  Bruno Haible  <bruno@clisp.org>
118640         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
118641         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
118642         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
118643         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
118645 2006-01-09  Bruno Haible  <bruno@clisp.org>
118647         * build-aux/javacomp.sh.in: New file, moved from lib/.
118648         * modules/javacomp-script (Files): Update.
118649         (configure.ac): Add AC_CONFIG_FILES invocation.
118650         (EXTRA_DIST): Remove variable.
118652         * build-aux/javaexec.sh.in: New file, moved from lib/.
118653         * modules/javaexec (Files): Update.
118654         (configure.ac): Add AC_CONFIG_FILES invocation.
118655         (EXTRA_DIST): Remove javaexec.sh.in.
118657         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
118658         * modules/csharpcomp-script (Files): Update.
118659         (configure.ac): Add AC_CONFIG_FILES invocation.
118660         (EXTRA_DIST): Remove variable.
118662         * build-aux/csharpexec.sh.in: New file, moved from lib/.
118663         * modules/csharpexec (Files): Update.
118664         (configure.ac): Add AC_CONFIG_FILES invocation.
118665         (EXTRA_DIST): Remove csharpexec.sh.in.
118667 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118669         Sync from coreutils.
118671         Add POSIX ACL support
118672         * lib/acl.h (copy_acl, set_acl): Add declarations.
118673         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
118674         systems other than Linux.
118675         (chmod_or_fchmod): New function: use fchmod when possible,
118676         and chmod otherwise.
118677         (file_has_acl): Add a POSIX ACL implementation, with a
118678         Linux-specific subcase.
118679         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
118680         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
118681         acls are unsupported.
118682         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
118683         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
118684         are unsupported.
118686 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118688         Sync from coreutils.
118689         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
118691 2006-01-07  Bruno Haible  <bruno@clisp.org>
118693         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
118694         gl_EARLY.
118696 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118698         * lib/strftime.c (tzname): Don't declare if it is already #defined.
118699         Problem reported for Mingw by Mark Junker.
118701 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118703         * README: Gnulib normally doesn't generate a tarball.
118705 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
118707         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
118708         long int, not int, for nanosecond counts, so that people who are
118709         used to POSIX struct timespec won't be surprised.  Reported by Jim
118710         Meyering.
118712 2005-12-28  Bruno Haible  <bruno@clisp.org>
118714         * build-aux/config.rpath: Update from GNU gettext.
118716 2005-12-16  Jim Meyering  <jim@meyering.net>
118718         * modules/fprintftime: New module.
118719         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
118721 2005-12-16  Jim Meyering  <jim@meyering.net>
118723         * m4/fprintftime.m4: New file.
118725 2005-12-16  Jim Meyering  <jim@meyering.net>
118727         * lib/fprintftime.c, lib/fprintftime.h: New files.
118729 2005-12-15  Simon Josefsson  <jas@extundo.com>
118731         * modules/socklen (configure.ac): Fix M4 macro name, to align with
118732         new m4/socklen.m4.
118734 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118736         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
118737         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
118739 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118741         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
118742         * lib/argp-help.c (fill_in_uparams): Check if the constructed
118743         struct uparams is valid. Fall back to the default values if it is
118744         not.
118746 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118748         * modules/argp (Files): Add argp-pin.c
118749         (Depends-on): dirname
118750         (lib_SOURCES): Add argp-pin.c
118752 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118754         * m4/argp.m4:  Check if program_invocation_name and
118755         program_invocation_short_name are declared and define appropriate
118756         macros if they are not.
118758 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118760         * lib/argp-help.c (__argp_base_name): New function
118761         (__argp_short_program_name): Rewrite using __argp_base_name
118762         * lib/argp-namefrob.h: Define program_invocation_name and
118763         program_invocation_short_name if requested
118764         (__argp_base_name): Add prototype
118765         * lib/argp-parse.c (argp_def): Use gettext wrappers
118766         (argp_default_parser): Use __argp_base_name
118767         * lib/argp-pin.c: New file. Defines program_invocation_name and
118768         program_invocation_short_name on systems that lack them.
118770 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118772         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
118773         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118774         porting problem reported by Georg Schwarz in
118775         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118777 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118779         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
118780         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118781         porting problem reported by Georg Schwarz in
118782         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118784 2005-12-05  Bruno Haible  <bruno@clisp.org>
118786         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
118787         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
118788         Reported by Mark Junker <mjscod@gmx.de>.
118790 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
118792         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
118793         Use implementation from Albert Chin, with some
118794         comments/corrections by Stepan Kasal and myself.
118796 2005-12-02  Bruno Haible  <bruno@clisp.org>
118798         * gnulib-tool (func_import): Accept GPLed build tool modules when
118799         --lgpl is given.
118800         * modules/csharpcomp-script: New file.
118801         * modules/csharpcomp: Depend on it.
118802         * modules/javacomp-script: New file.
118803         * modules/javacomp: Depend on it.
118804         Suggested by Simon Josefsson.
118806 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
118808         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
118809         statement, to work around an HP-UX 10.20 compiler bug reported by
118810         Peter O'Gorman.
118812 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118814         * modules/savedir (Depends-on): Add openat.
118816 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118818         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
118819         (uintmax_t) [defined uintmax_t]: Do not declare.
118820         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
118821         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
118822         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
118823         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
118824         sake of portability to weird hosts that C allows (though we don't
118825         know of any practical examples).
118827         * lib/savedir.h (fdsavedir): New decl.
118828         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
118829         contains most of the former guts of savedir.
118830         (savedir): Use savedirstream.
118831         Include "openat.h".
118833 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
118835         * modules/obstack (Files): Add m4/ulonglong.m4.
118836         Problem reported by Davide Angelocola.
118838 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
118840         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
118841         coreutils no longer futzes with rounding modes.
118843 2005-11-14  Jim Meyering  <jim@meyering.net>
118845         * lib/mkstemp-safer.c: Include <config.h>, required for possible
118846         replacement of mkstemp.
118848 2005-11-10  Simon Josefsson  <jas@extundo.com>
118850         * lib/readline.c: Remove EOL.
118852 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118854         * modules/gethrxtime (Depends-on): Add gettime.
118856 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118858         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
118859         or gettimeofday; no longer needed.
118861 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118863         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
118864         time business.
118865         (gethrxtime) [! (HAVE_NANOUPTIME
118866         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
118867         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
118868         our own approximation.
118870 2005-11-08  Eric Blake  <ebb9@byu.net>
118872         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118874 2005-11-08  Eric Blake  <ebb9@byu.net>
118876         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118878 2005-11-04  Bruno Haible  <bruno@clisp.org>
118880         * gnulib-tool: Implement --update mode.
118882 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118884         Fix porting problem reported by Theodoros V. Kalamatianos.
118885         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
118886         Don't assume that futimes failing means we must fail.
118888 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118890         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
118891         variables to suggest the intended function of the PATH_MAX check.
118893 2005-10-30  Kean Johnston  <jkj@sco.com>
118895         Trivial changes to support SCO systems.
118896         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
118897         as PATH_MAX.
118898         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
118899         where __ptr is null when no I/O is pending.
118901 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
118903         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
118904         leave errno alone.  Problem reported by Dmitry V. Levin.
118906 2005-10-28  Simon Josefsson  <jas@extundo.com>
118908         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
118909         Test more.
118911         * tests/test-gc-md2.c, tests/test-md2.c: New files.
118913         * modules/md2, modules/md2-tests: New files.
118915 2005-10-28  Simon Josefsson  <jas@extundo.com>
118917         * m4/inet_ntop.m4: More tests.
118919         * m4/gc-md2.m4, md2.m4: New file.
118921 2005-10-28  Simon Josefsson  <jas@extundo.com>
118923         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
118924         "restrict" keywords, as per POSIX.  Protect the function
118925         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
118926         Don't use K&R prototypes.  Check the sprintf return values.
118927         Re-define EAFNOSUPPORT if not present.  Indent.
118929         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
118930         suggested by Bruno Haible <bruno@clisp.org>.
118932         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
118934         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
118936         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
118937         libgcrypt).
118939         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
118941         * lib/md2.h, lib/md2.c: New files.
118943 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
118945         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
118946         errno alone.  Problem reported by Frederic Jolliton.
118948 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
118950         * modules/verify (License): Change from GPL to LGPL.  This is a
118951         tiny module and there are apparently near-equivalents that are
118952         under the BSD license.
118954 2005-10-24  Simon Josefsson  <jas@extundo.com>
118956         * modules/sha1: Relicense to LGPL.
118958 2005-10-24  Simon Josefsson  <jas@extundo.com>
118960         * lib/md4.h: Shrink buffer size, now that we changed the type.
118962 2005-10-23  Simon Josefsson  <jas@extundo.com>
118964         * gnulib-tool (func_import): Fix --tests-base.
118966 2005-10-22  Simon Josefsson  <jas@extundo.com>
118968         * modules/arcfour (Depends-on): Need stdint.
118970 2005-10-22  Simon Josefsson  <jas@extundo.com>
118972         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
118973         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
118975 2005-10-22  Simon Josefsson  <jas@extundo.com>
118977         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
118978         suggested by Bruno Haible <bruno@clisp.org>.
118980 2005-10-22  Simon Josefsson  <jas@extundo.com>
118982         * lib/crc.h: Include stddef.h, for size_t.
118984 2005-10-22  Simon Josefsson  <jas@extundo.com>
118986         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
118987         arcfour_context struct (simplify test vector testing in GNU
118988         Shishi).
118990 2005-10-21  Simon Josefsson  <jas@extundo.com>
118992         * modules/des, modules/des-tests: New files.
118994         * modules/gc-des, modules/gc-des-tests: New files.
118996         * tests/test-des.c, tests/test-gc-des.c: New file.
118998 2005-10-21  Simon Josefsson  <jas@extundo.com>
119000         * modules/arctwo, modules/arctwo-tests: New files.
119002         * tests/test-arctwo.c: New file.
119004         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
119006         * tests/test-gc-arctwo.c: New file.
119008 2005-10-21  Simon Josefsson  <jas@extundo.com>
119010         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
119011         Bruno Haible <bruno@clisp.org>.
119013         * m4/gc-des.m4: New file.
119015 2005-10-21  Simon Josefsson  <jas@extundo.com>
119017         * m4/arctwo.m4: New file.
119019         * m4/gc-arctwo.m4: New file.
119021 2005-10-21  Simon Josefsson  <jas@extundo.com>
119023         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
119024         block.
119026 2005-10-21  Simon Josefsson  <jas@extundo.com>
119028         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
119029         <bruno@clisp.org>.
119031         * lib/hmac-sha1.c (hmac_sha1): Likewise.
119033         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
119034         Bruno Haible <bruno@clisp.org>.
119036         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
119037         <bruno@clisp.org>.
119039 2005-10-21  Simon Josefsson  <jas@extundo.com>
119041         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
119043 2005-10-21  Simon Josefsson  <jas@extundo.com>
119045         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
119047 2005-10-21  Simon Josefsson  <jas@extundo.com>
119049         * lib/des.h, lib/des.c: New files.
119051         * lib/gc-gnulib.c: Support DES.c
119053 2005-10-21  Simon Josefsson  <jas@extundo.com>
119055         * lib/arctwo.h, lib/arctwo.c: New files.
119057         * lib/gc-gnulib.c: Support ARCTWO.
119059 2005-10-21  Simon Josefsson  <jas@extundo.com>
119061         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
119062         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
119064 2005-10-21  Simon Josefsson  <jas@extundo.com>
119066         * gnulib-tool (func_import, func_create_testdir): Define automake
119067         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
119068         Makefile.am snippet),
119069         suggested by Bruno Haible <bruno@clisp.org>.
119071         * modules/gc (Makefile.am): Use it.
119073 2005-10-21  Bruno Haible  <bruno@clisp.org>
119075         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
119076         patch.
119078 2005-10-19  Simon Josefsson  <jas@extundo.com>
119080         * tests/test-gc-rijndael.c: New file.
119082         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
119084 2005-10-19  Simon Josefsson  <jas@extundo.com>
119086         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
119087         interface too.
119089 2005-10-19  Simon Josefsson  <jas@extundo.com>
119091         * tests/test-gc-arcfour.c: New file.
119093         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
119095 2005-10-19  Simon Josefsson  <jas@extundo.com>
119097         * modules/gc-md4, modules/gc-md4-tests: New file.
119099         * tests/test-gc-md4.c: New file.
119101 2005-10-19  Simon Josefsson  <jas@extundo.com>
119103         * m4/gc-md4.m4: New file.
119105 2005-10-19  Simon Josefsson  <jas@extundo.com>
119107         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
119108         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
119109         <kasal@ucw.cz>.
119111 2005-10-19  Simon Josefsson  <jas@extundo.com>
119113         * m4/gc-arcfour.m4: New file.
119115         * m4/gc-rijndael.m4: New file.
119117 2005-10-19  Simon Josefsson  <jas@extundo.com>
119119         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
119121 2005-10-19  Simon Josefsson  <jas@extundo.com>
119123         * lib/gc-gnulib.c: Support ARCFOUR.
119125 2005-10-19  Simon Josefsson  <jas@extundo.com>
119127         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
119128         support.
119130         * lib/gc.h: Add ECB enum type.
119132         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
119134 2005-10-18  Simon Josefsson  <jas@extundo.com>
119136         * tests/test-md5.c: New file.
119138         * modules/md5-tests: New file.
119140 2005-10-18  Simon Josefsson  <jas@extundo.com>
119142         * tests/test-md4.c: New file.
119144         * modules/md4, modules/md4-tests: New files.
119146 2005-10-18  Simon Josefsson  <jas@extundo.com>
119148         * m4/md4.m4: New file.
119150 2005-10-18  Simon Josefsson  <jas@extundo.com>
119152         * lib/md4.h, lib/md4.c: New files, based on md5.?.
119154 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
119156         * gnulib-tool (func_create_testdir): Omit the second check whether
119157         BUILT_SOURCES in nonempty.
119159 2005-10-17  Simon Josefsson  <jas@extundo.com>
119161         * tests/test-rijndael.c: New file.
119163 2005-10-17  Simon Josefsson  <jas@extundo.com>
119165         * modules/sha1: Depend on stdint instead of md5.
119167         * modules/md5: Depend on stdint, remove uint32_t.
119169 2005-10-17  Simon Josefsson  <jas@extundo.com>
119171         * modules/gc-sha1-tests: New file.
119173         * tests/test-gc-sha1.c: New file.
119175 2005-10-17  Simon Josefsson  <jas@extundo.com>
119177         * m4/md5.m4: Remove call to uint32_t.m4.
119179 2005-10-17  Simon Josefsson  <jas@extundo.com>
119181         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
119183         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
119184         md5.h.
119186         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
119188         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
119190 2005-10-17  Simon Josefsson  <jas@extundo.com>
119192         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
119194 2005-10-17  Simon Josefsson  <jas@extundo.com>
119196         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
119198 2005-10-17  Simon Josefsson  <jas@extundo.com>
119200         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
119202         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
119204 2005-10-17  Bruno Haible  <bruno@clisp.org>
119206         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
119207         that it can also be used in a test.
119209 2005-10-16  Bruno Haible  <bruno@clisp.org>
119211         * gnulib-tool (func_emit_tests_Makefile_am): Also define
119212         TESTS_ENVIRONMENT, so that individual tests can augment it.
119214         * gnulib-tool (func_create_testdir): Use an intermediate target for
119215         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
119216         macros, like $(ALLOCA_H), which cannot be passed through the command
119217         line.
119219 2005-10-15  Simon Josefsson  <jas@extundo.com>
119221         * modules/rijndael-tests: New file.
119223         * modules/rijndael: New file.
119225 2005-10-15  Simon Josefsson  <jas@extundo.com>
119227         * m4/rijndael.m4: New file.
119229 2005-10-15  Simon Josefsson  <jas@extundo.com>
119231         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
119233         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
119235 2005-10-14  Simon Josefsson  <jas@extundo.com>
119237         * tests/test-arcfour.c: New file.
119239         * modules/arcfour, modules/arcfour-tests: New files.
119241 2005-10-14  Simon Josefsson  <jas@extundo.com>
119243         * m4/arcfour.m4: New file.
119245 2005-10-14  Simon Josefsson  <jas@extundo.com>
119247         * lib/arcfour.h, lib/arcfour.c: New files.
119249 2005-10-14  Roland McGrath  <roland@redhat.com>
119251         Import from libc.  [BZ #1331]
119252         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
119253         macro argument.
119254         Reported by Matej Vela <vela@debian.org>.
119256 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119258         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
119259         include <wchar.h>; no longer needed.
119261 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
119263         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
119265 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
119266         and  Ulrich Drepper  <drepper@redhat.com>
119268         Import from libc.
119269         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
119270         instead of inline stream orientation test and two separate
119271         function calls.  Pay no attention to USE_IN_LIBIO.
119273 2005-10-13  Simon Josefsson  <jas@extundo.com>
119275         * modules/gc-hmac-md5-tests: New file.
119277         * tests/test-gc-hmac-sha1.c: New file.
119279         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
119281         * modules/gc-hmac-md5-tests: New file.
119283         * tests/test-gc-md5.c: New file.
119285         * modules/gc-md5-tests: New file.
119287 2005-10-13  Simon Josefsson  <jas@extundo.com>
119289         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
119290         Move memory allocation outside of loop.
119292 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
119294         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
119295         intermediate directory is in a read-only file system.  Problem
119296         reported by Eric Blake.
119298 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
119300         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
119302 2005-10-12  Simon Josefsson  <jas@extundo.com>
119304         * tests/test-hmac-sha1.c: New file.
119306         * modules/hmac-sha1-tests: New file.
119308         * modules/hmac-sha1: New file.
119310 2005-10-12  Simon Josefsson  <jas@extundo.com>
119312         * modules/gc-sha1: New file.
119314 2005-10-12  Simon Josefsson  <jas@extundo.com>
119316         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
119318         * tests/test-gc-pbkdf2-sha1.c: New file.
119320 2005-10-12  Simon Josefsson  <jas@extundo.com>
119322         * modules/gc-md5, modules/gc-hmac-md5: New files.
119324         * modules/gc (Files): Remove md5, memxor and hmac files.
119326 2005-10-12  Simon Josefsson  <jas@extundo.com>
119328         * m4/gc-pbkdf2-sha1.m4: New file.
119330         * m4/gc-hmac-sha1.m4: New file.
119332         * m4/gc-sha1: New file.
119334         * m4/hmac-sha1.m4: New file.
119336 2005-10-12  Simon Josefsson  <jas@extundo.com>
119338         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
119340         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
119342 2005-10-12  Simon Josefsson  <jas@extundo.com>
119344         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
119345         suggested by Bruno Haible <bruno@clisp.org>.
119347 2005-10-12  Simon Josefsson  <jas@extundo.com>
119349         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
119351 2005-10-12  Simon Josefsson  <jas@extundo.com>
119353         * lib/gc-pbkdf2-sha1.c: New file.
119355         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
119357 2005-10-12  Simon Josefsson  <jas@extundo.com>
119359         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
119361         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
119363 2005-10-12  Simon Josefsson  <jas@extundo.com>
119365         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
119366         GC_USE_HMAC_MD5, respectively.
119368         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
119369         (gc_md5): Fix typo.
119371         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
119373         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
119375         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
119377 2005-10-12  Bruno Haible  <bruno@clisp.org>
119379         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
119380         Reported by Stepan Kasal <kasal@ucw.cz>.
119382 2005-10-11  Simon Josefsson  <jas@extundo.com>
119384         * tests/test-crc.c: New file.
119386         * modules/crc, modules/crc-tests: New files.
119388 2005-10-11  Simon Josefsson  <jas@extundo.com>
119390         * m4/crc.m4: New file.
119392 2005-10-11  Simon Josefsson  <jas@extundo.com>
119394         * lib/gc.h: Add gc_hash and gc_hash_buffer.
119396         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
119398         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
119400 2005-10-11  Simon Josefsson  <jas@extundo.com>
119402         * lib/crc.h, lib/crc.c: New files.
119404         * lib/gc.h (gc_hash_buffer): Add doc.
119406 2005-10-11  Bruno Haible  <bruno@clisp.org>
119408         * modules/c-strcasestr: New file.
119409         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
119411 2005-10-11  Bruno Haible  <bruno@clisp.org>
119413         * modules/c-strcase: New file.
119414         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
119416 2005-10-11  Bruno Haible  <bruno@clisp.org>
119418         * lib/strcasecmp.c: Include limits.h.
119419         (strcasecmp): Avoid integer overflow on exotic platforms.
119420         * lib/strncasecmp.c: Include limits.h.
119421         (strncasecmp): Avoid integer overflow on exotic platforms.
119422         Reported by Paul Eggert.
119424 2005-10-11  Bruno Haible  <bruno@clisp.org>
119426         * lib/c-strcasestr.h: New file, from GNU gettext.
119427         * lib/c-strcasestr.c: New file, from GNU gettext.
119429 2005-10-11  Bruno Haible  <bruno@clisp.org>
119431         * lib/c-strcase.h: New file, from GNU gettext.
119432         * lib/c-strcasecmp.c: New file, from GNU gettext.
119433         * lib/c-strncasecmp.c: New file, from GNU gettext.
119435 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
119437         * modules/mempcpy (License): GPL -> LGPL.
119438         * modules/strchrnul (License): Likewise.
119439         * modules/sysexits (License): Likewise.
119441 2005-10-08  Simon Josefsson  <jas@extundo.com>
119443         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
119445 2005-10-07  Simon Josefsson  <jas@extundo.com>
119447         * m4/memxor.m4: Remove gl_C_RESTRICT call.
119449 2005-10-06  Simon Josefsson  <jas@extundo.com>
119451         * tests/test-hmac-md5.c: New file.
119453         * modules/hmac-md5-tests: New file.
119455         * modules/hmac-md5: New file.
119457 2005-10-06  Simon Josefsson  <jas@extundo.com>
119459         * m4/hmac-md5.m4: New file.
119461         * m4/memxor.m4: Require gl_C_RESTRICT.
119463 2005-10-06  Simon Josefsson  <jas@extundo.com>
119465         * lib/memxor.c (memxor): Avoid casts and warnings.
119467 2005-10-06  Simon Josefsson  <jas@extundo.com>
119469         * lib/hmac-md5.c: New file.
119471         * lib/hmac.h: New file.
119473 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
119475         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
119476         promotes to int, not unsigned int, to catch the AIX 5.3
119477         compiler bug.
119479 2005-10-05  Simon Josefsson  <jas@extundo.com>
119481         * modules/memxor: New file.
119483         * modules/iconv (Files): Move config.rpath to havelib, it is used
119484         there.
119486         * modules/havelib (Files): Add config.rpath.
119488 2005-10-05  Simon Josefsson  <jas@extundo.com>
119490         * m4/memxor.m4: New file.
119492 2005-10-05  Simon Josefsson  <jas@extundo.com>
119494         * lib/memxor.c (memxor): Fix compiler error.
119496         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
119497         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
119499         * lib/memxor.h, lib/memxor.c: New files.
119501         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
119502         we assume all systems have it, suggested by Jim Meyering
119503         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
119504         any systems lack sys/socket.h; mingw32 is known to lack it, but we
119505         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
119506         same reasons.
119508 2005-10-05  Simon Josefsson  <jas@extundo.com>
119510         * config/srclist.txt: Add glibc bug 1423 for md5.h.
119512 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
119514         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
119515         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
119516         needed, since the source code now assumes these .h files.
119518 2005-10-05  Derek Price  <derek@ximbiot.com>
119520         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
119522 2005-10-05  Bruno Haible  <bruno@clisp.org>
119524         * modules/stdint (License): Change to LGPL.
119526 2005-10-04  Simon Josefsson  <jas@extundo.com>
119528         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
119529         D. Baushke" <mdb@gnu.org>.
119531 2005-10-04  Bruno Haible  <bruno@clisp.org>
119533         * lib/verify.h (verify_true): Provide alternative definition for C++.
119535 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
119537         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
119538         (SSIZE_MAX): New macro, if not already defined.
119539         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
119540         than 2 GiB.
119542 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119544         Sync from coreutils.
119545         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
119546         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
119547         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
119548         ULLONG_MAX doesn't work with 2.7.2.1.
119550 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119552         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
119553         From Ben Pfaff.
119555         * modules/exclude (Depends-on): Depend on verify.
119556         * modules/strtoimax (Depends-on): Likewise.
119557         * modules/utimecmp (Depends-on): Likewise.
119559 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
119561         * lib/exclude.c: Include verify.h.
119562         (verify): Remove.  All callers changed to use verify.h's version.
119563         * lib/strtoimax.c: Likewise.
119564         * lib/utimecmp.c: Likewis.e
119566         Sync from coreutils.
119567         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
119568         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
119569         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
119570         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
119571         bother returning ENOSYS if settimeofday or stime fails; just let
119572         them return whatever errno they want to return.
119573         * lib/utimens.c: Include unistd.h, for dup2.
119574         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
119575         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
119577 2005-10-02  Jim Meyering  <jim@meyering.net>
119579         Sync from coreutils.
119580         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
119581         from glibc-2.2.5 that fails for read-only files.
119583 2005-10-02  Jim Meyering  <jim@meyering.net>
119585         Sync from coreutils.
119586         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
119587         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
119588         `#if HAVE_CONFIG_H'.
119589         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
119590         Remove AT_FDCWD test.
119591         Do not consume the fd unless successful.
119592         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
119593         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
119594         block, so that we don't even try to compile it if settimeofday is
119595         available.  This works around a compilation failure on OSF1 V5.1,
119596         due to stime requiring a `long int*' while tv_sec is `int'.
119598 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
119600         Sync from coreutils.
119601         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
119602         against `yes', rather than just testing for nonempty.
119604 2005-10-01  Simon Josefsson  <jas@extundo.com>
119606         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
119607         and Darwin.
119609         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
119610         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
119611         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
119612         freeaddrinfo and gai_strerror are declared by the POSIX headers.
119613         Check if struct addrinfo is declared.
119615 2005-10-01  Simon Josefsson  <jas@extundo.com>
119617         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
119618         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
119619         AI_* and EAI_* definitions.  Protect function declarations.
119621 2005-10-01  Jim Meyering  <jim@meyering.net>
119623         Sync from coreutils.
119625         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
119626         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
119627         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
119628         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119629         in the inet and nsl libraries.  Required on Solaris 5.7.
119631 2005-10-01  Jim Meyering  <jim@meyering.net>
119633         Sync from coreutils.
119634         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119635         in the inet and nsl libraries.  Required on Solaris 5.7.
119637 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
119639         * lib/getdelim.c (getdelim): Remove unused variables.
119641 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
119643         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
119644         so that the code works even with ancient cpp.  Portability problem
119645         with GCC 2.7.2.1 reported by Thomas M.Ott.
119647 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
119649         * modules/regex (Depends-on): Add strcase.
119651         * modules/gethostname (Licence): Change from GPL to LGPL, since
119652         gethostname.c is a trivial implementation of a standard library
119653         function.
119654         * modules/poll (License): Change from GPL to LGPL, since it's
119655         derived from LGPL code.
119657 2005-09-27  Jim Meyering  <jim@meyering.net>
119659         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
119660         HAVE_CONFIG_H.
119662         * lib/intprops.h (signed_type_or_expr__): Define.
119663         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
119664         for unsigned types.
119666 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
119668         * lib/verify.h (verify_expr): Remove, replacing with:
119669         (verify_true): New macro that returns true instead of void.
119670         (verify_type__): Remove.
119671         (verify): Use verify_true rather than verify_type__.
119673 2005-09-26  Bruno Haible  <bruno@clisp.org>
119675         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
119676         is necessary.
119677         (lib_SOURCES): Remove mbchar.c.
119678         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
119679         (Files): Add m4/mbrtowc.m4.
119680         * modules/mbiter: Likewise.
119681         * modules/mbuiter: Likewise.
119683 2005-09-26  Bruno Haible  <bruno@clisp.org>
119685         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
119686         compile mbchar.c if they are not both present.
119687         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
119688         * m4/mbiter.m4 (gl_MBITER): Likewise.
119689         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
119690         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
119691         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
119693 2005-09-25  Jim Meyering  <jim@meyering.net>
119695         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
119696         also uses socklen_t.
119698 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
119700         * lib/utimens.c (ENOSYS): Define if not already defined.
119701         (futimens): Support having a null PATH if the file descriptor
119702         is nonnegative.
119704         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
119705         Remove.
119706         (__attribute): Define to empty unless GCC 3.1 or later.
119707         This works around a core dump on OpenBSD 3.4, which has GCC
119708         2.95.3, which dumps core when given __attribute__(()).  It also
119709         simplifies other tests, since we really don't want to bother with
119710         worrying about which ancient version of GCC supported what.
119711         Original problem reported by Yoann Vandoorselaere, with part of
119712         the fix suggested by Derek Price.
119714 2005-09-24  Jim Meyering  <jim@meyering.net>
119716         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
119717         so we can once again use a positive bitfield width of 1 -- now we
119718         don't have to explain why we were using a bitfield width of 2.
119720 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119722         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
119723         and similarly for the other external symbols.  Problem reported
119724         by James Gallager.
119726         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
119727         bug reported by Jim Meyering.
119729         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
119730         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
119731         not needed, since socklen is a prerequisite module.
119733 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119735         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
119736         Problem reported by Eric Blake.
119737         (getaddrinfo): Initialize se so that it's not garbage.
119738         Redo internal storage allocation so that it doesn't make unportable
119739         assumptions about alignment.
119740         Fix a memory leak.
119742         * lib/utimens.c (futimens): Use futimesat if available.
119743         Prefer it to futimes since it doesn't have the futimes bug.
119745         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
119746         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
119747         Instead, declare a function that returns a pointer to an array,
119748         and use verify_type__ to declare the size of the array.
119749         Problem and germ of a solution reported by Bruno Haible.
119750         (verify_type__): Use 2, not 1, for bitfield size, to avoid
119751         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
119753 2005-09-23  Jim Meyering  <jim@meyering.net>
119755         Sync from coreutils.
119756         Correct build failure (socklen_t not defined) on at least
119757         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
119758         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
119760 2005-09-23  Jim Meyering  <jim@meyering.net>
119762         * modules/getaddrinfo (Depends-on): Add socklen.
119764 2005-09-23  Bruno Haible  <bruno@clisp.org>
119766         * tests/test-verify.c: New file.
119768 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119770         Sync from coreutils.
119772         * modules/argmatch (Depends-on): Add verify.
119773         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
119774         unistd-safer.
119775         * modules/save-cwd (Depends-on): Likewise.
119777         * modules/openat (Files): Add lib/openat-die.c.
119778         (Depends-on): Remove error, exitfail.
119779         Add dirname.
119781         * modules/verify: New file.
119782         * MODULES.html.sh (Diagnostics <assert.h>): New section,
119783         with "verify" module.
119785 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119787         Sync from coreutils.
119789         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
119790         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
119791         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
119792         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
119793         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
119794         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
119795         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
119796         Don't bother checking for string.h, stdlib.h, unistd.h.
119797         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
119798         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
119799         module's job.
119800         * m4/jm-macros.m4 (gl_MACROS): Likewise.
119801         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
119803         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
119804         (gl_GETDATE): Use it.
119806         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
119808 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119810         Sync from coreutils.
119812         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
119813         stat-time.h.
119814         * lib/argmatch.h: Include verify.h
119815         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
119816         (ARGMATCH_ASSERT): Remove; unused.
119817         * lib/canonicalize.c: Assume STDC_HEADERS.
119818         * lib/exclude.c: Include "strcase.h".
119819         * lib/regex_internal.h [!defined _LIBC]: Likewise.
119820         * lib/getusershell.c: Include stdio--.h rather than stdio.h
119821         and stdio-safer.h.
119822         (getusershell): Call fopen, not fopen_safer.
119823         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
119824         Do not include unistd-safer.h.
119825         (save_cwd): Don't call fd_safer; no longer needed
119826         now that we include fcntl--.h.
119828         * lib/getdate.y (relative_time): New type.
119829         (RELATIVE_TIME_0): New constant.
119830         (parser_control): Use relative_time instead of doing it ourselves.
119831         (%union): Add new relative_time rel member.
119832         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
119833         Now typeless.
119834         (relunit, relunit_snumber): Now of type rel.
119835         (zone, rel, relunit, get_date): Adjust to above changes.
119837         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
119838         Do not include unistd-safer.h.
119839         (getloadavg): Don't call fd_safer; no longer needed
119840         now that we include fcntl--.h.
119842         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
119843         (make_dir_parents): Treat ENOSYS like EEXIST.
119845         Improve quality of diagnostics on restore_cwd failure.
119846         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
119847         (make_dir_parents): Last arg is now int * (for errno), not bool *.
119848         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
119849         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
119850         each time through the loop.  Do not diagnose restore_cwd failure;
119851         that is the caller's job (and perhaps the caller does not care).
119853         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
119854         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
119855         If the file already exists but is not a directory, don't bother
119856         to try to make its parents.
119857         Close potential file descriptor leak if we can't chdir("/") (!).
119858         Don't always return true if chdir($PWD) fails; return true only
119859         if the requested action was done successfully (except for the
119860         chdir($PWD)).
119861         Don't log final directory unless we actually made it.
119862         Refactor to avoid duplicate code to fix up permissions.
119863         Don't attempt to fix up parent permissions if chdir($PWD) fails.
119865         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
119866         to make it a bit faster and (I hope) clearer.
119867         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
119868         Fix bug in formats like %2N.
119870         * lib/verify.h: New file.
119872 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119874         Sync from coreutils.
119875         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
119877 2005-09-22  Jim Meyering  <jim@meyering.net>
119879         Sync from coreutils.
119881         * m4/lstat.m4 (gl_FUNC_LSTAT):
119882         Use AC_LIBSOURCES to require lstat.c and lstat.h.
119883         Remove obsolete comment.
119884         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
119885         * m4/xstrtod.m4: Likewise.
119887         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
119889 2005-09-22  Jim Meyering  <jim@meyering.net>
119891         Sync from coreutils.
119893         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
119895         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
119896         the .tm_year member, since otherwise gcc-4.0 would now warn about
119897         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
119899         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
119900         order to avoid an unsuppressible warning from gcc on 64-bit systems.
119902         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
119903         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
119904         when run in a time zone for which daylight savings time is in effect
119905         for the starting date.
119907         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
119908         stop us from restricting permissions of just-created absolute-named
119909         directories.
119910         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
119911         to restore initial working directory.
119912         * lib/mkdir-p.c (make_dir_parents): New parameter:
119913         different_working_dir, to tell caller if/when we change the working
119914         directory and are unable to return to the initial one.
119915         * lib/mkdir-p.h (make_dir_parents): Update prototype.
119916         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
119917         `return false'.  This fixes a bug introduced on 2004-07-30.
119919         * lib/openat.c (fdopendir): Be sure to close the supplied
119920         file descriptor before returning.  This makes our replacement
119921         implementation a little closer to Solaris's, where fdopendir
119922         ties the file descriptor to the returned DIR* pointer.
119923         * lib/openat.c (unlinkat): New function.
119924         * lib/openat.h (unlinkat): Add prototype.
119925         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
119926         (openat_restore_fail): Rename from openat_restore_die.
119927         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
119929         Provide an alternative to exiting immediately upon save_cwd or
119930         restore_cwd failure.  Now, an application can arrange e.g.,
119931         to perform a longjump in that case.
119932         * lib/openat.c: Include dirname.h.
119933         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
119934         (rpl_openat, fdopendir, fstatat): Call openat_save_die
119935         and openat_restore_die rather than calling error directly.
119936         Don't include "error.h" or "exitfail.h"; they're no longer needed.
119938         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
119939         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
119940         define.
119942         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
119943         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
119944                             int utc, int nanoseconds);
119945         Background:
119946         date should not have to allocate a megabyte of virtual memory to
119947         handle a format argument like +%1048575T.  When implemented with
119948         strftime, it must allocate such a buffer, use strftime to fill it
119949         in, print it, then free it.
119950         With fprintftime, it simply prints everything and exits.
119951         With no need for memory allocation, that's one fewer way to fail.
119952         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
119953         optional field width, not before, so we accept %9:z, not %:9z.
119954         (my_strftime): Be sure to use L_('x') for literals.
119956         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
119957         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
119958         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
119959         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
119960         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
119961         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
119962         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
119963         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
119964         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
119965         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
119966         * lib/xgethostname.c, lib/xreadlink.c:
119967         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
119969         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
119970         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
119971         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
119972         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
119973         and don't include <sys/file.h>).
119975 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
119977         Sync from coreutils.
119979         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
119980         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
119981         [!LDAV_DONE]: Avoid unused variable warning.
119983 2005-09-21  Bruno Haible  <bruno@clisp.org>
119985         * lib/unicodeio.h (unicode_to_mb): New declaration.
119987 2005-09-20  Derek Price  <derek@ximbiot.com>
119989         * lib/getaddrinfo.c: Don't include <netdb.h> included from
119990         getaddrinfo.h.
119992 2005-09-20  Bruno Haible  <bruno@clisp.org>
119994         * gnulib-tool: Remove trailing slashes from the values specified for
119995         --source-base, --m4-base, --tests-base, --aux-dir.
119996         Suggested by Simon Josefsson <jas@extundo.com>.
119998 2005-09-20  Bruno Haible  <bruno@clisp.org>
120000         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
120001         func_modules_to_filelist, func_import, func_create_testdir): Make all
120002         sorting results locale-independent, so that gnulib-cache.m4 doesn't
120003         change when gnulib-tool is invoked in a different locale.
120005 2005-09-19  Simon Josefsson  <jas@extundo.com>
120007         * m4/socklen.m4: Fix typo.
120009 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
120011         Use a consistent style for including <config.h>.
120012         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
120013         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
120014         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
120015         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
120016         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
120017         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
120018         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
120019         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
120020         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
120021         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
120022         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
120023         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
120024         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
120025         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
120026         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
120027         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
120028         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
120029         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
120030         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
120031         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
120032         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
120033         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
120034         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
120035         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
120036         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
120037         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
120038         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
120039         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
120040         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
120041         lib/xstrtoumax.c, lib/yesno.c:
120042         Standardize inclusion of config.h.
120043         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
120044         lib/inttostr.h:  Removed inclusion of config.h from header files.
120045         * lib/inttostr.c:  Adjusted in-tree users.
120046         * lib/timespec.h: Remove superfluous warning to include config.h.
120047         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
120048         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
120049         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
120050         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
120051         config.h with HAVE_CONFIG_H.
120053 2005-09-19  Jim Meyering  <jim@meyering.net>
120055         * modules/pathmax (License): Change to LGPL.
120057 2005-09-19  Derek Price  <derek@ximbiot.com>
120059         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
120061 2005-09-19  Bruno Haible  <bruno@clisp.org>
120063         * gnulib-tool (import): Provide default for --tests-base.
120065 2005-09-19  Bruno Haible  <bruno@clisp.org>
120067         * doc/quote.texi: New file, extracted from gnulib.texi.
120068         * doc/ctime.texi: New file, extracted from gnulib.texi.
120069         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
120070         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
120071         * doc/gnulib.texi: Include them.
120073 2005-09-18  Bruno Haible  <bruno@clisp.org>
120075         Portability fix.
120076         * gnulib-tool (func_readlink): New function.
120077         (func_ln_if_changed): Use it.
120079 2005-09-18  Bruno Haible  <bruno@clisp.org>
120081         * gnulib-tool: Support --with-tests also with --import.
120082         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
120083         (func_import): Use variables $testsbase and $inctests. Emit a
120084         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
120085         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
120086         SUBDIRS += $testsdir.
120087         (func_create_testdir): Update.
120089 2005-09-18  Bruno Haible  <bruno@clisp.org>
120091         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
120092         instead of $dry_run.
120093         (func_cp_if_changed, func_mv_if_changed): Remove functions.
120094         (func_ln_if_changed): Don't handle dry-run here.
120095         (func_import): In dry-run mode, detect more precisely which actions
120096         would be performed, and don't use "...ing" verbs.
120098 2005-09-18  Bruno Haible  <bruno@clisp.org>
120100         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
120101         (func_import): Use join on two temporary files instead of three nested
120102         loops, in order to determine which files are new or old.
120104 2005-09-18  Bruno Haible  <bruno@clisp.org>
120106         * gnulib-tool (func_import): Comment out code that spits out the
120107         new files with --dry-run.
120109 2005-09-18  Bruno Haible  <bruno@clisp.org>
120111         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
120113 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120115         * lib/stat-time.h: New file.
120116         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
120117         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
120118         in a different way.
120119         (timespec_cmp): New function.
120120         * lib/utimecmp.c: Include stat-time.h.
120121         (SYSCALL_RESOLUTION): Depend on whether various struct stat
120122         members exist, not on the obsolescent ST_MTIM_NSEC.
120123         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
120125 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120127         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
120129 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
120131         * MODULES.html.sh (File system functions): Add stat-time.
120132         * modules/stat-time: New file.
120133         * modules/timespec (Files): Remove m4/st_mtim.m4; this
120134         is now done in a different way, by the stat-time module.
120135         * modules/utimecmp (Depends-on): Add stat-time.
120137 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
120139         * m4/st_mtim.m4: Remove.  Superseded by...
120140         * m4/stat-time.m4: New file.
120141         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
120142         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
120144 2005-09-15  Derek Price  <derek@ximbiot.com>
120146         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
120148 2005-09-15  Derek Price  <derek@ximbiot.com>
120150         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
120151         * lib/regex_internal.c: Ditto, using this...
120152         (__GNUC_PREREQ): ...new macro.
120153         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
120154         using...
120155         (__GNUC_PREREQ): ...this new macro.
120157         * lib/strstr.h: Include string.h. Define strstr as a macro here.
120159 2005-09-15  Derek Price  <derek@ximbiot.com>
120160             Paul Eggert  <eggert@cs.ucla.edu>
120162         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
120163         changes, consolidating in...
120164         * lib/regex_internal.h: ...this file.
120166 2005-09-13  Jim Meyering  <jim@meyering.net>
120168         * lib/canon-host.c: Filter through gnu indent and reword comments
120169         slightly.
120170         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
120172 2005-09-13  Derek Price  <derek@ximbiot.com>
120174         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
120175         failure.
120176         Reported by Jim Meyering  <jim@meyering.net>.
120178 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
120180         * lib/base64.c: Typo.
120181         (base64_encode): Put b64str in initialized data section.
120183 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
120185         Merge glibc and coreutils changes into gnulib, plus a few
120186         extra fixes.
120187         * lib/md5.c: Use #error rather than a string.
120188         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
120189         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
120190         (__attribute__): Define to empty for non recent-GCC.
120191         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
120192         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
120193         Renamed from their non-__ counterparts, with new macros replacing
120194         them if not _LIBC.  Add __THROW attribute.
120195         (rol): Remove.
120196         (struct md5_ctx): Align buffer if using GCC.
120197         * lib/sha1.h (struct sha1_ctx): Likewise.
120198         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
120199         The old name was backwards.
120200         (NOTSWAP): Remove; not used.
120201         (rol): New macro, moved here from md5.h.
120202         (sha1_process_block): Remove a FIXME that doesn't make sense.
120204 2005-09-12  Derek Price  <derek@ximbiot.com>
120206         Return usable errors from canon-host.
120207         * lib/canon-host.h: New file.
120208         * lib/canon-host.c (canon_host): Wrap...
120209         (canon_host_r): ...this new function, which now relies exclusively on
120210         getaddrinfo.
120211         (ch_strerror): New function.
120212         (last_cherror): New global.
120213         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
120214         interface.
120215         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
120216         void *.
120217         (freeaddrinfo): Free ai->ai_canonname when set.
120219 2005-09-12  Derek Price  <derek@ximbiot.com>
120221         Make canon-host require getaddrinfo.
120222         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
120223         AC_LIBSOURCE canon-host.h.  Call...
120224         (gl_PREREQ_CANON_HOST): ...this new function, which requires
120225         gl_GETADDRINFO.
120226         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
120228 2005-09-12  Derek Price  <derek@ximbiot.com>
120230         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
120231         LGPL.
120232         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
120234 2005-09-12  Derek Price  <derek@ximbiot.com>
120236         * lib/gai_strerror.c: Include config.h when available.  Include
120237         getaddrinfo.h before other headers to test interface.
120238         Reported by Larry Jones <lawrence.jones@ugs.com>.
120240 2005-09-12  Derek Price  <derek@ximbiot.com>
120241             Paul Eggert  <eggert@cs.ucla.edu>
120243         * modules/glob (Files): Add glob-libc.h.
120245 2005-09-12  Derek Price  <derek@ximbiot.com>
120246             Paul Eggert  <eggert@cs.ucla.edu>
120248         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
120249         glob_.h, glob-libc.h.
120250         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
120252 2005-09-12  Derek Price  <derek@ximbiot.com>
120253             Paul Eggert  <eggert@cs.ucla.edu>
120255         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
120256         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
120257         protecting things that should be done only in gnulib contexts.
120258         * lib/glob_.h: New file, containing only the glob things needed for
120259         gnulib.
120260         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
120261         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
120262         (glob, globfree, glob_pattern_p): Now defined simply in terms of
120263         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
120264         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
120265         and to respect the namespace rules better.
120267 2005-09-08  Simon Josefsson  <jas@extundo.com>
120269         * modules/socklen: New file.
120271 2005-09-08  Simon Josefsson  <jas@extundo.com>
120273         * m4/socklen.m4: New file.
120275 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120277         * modules/utimens (Files): Add m4/utimbuf.m4, since
120278         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
120279         Reported by Sergey Poznyakoff.
120281 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120283         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
120284         definitions, since that's the preferred style in glibc.
120285         Fix a minor spacing issue, and update copyright notice to match
120286         glibc's.
120288 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
120290         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
120292 2005-09-06  Simon Josefsson  <jas@extundo.com>
120294         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
120295         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
120297 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120299         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
120300         warning.
120302 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
120304         * config/srclist.txt: Add glibc bug 1302.
120306 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
120308         Change bitset word type from unsigned int to unsigned long int,
120309         as this has better performance on typical 64-bit hosts.
120310         Port bitset code to hosts with unusual word sizes.
120311         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
120312         (build_collating_symbol):
120313         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
120314         argument is a bitset.  This is merely a style issue, but it makes
120315         it clearer that an entire array is expected.
120316         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
120317         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
120318         Port to the case where bitset_word is not the same as unsigned int.
120319         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120320         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
120321         Likewise.
120322         * lib/regexec.c (check_dst_limits_calc_pos_1,
120323         check_subexp_matching_top):
120324         (build_trtable, group_nodes_into_DFAstates):
120325         Likewise.
120326         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
120327         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
120328         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
120329         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
120330         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
120331         * lib/regcomp.c (optimize_subexps, lower_subexp):
120332         Work even if bitset_word has holes in its bitwise representation.
120333         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
120334         * lib/regexec.c (check_dst_limits_calc_pos_1,
120335         check_subexp_matching_top):
120336         Likewise.
120337         * lib/regex_internal.c (re_string_reconstruct):
120338         Don't assume UCHAR_MAX == 255.
120339         * lib/regex_internal.h (bitset_set_all): Likewise.
120340         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
120341         All uses changed.
120342         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
120343         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
120344         All uses changed.
120345         (BITSET_WORD_MAX): New macro.
120346         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
120347         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
120348         (bitset_empty, bitset_copy):
120349         Prefer sizeof (bitset) to multiplying it out ourselves.
120350         (bitset_not_merge): Remove; unused.
120351         (bitset_contain): Return bool, not unsigned int with one bit on.
120352         All callers changed.
120353         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
120354         alignment than re_node_set; do this by defining a new internal
120355         type struct dests_alloc and using it to allocate memory.
120357 2005-09-05  Bruno Haible  <bruno@clisp.org>
120359         * gnulib-tool (func_import): Fix comparison in handling of symbolic
120360         links.
120362 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
120364         * modules/size_max (Makefile.am): Add size_max.h
120366 2005-09-04  Derek Price  <derek@ximbiot.com>
120368         * gnulib-tool (func_import): Fix reversed $symbolic logic.
120370 2005-09-03  Simon Josefsson  <jas@extundo.com>
120372         * gnulib-tool: Fix typo.
120374 2005-09-03  Simon Josefsson  <jas@extundo.com>
120376         * config/srclist.txt: Add glibc bug 1293.
120378 2005-09-03  Derek Price  <derek@ximbiot.com>
120380         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
120381         From Larry Jones <lawrence.jones@ugs.com>.
120383 2005-09-02  Simon Josefsson  <jas@extundo.com>
120385         * modules/socklen: New file.
120387 2005-09-02  Simon Josefsson  <jas@extundo.com>
120389         * modules/havelib: New module.
120391         * modules/gettext, modules/iconv, modules/lock, modules/readline:
120392         Use havelib.
120394 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120396         Check for arithmetic overflow when calculating sizes, to prevent
120397         some buffer-overflow issues.  These patches are conservative, in the
120398         sense that when I couldn't determine whether an overflow was possible,
120399         I inserted a run-time check.
120400         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
120401         macros.
120402         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
120403         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
120404         (re_xnrealloc, re_x2nrealloc): New inline functions.
120405         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
120406         parse_bracket_exp):
120407         (build_equiv_class, build_charclass): Check for arithmetic overflow
120408         in size expression calculations.
120409         * lib/regex_internal.c (re_string_realloc_buffers):
120410         (build_wcs_upper_buffer, re_node_set_add_intersect):
120411         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
120412         (re_dfa_add_node, register_state): Likewise.
120413         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
120414         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
120415         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
120416         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
120418 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
120420         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
120421         m4/ulonglong.m4.  Problem reported by Martin Lambers.
120423 2005-09-02  Bruno Haible  <bruno@clisp.org>
120425         Support for lib vs. lib64 distinction on biarch platforms.
120426         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
120427         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
120428         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
120430 2005-09-02  Bruno Haible  <bruno@clisp.org>
120432         * gnulib-tool (import): In the other first-use case, provide defaults
120433         as well.
120435 2005-09-02  Bruno Haible  <bruno@clisp.org>
120437         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
120438         patches not yet found in the latest gettext release.
120440 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120442         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
120443         to avoid a collision with bits/local_lim.h in glibc.
120444         All uses changed.  Problem reported by Dmitry V. Levin in
120445         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
120447         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
120448         bugs in int versus size_t comparisons.
120449         (re_string_context_at): Fix bug where the code assumed that
120450         Idx is signed.
120452         Use bool where appropriate.
120453         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
120454         All callers changed.
120455         (calc_eclosure_iter): Likewise, for ROOT arg.
120456         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
120457         (build_charclass_op): Likewise, for NON_MATCH arg.
120458         * lib/regex_internal.c (re_string_allocate, re_string_construct):
120459         (re_string_construct_common): Likewise, for ICASE arg.
120460         * lib/regexec.c (re_search_2_stub, re_search_stub):
120461         Likewise, for RET_LEN arg.
120462         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
120463         (set_regs): Likewise, for FL_BACKTRACK arg.
120464         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
120465         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
120466         (calc_eclosure_iter, parse_bracket_exp):
120467         Use bool for internal variables that are booleans.
120468         * lib/regexec.c (re_search_internal, check_matching,
120469         proceed_next_node):
120470         (set_regs, build_sifted_states, sift_states_bkref):
120471         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
120472         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120473         (find_collation_sequence_value):
120474         Likewise.
120475         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
120476         (re_node_set_compare):
120477         Return bool, not int. All callers changed.
120478         * lib/regexec.c (check_halt_node_context, check_dst_limits):
120479         (build_trtable, check_node_accept): Likewise.
120480         * lib/regex_internal.h: Include stdbool.h.
120482         Fix bugs uncovered when converting to bool.
120483         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
120484         failure instead of charging ahead blindly.
120485         * lib/regex_internal.c (register_state): Likewise.
120486         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
120487         for freeing internal storage.
120488         (group_nodes_into_DFA_states): Use unsigned int, not int, for
120489         bitset pieces used as boolean, to avoid undefined behavior
120490         on hosts that do int overflow checking.
120492 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
120494         * config/srclist.txt: Add glibc bugs 1285-1287.
120496 2005-09-01  Jim Meyering  <jim@meyering.net>
120498         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
120499         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
120500         Require gl_STAT_MACROS, too.
120502 2005-09-01  Bruno Haible  <bruno@clisp.org>
120504         * gnulib-tool (import): In the first-use case, provide defaults.
120506 2005-09-01  Bruno Haible  <bruno@clisp.org>
120508         * gnulib-tool (func_import): Remove the .tmp files.
120510 2005-09-01  Bruno Haible  <bruno@clisp.org>
120512         * gnulib-tool (func_import): Fix handling of symbolic links.
120514 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120516         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
120517         old glibc regex code mishandles strings longer than 2**31 bytes.
120518         This patch fixes this when the regex code is used in gnulib
120519         (i.e., outside glibc).
120521         This patch should not affect the use of the regex code inside
120522         glibc.  No doubt this problem also needs to be handled for glibc
120523         as well, but the result will be an incompatible change to the
120524         glibc ABI, and the old ABI will have to be supported too.  That
120525         can be the subject for another patch.
120527         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
120528         governing whether the rest of this patch is active.  By default,
120529         the macro is disabled and the patch has no effect.
120530         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
120531         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
120532         (struct re_pattern_buffer, re_search, re_search_2, re_match):
120533         (re_match_2, re_set_registers): Use the new types.
120534         * lib/regex_internal.h (Idx, re_hashval_t): New types.
120535         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
120536         New macros.
120537         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
120538         (re_string_context_at, bin_tree_t, re_dfastate_t):
120539         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
120540         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
120541         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
120542         (re_string_char_size_at, re_string_wchar_at):
120543         (re_string_elem_size_at):
120544         Use the new types and macros to port to 64-bit hosts.
120545         Use unsigned types for internal values, so that the code
120546         mostly works even for arrays larger than SSIZE_MAX.
120547         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
120548         (search_duplicated_node, calc_eclosure_iter, fetch_number):
120549         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
120550         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
120551         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
120552         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
120553         (calc_inveclosure, parse_dup_op, build_range_exp):
120554         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
120555         (fetch_number, create_token_tree, mark_opt_subexp):
120556         Likewise.
120557         * lib/regex_internal.c (re_string_construct_common,
120558         create_ci_newstate):
120559         (create_cd_newstate, re_string_allocate, re_string_construct):
120560         (re_string_realloc_buffers, build_wcs_upper_buffer):
120561         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120562         (re_string_reconstruct, re_string_peek_byte_case):
120563         (re_string_fetch_byte_case, re_string_context_at):
120564         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120565         (re_node_set_init_copy, re_node_set_add_intersect):
120566         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120567         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120568         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120569         (re_acquire_state, re_acquire_state_context, register_state):
120570         Likewise.
120571         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
120572         search_cur_bkref_entry):
120573         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
120574         (re_search_internal, re_search_2_stub, re_search_stub)
120575         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
120576         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
120577         (update_cur_sifted_state, check_dst_limits):
120578         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120579         (check_subexp_limits, sift_states_bkref, merge_state_array):
120580         (check_subexp_matching_top, get_subexp, get_subexp_sub):
120581         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
120582         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120583         (expand_bkref_cache, check_node_accept_bytes):
120584         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
120585         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
120586         (acquire_init_state_context, check_halt_node_context):
120587         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
120588         (sift_states_backward, clean_state_log_if_needed):
120589         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
120590         (find_recover_state, transit_state_sb, transit_state_mb):
120591         (transit_state_bkref, build_trtable, match_ctx_clean):
120592         Likewise.
120593         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
120594         to work around an assumption that REG_MISSING is negative.
120596         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
120597         (seek_collating_symbol_entry) [defined _LIBC]:
120598         (lookup_collation_sequence_value) [defined _LIBC]:
120599         (build_range_exp, build_collating_symbol) [defined _LIBC]:
120600         Use prototypes rather than old-style function definitions.
120601         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
120602         (transit_state_sb) [0]:
120603         (find_collation_sequence_value) [defined _LIBC]: Likewise.
120605         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
120606         rm_eo.
120608         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
120609         (optimize_subexps, lower_subexp):
120610         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
120611         since the signed shift might overflow.  Use 1u<<31 instead.
120612         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120613         Likewise.
120614         * lib/regexec.c (check_dst_limits_calc_pos_1,
120615         check_subexp_matching_top): Likewise.
120617         * lib/regcomp.c (optimize_subexps, lower_subexp):
120618         Use CHAR_BIT rather than 8, for clarity.
120619         * lib/regexec.c (check_dst_limits_calc_pos_1):
120620         (check_subexp_matching_top): Likewise.
120621         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
120622         have to worry about portability issues when shifting it left.
120623         Remove no-longer-needed test for table_size > 0.
120624         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
120625         in a word, as the resulting behavior is undefined.
120626         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
120627         in one case, a <= should have been an <, and in another case the
120628         whole test was missing.
120629         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
120630         the standard name CHAR_BIT.
120631         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
120632         this is not true on one's complement and signed-magnitude hosts.
120634         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
120635         next_last_offset.
120636         (struct re_dfa_t): Remove unused member states_alloc.
120637         * lib/regcomp.c (init_dfa): Don't initialize unused members.
120639 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120641         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
120642         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
120643         and large-file glibc and in 32-bit large-file Solaris.
120645 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120647         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
120648         lengths fit in regoff_t; this isn't true if regoff_t is the same
120649         width as size_t.
120650         * lib/regex.c (re_search_internal): 5th arg is LAST_START
120651         (= START + RANGE) instead of RANGE.  This avoids overflow
120652         problems when regoff_t is the same width as size_t.
120653         All callers changed.
120654         (re_search_2_stub): Check for overflow when adding the
120655         sizes of the two strings.
120656         (re_search_stub): Check for overflow when adding START
120657         to RANGE; if it occurs, substitute the extreme value.
120659 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120661         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
120663 2005-08-31  Jim Meyering  <jim@meyering.net>
120665         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
120666         a pointer-to-const.
120667         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
120668         (register_state): Likewise.
120669         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
120670         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120671         (group_nodes_into_DFAstates): Likewise.
120673 2005-08-31  Jim Meyering  <jim@meyering.net>
120675         * check-module: Add a FIXME comment.
120677 2005-08-31  Eric Blake  <ebb9@byu.net>
120679         * modules/unistd-safer (Files): Add unistd--.h.
120680         * modules/stdio-safer (Files): Add stdio--.h.
120682 2005-08-31  Derek Price  <derek@ximbiot.com>
120684         * lib/getdelim.c (getdelim): Return EOF on EOF.
120685         Reported by Larry Jones <lawrence.jones@ugs.com>.
120687 2005-08-31  Bruno Haible  <bruno@clisp.org>
120689         Avoid unnecessary diffs in the generated lib/Makefile.am.
120690         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
120691         the generated files.
120692         (func_import): Don't set cmd.
120694 2005-08-31  Bruno Haible  <bruno@clisp.org>
120696         * lib/strstr.c: Include <stddef.h>, for NULL.
120697         * lib/strcasestr.c: Likewise.
120698         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
120700 2005-08-31  Bruno Haible  <bruno@clisp.org>
120702         * gnulib-tool: New option --macro-prefix.
120703         (func_import): Use macro_prefix.
120704         (import): Handle option --macro-prefix.
120706 2005-08-31  Bruno Haible  <bruno@clisp.org>
120708         * gnulib-tool (import): Rename most ac_* variables to cached_*.
120709         Also use new variables cached_lgpl, cached_libtool.
120711 2005-08-31  Bruno Haible  <bruno@clisp.org>
120713         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
120714         always instantiating them.
120716 2005-08-31  Bruno Haible  <bruno@clisp.org>
120718         * gnulib-tool (func_import): Read the previous cached settings
120719         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
120720         earlier added by gnulib but are now dropped. Warn when a gnulib file
120721         overwrites a non-gnulib file.
120723 2005-08-31  Bruno Haible  <bruno@clisp.org>
120725         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
120726         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
120727         projects that don't keep autogenerated files in CVS. Put into
120728         actioncmd only the specified modules, not the transitive closure.
120730 2005-08-31  Bruno Haible  <bruno@clisp.org>
120732         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
120733         Create directories that shall be filled.
120734         (import): Don't look for gl_* macros in configure.ac. Recurse across
120735         all directories containing a gnulib-cache.m4 files, if meaningful.
120737 2005-08-31  Bruno Haible  <bruno@clisp.org>
120739         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
120740         (import): Set seen_libtool when we see gl_LIBTOOL.
120742 2005-08-31  Bruno Haible  <bruno@clisp.org>
120744         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
120745         declaration macro definitions from generated gnulib.m4.
120747 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
120749         * lib/iconvme.h: Add prototype for iconv_alloc.
120751 2005-08-29  Simon Josefsson  <jas@extundo.com>
120753         * lib/iconvme.c: Fix errno.
120755 2005-08-29  Bruno Haible  <bruno@clisp.org>
120757         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
120758         that it works when the directory contains spaces.
120760 2005-08-29  Bruno Haible  <bruno@clisp.org>
120762         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
120764 2005-08-29  Bruno Haible  <bruno@clisp.org>
120766         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
120767         Emit more advice.
120769 2005-08-29  Bruno Haible  <bruno@clisp.org>
120770         and Stepan Kasal  <kasal@ucw.cz>
120772         * check-module: If more parameters are given, check each of them
120773         separately; add more exceptions, as noted by Jim Meyering.
120774         (check_module): New procedure.
120775         (%exempt_header): Now contains all exceptions.
120777 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
120779         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
120781 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
120783         * lib/iconvme.c: Split iconv_string into iconv_alloc.
120785 2005-08-28  Bruno Haible  <bruno@clisp.org>
120787         * m4/gnulib-tool.m4: New file.
120789 2005-08-27  Jim Meyering  <jim@meyering.net>
120791         * modules/unistd-safer (Files): Add pipe-safer.c.
120792         * modules/fcntl-safer (Files): Add creat-safer.c.
120794 2005-08-27  Jim Meyering  <jim@meyering.net>
120796         * m4/stdlib-safer.m4: New file.  From coreutils.
120797         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
120798         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
120799         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
120800         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
120801         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
120803 2005-08-27  Jim Meyering  <jim@meyering.net>
120805         * lib/fopen-safer.c: Merge minor changes from coreutils.
120806         * lib/dup-safer.c: Likewise.
120807         * lib/fd-safer.c: Likewise.
120809         Merge from coreutils.
120810         * lib/stdio--.h: New file.
120811         * lib/stdlib--.h: New file.
120812         * lib/mkstemp-safer.c: New file.
120814         GNU tar needs these.
120815         * lib/pipe-safer.c: New file.
120816         * lib/creat-safer.c: New file.
120817         * lib/fcntl--.h (creat): Define to creat_safer.
120818         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
120819         * lib/unistd--.h (pipe): Define to pipe_safer.
120820         * lib/unistd-safer.h: Declare pipe_safer.
120822 2005-08-26  Simon Josefsson  <jas@extundo.com>
120824         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
120825         Haible <bruno@clisp.org>.
120827 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
120829         * lib/regex_internal.h: Remove all references to
120830         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
120831         or better.
120832         (bitset_not, bitset_merge, bitset_not_merge):
120833         (bitset_mask, re_string_allocate, re_string_construct):
120834         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
120835         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
120836         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
120837         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
120838         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120839         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120840         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
120841         (re_acquire_state_context):
120842         Remove unnecessary forward decls.
120843         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
120844         Put __attribute at function definition,
120845         now that the function decl has been removed.
120846         * lib/regex_internal.c (re_string_peek_byte_case):
120847         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
120848         Likewise.
120850 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
120852         * m4/regex.m4: Add AC_PREREQ(2.50).
120853         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
120855 2005-08-25  Simon Josefsson  <jas@extundo.com>
120857         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
120858         __fsetlocking.
120860 2005-08-25  Simon Josefsson  <jas@extundo.com>
120862         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
120863         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
120864         GLIBC specific code.
120866 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120868         Make regex safe for g++.  This fixes one real bug (an "err"
120869         that should have been "*err").  g++ problem reported by
120870         Sam Steingold.
120871         * lib/regex_internal.h (re_calloc): New macro, consistent with
120872         re_malloc etc.  All callers of calloc changed to use re_calloc.
120873         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
120874         not int.  All callers changed.
120875         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
120876         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
120877         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
120878         (find_recover_state): Change "err" to "*err"; this fixes what
120879         appears to be a real bug.
120880         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
120881         versus int.
120883 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120885         * modules/regex (Depends-on): Add malloc, since the code
120886         assumes that !malloc(0) means failure.
120888 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120890         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
120892         alloca modernization/simplification for regex.
120893         * lib/regex.c: Remove portability cruft for alloca.  This no longer
120894         needs to be at the start of the file, and can be moved into
120895         regex_internal.h and simplified.
120896         * lib/regex_internal.h: Include <alloca.h>.
120897         (__libc_use_alloca) [!defined _LIBC]: New macro.
120898         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
120899         now works outside glibc.
120901 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120903         * config/srclist.txt: Add glibc bugs 1241, 1245.
120905 2005-08-25  Jim Meyering  <jim@meyering.net>
120907         * lib/open-safer.c: Include <config.h>.
120908         Otherwise, we'd lose LARGEFILE support in any file using
120909         e.g. "fcntl--.h"
120911 2005-08-25  Bruno Haible  <bruno@clisp.org>
120913         * m4/minmax.m4: Require autoconf 2.52.
120914         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
120915         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
120916         alternatives of translit over the alphabet.
120917         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
120919 2005-08-24  Simon Josefsson  <jas@extundo.com>
120921         * tests/test-getpass.c: New file.
120923 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120925         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
120926         for GNU regex features.
120928 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120930         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
120931         * lib/regex.h (regerror): Likewise.
120933         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
120934         requires this.  (The code never needed it.)
120936         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
120937         All uses of recently-renamed identifiers changed to use the new,
120938         POSIX-compliant names.  The code will build and run just fine
120939         without these changes, but it's better to eat our own dog food
120940         and use the standard-conforming names.
120942         * lib/regex.h: Fix a multitude of POSIX name space violations.
120943         These changes have an effect only for programs that define
120944         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
120945         do not change anything for programs compiled in the normal way.
120946         Also, there is no effect on the ABI.
120948         (_REGEX_SOURCE): New macro.
120949         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
120950         defined and _GNU_SOURCE is not; this fixes a name space violation.
120952         Rename the following macros to obey POSIX requirements.
120953         The old names are still visible as macros if _REGEX_SOURCE is defined.
120954         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
120955         RE_BACKSLASH_ESCAPE_IN_LISTS.
120956         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
120957         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
120958         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
120959         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
120960         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
120961         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
120962         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
120963         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
120964         (REG_INTERVALS): renamed from RE_INTERVALS.
120965         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
120966         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
120967         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
120968         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
120969         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
120970         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
120971         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
120972         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
120973         RE_UNMATCHED_RIGHT_PAREN_ORD.
120974         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
120975         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
120976         (REG_DEBUG): renamed from RE_DEBUG.
120977         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
120978         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
120979         unusual, since we can't clash with the POSIX REG_ICASE.
120980         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
120981         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
120982         (REG_NO_SUB): renamed from RE_NO_SUB.
120983         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
120984         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
120985         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
120986         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
120987         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
120988         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
120989         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
120990         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
120991         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
120992         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
120993         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
120994         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
120995         RE_SYNTAX_POSIX_MINIMAL_BASIC.
120996         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
120997         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
120998         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
120999         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
121000         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
121001         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
121002         (REG_FIXED): Renamed from REGS_FIXED.
121003         (REG_NREGS): Renamed from RE_NREGS.
121005         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
121006         of other REG_* macros, since POSIX says the user is allowed to
121007         #undef these macros selectively.
121009         (reg_errcode_t): Update comment stating what other tables need
121010         to be consistent.
121012         Rename the following enum values to obey POSIX requirements.
121013         The old names are still visible as macros.
121014         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
121015         is not defined, since GNU is supposed to be a superset of POSIX as
121016         much as possible, and since we want reg_errcode_t to be a signed
121017         type for implementation consistency.
121018         (_REG_NOERROR): Renamed from REG_NOERROR.
121019         (_REG_NOMATCH): Renamed from REG_NOMATCH.
121020         (_REG_BADPAT): Renamed from REG_BADPAT.
121021         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
121022         (_REG_ECTYPE): Renamed from REG_ECTYPE.
121023         (_REG_EESCAPE): Renamed from REG_EESCAPE.
121024         (_REG_ESUBREG): Renamed from REG_ESUBREG.
121025         (_REG_EBRACK): Renamed from REG_EBRACK.
121026         (_REG_EPAREN): Renamed from REG_EPAREN.
121027         (_REG_EBRACE): Renamed from REG_EBRACE.
121028         (_REG_BADBR): Renamed from REG_BADBR.
121029         (_REG_ERANGE): Renamed from REG_ERANGE.
121030         (_REG_ESPACE): Renamed from REG_ESPACE.
121031         (_REG_BADRPT): Renamed from REG_BADRPT.
121032         (_REG_EEND): Renamed from REG_EEND.
121033         (_REG_ESIZE): Renamed from REG_ESIZE.
121034         (_REG_ERPAREN): Renamed from REG_ERPAREN.
121035         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
121036         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
121037         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
121038         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
121040         (_REG_RE_NAME, _REG_RM_NAME): New macros.
121041         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
121042         changed.  But support the old name if the new one is not defined
121043         and if _REGEX_SOURCE.
121045         Change the following member names in struct re_pattern_buffer.
121046         The old names are still supported if !_REGEX_SOURCE.
121047         The new names are always supported, regardless of _REGEX_SOURCE.
121048         (re_buffer): Renamed from buffer.
121049         (re_allocated): Renamed from allocated.
121050         (re_used): Renamed from used.
121051         (re_syntax): Renamed from syntax.
121052         (re_fastmap): Renamed from fastmap.
121053         (re_translate): Renamed from translate.
121054         (re_can_be_null): Renamed from can_be_null.
121055         (re_regs_allocated): Renamed from regs_allocated.
121056         (re_fastmap_accurate): Renamed from fastmap_accurate.
121057         (re_no_sub): Renamed from no_sub.
121058         (re_not_bol): Renamed from not_bol.
121059         (re_not_eol): Renamed from not_eol.
121060         (re_newline_anchor): Renamed from newline_anchor.
121062         Change the following member names in struct re_registers.
121063         The old names are still supported if !_REGEX_SOURCE.
121064         The new names are always supported, regardless of _REGEX_SOURCE.
121065         (rm_num_regs): Renamed from num_regs.
121066         (rm_start): Renamed from start.
121067         (rm_end): Renamed from end.
121069         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
121070         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
121071         Prepend __ to parameter names.
121073         Undo yesterday's changes.
121075 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
121077         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
121078         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
121079         lib/regex.c.
121081 2005-08-24  Jim Meyering  <jim@meyering.net>
121083         Sync from coreutils.
121084         * m4/fcntl-safer.m4: New file.
121086         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
121087         and object files for this module.
121089 2005-08-24  Jim Meyering  <jim@meyering.net>
121091         Sync from coreutils.
121092         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
121094 2005-08-24  Jim Meyering  <jim@meyering.net>
121096         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
121097         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
121099 2005-08-24  Jim Meyering  <jim@meyering.net>
121101         * modules/fcntl-safer: New module.
121102         * modules/fts (Depends-on): Add fcntl-safer.
121103         * MODULES.html.sh (File descriptor based Input/Output):
121104         Add fcntl-safer.
121106 2005-08-24  Bruno Haible  <bruno@clisp.org>
121108         Support for unit test modules.
121109         * modules/README: Mention tests modules.
121110         * modules/TEMPLATE-TESTS: New file.
121111         * gnulib-tool: New options --extract-tests-module, --with-tests and
121112         --tests-base (unused for the moment).
121113         (testsbase, inctests): New variables.
121114         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
121115         (func_verify_module): Exclude TEMPLATE-TESTS.
121116         (func_verify_nontests_module, func_verify_tests_module): New functions.
121117         (func_get_dependencies): Add implicit dependency for tests modules.
121118         (func_get_tests_module): New function.
121119         (func_modules_transitive_closure): When --with-tests was specified,
121120         include the unit tests as well, unless explicitly avoided.
121121         (func_emit_lib_Makefile_am): Ignore the tests modules here.
121122         (func_emit_tests_Makefile_am): New function.
121123         (func_create_testdir): When --with-tests was specified, emit a
121124         tests/ directory.
121125         * MODULES.html.sh (Future developments): Update.
121127 2005-08-24  Bruno Haible  <bruno@clisp.org>
121129         * modules/tls-tests: New file.
121130         * tests/test-tls.c: New file, from GNU gettext.
121132 2005-08-24  Bruno Haible  <bruno@clisp.org>
121134         * modules/lock-tests: New file.
121135         * tests/test-lock.c: New file, from GNU gettext.
121137 2005-08-24  Bruno Haible  <bruno@clisp.org>
121139         * lib/lock.h: Add multiple inclusion guard.
121140         * lib/tls.h: Add multiple inclusion guard.
121142 2005-08-24  Bruno Haible  <bruno@clisp.org>
121144         * gnulib-tool: Add support for the --aux-dir option to
121145         --create-testdir, --create-megatestdir, --test, --megatest.
121146         (func_create_testdir, func_create_megatestdir): Optionally emit a
121147         AC_CONFIG_AUX_DIR directive.
121148         (create-testdir, create-megatestdir, test, megatest): Provide a
121149         default value for $auxdir.
121151 2005-08-24  Bruno Haible  <bruno@clisp.org>
121153         * gnulib-tool (import): Use compound statement instead of subshell
121154         where possible.
121156 2005-08-24  Bruno Haible  <bruno@clisp.org>
121158         * gnulib-tool (import): Change --aux-dir default to "build-aux".
121160 2005-08-24  Bruno Haible  <bruno@clisp.org>
121162         * gnulib-tool (func_version): Update.
121164 2005-08-24  Bruno Haible  <bruno@clisp.org>
121166         * gnulib-tool (func_import, func_create_testdir,
121167         func_create_megatestdir): Quote all autoconf macro arguments.
121169 2005-08-24  Bruno Haible  <bruno@clisp.org>
121171         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
121172         option --force, because --force causes the aclocal.m4 of each
121173         subdirectory to be newer than the corresponding config.h.in.
121175 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121177         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
121178         All contents moved to gl_REGEX.
121179         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
121180         assume that it does.
121182 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121184         * lib/regex.h (REG_NOSYS)
121185         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
121186         Define, since POSIX requires it as of 2001.
121187         (_REG_ENOSYS)
121188         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
121189         New private symbol, used to keep the enum signed in all cases.
121190         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
121191         Youngman in
121192         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
121194         * lib/regex_internal.c (re_string_skip_chars, register_state):
121195         (calc_state_hash):
121196         Remove forward decls; no longer needed now that we use prototypes.
121197         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
121198         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
121199         (clean_state_log_if_needed): Likewise.
121201 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
121203         * config/srclist.txt: Add glibc bugs 1231-1233.
121205 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121207         Fix problems reported by Sam Steingold in
121208         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
121209         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
121210         assumed that reg_errcode_t is a signed type, which is not
121211         necessarily true if _XOPEN_SOURCE is not defined.
121212         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
121213         since some compilers warn about it otherwise.
121215 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121217         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
121218         (init_word_char, create_initial_state, duplicate_node_closure):
121219         (fetch_token, peek_token_bracket, build_range_exp):
121220         (build_collating_symbol): Remove forward decls; no longer needed
121221         now that we use prototypes.
121223         * lib/regcomp.c:
121224         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
121225         (re_compile_fastmap_iter, regcomp, regerror, regfree):
121226         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
121227         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
121228         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
121229         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
121230         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
121231         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
121232         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
121233         (build_range_exp, build_collating_symbol, parse_bracket_exp):
121234         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
121235         (build_charclass, build_charclass_op, fetch_number, create_tree):
121236         (create_token_tree, mark_opt_subexp, duplicate_tree):
121237         Use prototypes rather than old-style definitions.
121239         * lib/regex_internal.c:
121240         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
121241         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
121242         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
121243         (re_string_reconstruct, re_string_peek_byte_case):
121244         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
121245         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
121246         (re_node_set_init_copy, re_node_set_add_intersect):
121247         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
121248         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
121249         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
121250         (re_acquire_state, re_acquire_state_context, register_state):
121251         (create_ci_newstate, create_cd_newstate, free_state):
121252         Likewise.
121253         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
121254         re_search_2):
121255         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
121256         (re_search_internal, prune_impossible_nodes):
121257         (acquire_init_state_context, check_matching, static):
121258         (check_halt_node_context, check_halt_state_context, proceed_next_node):
121259         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
121260         (update_regs, sift_states_backward, build_sifted_states):
121261         (clean_state_log_if_needed, merge_state_array):
121262         (update_cur_sifted_state, add_epsilon_src_nodes):
121263         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
121264         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
121265         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
121266         (find_recover_state, check_subexp_matching_top, transit_state_mb):
121267         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
121268         (check_arrival, check_arrival_add_next_nodes):
121269         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
121270         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
121271         (check_node_accept_bytes, check_node_accept, extend_buffers):
121272         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
121273         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
121274         (sift_ctx_init):
121275         Likewise.
121277         * lib/regex_internal.h:
121278         (re_string_allocate, re_string_construct, re_string_reconstruct):
121279         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
121280         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
121281         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
121282         (re_string_context_at, re_string_peek_byte_case):
121283         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
121284         is defined, since we now use prototypes always.
121286         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
121287         C89 or better.  All uses removed.
121289 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
121291         * config/srclist.txt: Add glibc bugs 1220-1227.
121293 2005-08-20  Jim Meyering  <jim@meyering.net>
121295         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
121296         of unused local, dfa.
121298 2005-08-20  Bruno Haible  <bruno@clisp.org>
121300         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
121302 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121304         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
121305         (re_node_set_insert_last, re_dfa_add_node):
121306         Rename local variables to avoid GCC shadowing warnings.
121308 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121310         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
121311         [defined lint]: Suppress bogus uninitialized-variable warnings.
121313         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
121314         and let the caller return REG_ESPACE if out of space.  This
121315         removes an uninitialied-variable warning with GCC 4.0.1, and also
121316         avoids taking the address of a local variable.  All callers
121317         changed.
121319 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
121321         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
121322         $LIBCSRC/posix/regexec.c.
121323         Add glibc bug 1217 for regcomp.c.
121325 2005-08-19  Jim Meyering  <jim@meyering.net>
121327         * lib/regexec.c (proceed_next_node): Redo local variables to
121328         avoid GCC shadowing warnings.
121330 2005-08-18  Bruno Haible  <bruno@clisp.org>
121332         * lib/strstr.c (strstr): Fix return value in multibyte case.
121333         * lib/strcasestr.c (strcasestr): Likewise.
121335 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
121337         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
121339 2005-08-17  Jim Meyering  <jim@meyering.net>
121341         Make the %s format (seconds since the epoch) work for a negative
121342         number and when used with a zero-padded field width, e.g. %015s.
121344         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
121345         label so that it precedes the code to set `digits'.  Otherwise,
121346         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
121347         print `00-22'.  Now, it prints `-0022', as it should.
121349 2005-08-17  Bruno Haible  <bruno@clisp.org>
121351         * modules/strstr (Files): Add m4/mbrtowc.m4.
121352         (Depends-on): Add mbuiter.
121354 2005-08-17  Bruno Haible  <bruno@clisp.org>
121356         * modules/strcasestr: New file.
121357         * MODULES.html.sh (String handling, based on ANSI C 89): Add
121358         strcasestr.
121360 2005-08-17  Bruno Haible  <bruno@clisp.org>
121362         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
121364 2005-08-17  Bruno Haible  <bruno@clisp.org>
121366         * modules/mbuiter: New file.
121367         * MODULES.html.sh (Extended multibyte and wide character utilities):
121368         Add mbuiter.
121370 2005-08-17  Bruno Haible  <bruno@clisp.org>
121372         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
121373         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
121375 2005-08-17  Bruno Haible  <bruno@clisp.org>
121377         * m4/strcasestr.m4: New file.
121379 2005-08-17  Bruno Haible  <bruno@clisp.org>
121381         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
121382         * lib/strstr.c: Completely rewritten, with multibyte locale support.
121384 2005-08-17  Bruno Haible  <bruno@clisp.org>
121386         * lib/strcasestr.h: New file.
121387         * lib/strcasestr.c: New file.
121389 2005-08-17  Bruno Haible  <bruno@clisp.org>
121391         * lib/strcasecmp.c: Use mbuiter.h.
121393 2005-08-17  Bruno Haible  <bruno@clisp.org>
121395         * lib/mbuiter.h: New file.
121397 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
121399         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
121400         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
121401         and gl_GETOPT are both invoked via different paths (as happens
121402         with GNU tar CVS because it uses both argp and getopt), the former
121403         wins.
121405 2005-08-16  Bruno Haible  <bruno@clisp.org>
121407         * modules/tls: New file.
121408         * MODULES.html.sh (Multithreading): Add tls.
121410 2005-08-16  Bruno Haible  <bruno@clisp.org>
121412         * modules/strnlen1: New file.
121413         * MODULES.html.sh (String handling): Add strnlen1.
121415 2005-08-16  Bruno Haible  <bruno@clisp.org>
121417         * modules/strcase (Files): Add m4/mbrtowc.m4.
121418         (Depends-on): Add strnlen1, mbchar.
121420 2005-08-16  Bruno Haible  <bruno@clisp.org>
121422         * modules/mbiter: New file.
121423         * MODULES.html.sh (Extended multibyte and wide character utilities):
121424         Add mbiter.
121426 2005-08-16  Bruno Haible  <bruno@clisp.org>
121428         * modules/mbfile: New file.
121429         * MODULES.html.sh (Extended multibyte and wide character utilities):
121430         Add mbfile.
121432 2005-08-16  Bruno Haible  <bruno@clisp.org>
121434         * modules/mbchar: New file.
121435         * MODULES.html.sh (Extended multibyte and wide character utilities):
121436         New section.
121438 2005-08-16  Bruno Haible  <bruno@clisp.org>
121440         * m4/tls.m4: New file, from GNU gettext.
121442 2005-08-16  Bruno Haible  <bruno@clisp.org>
121444         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
121445         always.
121446         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
121448 2005-08-16  Bruno Haible  <bruno@clisp.org>
121450         * m4/mbiter.m4: New file.
121452 2005-08-16  Bruno Haible  <bruno@clisp.org>
121454         * m4/mbfile.m4: New file.
121456 2005-08-16  Bruno Haible  <bruno@clisp.org>
121458         * m4/mbchar.m4: New file.
121460 2005-08-16  Bruno Haible  <bruno@clisp.org>
121462         * lib/tls.h: New file, from GNU gettext.
121463         * lib/tls.c: New file, from GNU gettext.
121465 2005-08-16  Bruno Haible  <bruno@clisp.org>
121467         * lib/strnlen1.h: New file.
121468         * lib/strnlen1.c: New file.
121470 2005-08-16  Bruno Haible  <bruno@clisp.org>
121472         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
121473         (mbi_init): Update.
121474         (mbi_avail, mbi_advance): Let the iteration end before the terminating
121475         NUL byte, not after it.
121477 2005-08-16  Bruno Haible  <bruno@clisp.org>
121479         * lib/strcase.h (strcasecmp): Add note in comments.
121480         * lib/strncasecmp.c: Use code from strcasecmp.c.
121481         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
121482         (strcasecmp): Work correctly in multibyte locales.
121484 2005-08-16  Bruno Haible  <bruno@clisp.org>
121486         * lib/mbiter.h: New file.
121488 2005-08-16  Bruno Haible  <bruno@clisp.org>
121490         * lib/mbfile.h: New file.
121492 2005-08-16  Bruno Haible  <bruno@clisp.org>
121494         * lib/mbchar.h: New file.
121495         * lib/mbchar.c: New file.
121497 2005-08-16  Bruno Haible  <bruno@clisp.org>
121499         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
121500         the valid ones. Makes the comparison operations transitive:
121501         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
121502         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
121504 2005-08-15  Simon Josefsson  <jas@extundo.com>
121506         * modules/ssize_t (License): Change to 'unlimited'.
121508         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
121510 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
121512         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
121513         Add comments for each pending glibc patch.
121515 2005-08-15  Bruno Haible  <bruno@clisp.org>
121517         * lib/regex.h (__restrict_arr): Don't define to __restrict if
121518         __cplusplus is defined.
121520 2005-08-14  Jim Meyering  <jim@meyering.net>
121522         Sync from coreutils.
121524         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
121525         Use the hash-table-based cycle-detection code not just when
121526         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
121527         Reported by James Youngman in
121528         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
121529         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
121530         FTS_TIGHT_CYCLE_CHECK.
121531         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
121532         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
121533         once again.
121534         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
121535         * lib/fts.c (fd_safer): Remove decl.
121536         Include fcntl--.h rather than unistd-safer.h
121537         (fts_safe_changedir): Don't call fd_safer; no longer needed
121538         now that we include fcntl--.h.
121540 2005-08-12  Simon Josefsson  <jas@extundo.com>
121542         * modules/getndelim2: Use ssize_t module.
121543         * modules/getnline: Likewise.
121544         * modules/safe-read: Likewise.
121545         * modules/xreadlink: Likewise.
121547         * modules/ssize_t: New file.
121549 2005-08-12  Simon Josefsson  <jas@extundo.com>
121551         * m4/readline.m4: Look for termcap, curses or ncurses if required.
121553 2005-08-12  Simon Josefsson  <jas@extundo.com>
121555         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
121556         ssize_t.
121558 2005-08-12  Simon Josefsson  <jas@extundo.com>
121560         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
121561         readline, getdelim and check_version.
121562         (Support for systems lacking ISO C 99: Sizes of integer types):
121563         Add size_max.
121565 2005-08-12  Bruno Haible  <bruno@clisp.org>
121567         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
121569 2005-08-11  Simon Josefsson  <jas@extundo.com>
121571         * modules/readline: New file.
121573         * modules/strnlen (Files): Add strnlen.h.
121575 2005-08-11  Simon Josefsson  <jas@extundo.com>
121577         * m4/readline.m4: New file.
121579 2005-08-11  Simon Josefsson  <jas@extundo.com>
121581         * lib/readline.h, readline.c: New file.
121583 2005-08-11  Simon Josefsson  <jas@extundo.com>
121585         * doc/gnulib.texi (Initial import, Finishing touches): Mention
121586         gl_AVOID.
121588 2005-08-11  Bruno Haible  <bruno@clisp.org>
121590         * lib/strnlen.h (strnlen): Change parameter name to match comment.
121592 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
121594         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
121596 2005-08-10  Simon Josefsson  <jas@extundo.com>
121598         * tests/test-iconvme.c: New file.
121600 2005-08-10  Simon Josefsson  <jas@extundo.com>
121602         * m4/strnlen.m4: New file.
121604         * m4/strndup.m4: Don't check for strnlen declaration, done in
121605         strnlen.m4.
121607 2005-08-10  Simon Josefsson  <jas@extundo.com>
121609         * lib/strndup.c: Use strnlen.h.
121611         * lib/strnlen.h: New file.
121613 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
121615         * README: Typos.
121617 2005-08-02  Simon Josefsson  <jas@extundo.com>
121619         * modules/readline: New file.
121621 2005-08-02  Simon Josefsson  <jas@extundo.com>
121623         * modules/getdelim: New file.
121625         * modules/getline: Rewrite, don't use getndelim2.
121627 2005-08-02  Simon Josefsson  <jas@extundo.com>
121629         * m4/getline.m4: Separate out getdelim stuff into separate module.
121631         * m4/getdelim.m4: New file.
121633 2005-08-02  Simon Josefsson  <jas@extundo.com>
121635         * lib/getline.h, getline.c: Rewrite.
121637         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
121639 2005-07-31  Bruno Haible  <bruno@clisp.org>
121641         * lib/lock.h (gl_lock_initializer): New macro.
121642         (gl_lock_define_initialized): Use it.
121643         (gl_rwlock_initializer): New macro.
121644         (gl_rwlock_define_initialized): Use it.
121645         (gl_recursive_lock_initializer): New macro.
121646         (gl_recursive_lock_define_initialized): Use it.
121648 2005-07-30  Karl Berry  <karl@gnu.org>
121650         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
121651         Report from Ben Pfaff, regarding getopt.
121653 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
121655         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
121656         normal way.
121657         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
121658         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
121659         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
121660         (gl_GETOPT): Use the new macros.  Most of the implementation
121661         is moved to the new macros.  This is for programs like Emacs
121662         that don't want all the functionality of gl_GETOPT.
121664 2005-07-26  Bruno Haible  <bruno@clisp.org>
121666         * m4/lock.m4: Update from GNU gettext.
121668 2005-07-26  Bruno Haible  <bruno@clisp.org>
121670         * lib/lock.h: Update from GNU gettext.
121671         * lib/lock.c: Update from GNU gettext.
121673 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
121675         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
121676         obsolescent AC_TRY_RUN.  Include the default includes files, for
121677         'exit'.
121679 2005-07-24  Bruno Haible  <bruno@clisp.org>
121681         * modules/visibility: New file.
121682         * MODULES.html.sh (Misc): Add visibility.
121684 2005-07-24  Bruno Haible  <bruno@clisp.org>
121686         * m4/visibility.m4: New file.
121688 2005-07-24  Bruno Haible  <bruno@clisp.org>
121690         * doc/visibility.texi: New file.
121692 2005-07-22  Bruno Haible  <bruno@clisp.org>
121694         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
121695         $(ALLOCA_H), redundant through BUILT_SOURCES.
121696         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
121697         redundant through BUILT_SOURCES.
121698         * modules/byteswap (Makefile.am): Remove explicit dependency on
121699         $(BYTESWAP_H), redundant through BUILT_SOURCES.
121700         * modules/fnmatch (Makefile.am): Remove explicit dependency on
121701         $(FNMATCH_H), redundant through BUILT_SOURCES.
121702         * modules/getopt (Makefile.am): Remove explicit dependency on
121703         $(GETOPT_H), redundant through BUILT_SOURCES.
121704         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
121705         redundant through BUILT_SOURCES.
121706         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
121707         redundant through BUILT_SOURCES.
121708         * modules/stdbool (Makefile.am): Remove explicit dependency on
121709         $(STDBOOL_H), redundant through BUILT_SOURCES.
121710         * modules/stdint (Makefile.am): Remove explicit dependency on
121711         $(STDINT_H), redundant through BUILT_SOURCES.
121712         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
121713         Remove explicit dependency on $(SYSEXITS_H).
121714         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
121716 2005-07-18  Simon Josefsson  <jas@extundo.com>
121718         * lib/check-version.c (check_version): Accept identical versions too.
121720 2005-07-18  Bruno Haible  <bruno@clisp.org>
121722         * modules/lock: New file.
121723         * MODULES.html.sh (Multithreading): New section.
121725 2005-07-18  Bruno Haible  <bruno@clisp.org>
121727         * m4/lock.m4: New file, from GNU gettext.
121729 2005-07-18  Bruno Haible  <bruno@clisp.org>
121731         * lib/lock.h: New file, from GNU gettext.
121732         * lib/lock.c: New file, from GNU gettext.
121734 2005-07-18  Bruno Haible  <bruno@clisp.org>
121736         * lib/lock.h (gl_once_t): New type.
121737         (gl_once_define, gl_once): New macros.
121738         * lib/lock.c (fresh_once): New variable.
121739         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
121740         functions.
121742 2005-07-16  Simon Josefsson  <jas@extundo.com>
121744         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
121745         workaround, suggested by Bruno.
121747 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121749         * modules/xalloc (Depends-on): Add xalloc-die.
121750         * modules/xvasprintf (Depends-on): Add xalloc-die.
121752 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121754         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
121755         with a minor change.
121757 2005-07-15  Bruno Haible  <bruno@clisp.org>
121759         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
121760         When using lib/poll.c, define poll as rpl_poll.
121762 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
121764         * modules/argp (Depends-on): Remove unlocked-io.
121766 2005-07-14  Derek Price  <derek@ximbiot.com>
121768         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
121769         for glob symlink bug.
121771 2005-07-14  Bruno Haible  <bruno@clisp.org>
121773         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
121774         Instead, test for *_unlocked function declarations directly.
121776 2005-07-11  Simon Josefsson  <jas@extundo.com>
121778         * modules/size_max: New file.
121780         * modules/xsize: Depend on size_max module for size_max.m4.
121782 2005-07-11  Simon Josefsson  <jas@extundo.com>
121784         * lib/size_max.h: New file.
121786 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
121788         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
121789         copyright symbol and the year.
121790         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
121791         (version_etc_va): Use parameterized copyright notice.
121792         Reword to conform to the current GNU coding standards.
121794 2005-07-11  Karl Berry  <karl@gnu.org>
121796         * doc/gnulib.texi (Quoting): new node.
121797         (Initial import): more info, from Patrice.
121799 2005-07-11  Bruno Haible  <bruno@clisp.org>
121801         * gnulib-tool (func_usage): Document option --avoid.
121802         (Command line options): Handle --avoid.
121803         (func_acceptable): New function.
121804         (func_modules_transitive_closure): Use it.
121806 2005-07-11  Bruno Haible  <bruno@clisp.org>
121808         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
121809         Reported by Jim Meyering.
121811 2005-07-10  Bruno Haible  <bruno@clisp.org>
121813         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
121814         Needed when size_t is smaller than 'unsigned int'.
121815         Reported by Paul Eggert.
121817 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121819         * modules/argp (Depends-on): Add unlocked-io
121821 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121823         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
121824         block of defines.
121826 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
121828         * config/srclist.txt: Comment out regcomp.c, since we have a porting
121829         fix now.
121831 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
121832         and Paul Eggert  <eggert@cs.ucla.edu>
121834         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
121835         in wint_t, not wchar_t.  Remove now-unnecessary cast.
121837 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121839         * modules/regex (Files): Add lib/regex_internal.c,
121840         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
121841         (Depends-on): Add extensions.
121842         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
121844 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121846         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
121847         pathconf.
121848         * m4/same.m4 (gl_SAME): Likewise.
121849         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
121851         * m4/regex.m4: Adjust to new libc regex implementation.
121852         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
121853         all the .c and .h parts of (the new) regex.
121854         Quote the m4 stuff better.
121855         Check for RE_ICASE bug of old gnulib.
121856         Check for REG_STARTEND of recent libc.
121857         Rename local variables from jm_* to gl_*.
121858         Quote operand of "test -f".
121859         Say "recent enough" version of libc, not "version 2".
121860         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
121861         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
121862         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
121863         Remove check for btowc, isascii.
121864         Require AM_LANGINFO_CODESET.
121866 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121868         * lib/regex.c, regex.h: Sync from libc.
121869         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
121870         * lib/regexec.c:
121871         New files, synced from libc, except that regex_internal.h
121872         currently has a small porting fix.
121874 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121876         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
121877         regex_internal.c, regexec.c.
121878         Add regex_internal.h too, but as a comment, since the libc version
121879         is currently broken in gnulib mode.
121881 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
121883         Support programs like Emacs that use gnulib but not gettext.
121884         * MODULES.html.sh (Internationalization functions): Add gettext-h.
121885         * modules/gettext-h: New file.
121886         * modules/gettext (Files): Remove lib/gettext.h.
121887         (Depends-on): Add gettext-h.
121888         (Makefile.am): Remove lib_SOURCES.
121889         * modules/argmatch, modules/c-stack, modules/closeout:
121890         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
121891         * modules/execute, modules/file-type, modules/getaddrinfo:
121892         * modules/getopt, modules/human, modules/javacomp:
121893         * modules/javaexec, modules/mkdir-p, modules/obstack:
121894         * modules/openat, modules/pagealign_alloc, modules/pipe:
121895         * modules/quotearg, modules/regex, modules/rpmatch:
121896         * modules/unicodeio, modules/userspec, modules/version-etc:
121897         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
121898         * modules/xsetenv:
121899         Depend on gettext-h, not gettext.
121901 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
121903         * gnulib-tool (func_import): Add support for 'public domain' license.
121904         * modules/alloca, modules/atexit, modules/memmove:
121905         Now public domain, not GPL.
121906         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
121907         * modules/realloc, modules/strerror, modules/strtod:
121908         Now LGPL, not GPL.
121910 2005-07-05  Bruno Haible  <bruno@clisp.org>
121912         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
121913         autoconf CVS. Needed for mingw.
121915 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121917         Remove the dependency of the strftime module on the tzset module.
121918         * modules/strftime (Depends-on): Remove dependency on tzset.
121920 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121922         Remove the dependency of the strftime module on the tzset module.
121923         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
121924         gl_FUNC_TZSET_CLOBBER.
121926 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121928         Remove the dependency of the strftime module on the tzset module.
121929         * lib/strftime.c (my_strftime)
121930         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
121931         Copy the input structure, to work around some of the bug with
121932         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
121933         Solaris releases, you should also use the tzset module, but we won't
121934         require it as a dependency any more since we don't want LGPLed code
121935         to depend on GPLed code.
121937 2005-07-02  Jim Meyering  <jim@meyering.net>
121939         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
121940         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
121941         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
121942         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
121944 2005-07-02  Jim Meyering  <jim@meyering.net>
121946         * lib/backupfile.c (backup_args): Change a `0' to NULL.
121948 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
121950         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
121951         declares only 'struct timespec;' (!).
121953 2005-07-01  Jim Meyering  <jim@meyering.net>
121955         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
121956         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
121957         * lib/save-cwd.c, tempname.c:
121958         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
121959         and don't include <sys/file.h>).
121961 2005-06-29  Jim Meyering  <jim@meyering.net>
121963         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
121964         type name.  Use the variable name instead.
121965         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
121966         Likewise.
121968 2005-06-28  Simon Josefsson  <jas@extundo.com>
121970         * modules/check-version (Files): Add check-version.m4.
121972 2005-06-28  Simon Josefsson  <jas@extundo.com>
121974         * m4/check-version.m4: New file, suggested by Jim Meyering
121975         <jim@meyering.net>.
121977 2005-06-28  Simon Josefsson  <jas@extundo.com>
121979         * lib/check-version.h, lib/check-version.c: New files.
121981 2005-06-28  Simon Josefsson  <jas@extundo.com>
121983         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
121984         collision with global variable.  Better indentation.  Don't
121985         increment buffer pointer beyond buffer end.  Based on comments
121986         from Paul Eggert <eggert@cs.ucla.edu>.
121988         * lib/base64.h: Indent.
121990 2005-06-28  Simon Josefsson  <jas@extundo.com>
121992         * doc/gnulib.texi (Library version handling): New section.
121994 2005-06-28  Jim Meyering  <jim@meyering.net>
121996         * check-module (find_included_lib_files): Hard-code another
121997         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
121998         but modules/fts-lgpl (correctly) does not list those files.
122000         * modules/canonicalize (Files): Add lib/pathmax.h.
122002 2005-06-25  Simon Josefsson  <jas@extundo.com>
122004         * modules/check-version: New file.
122006 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
122008         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
122009         initializer of struct addrinfo, as an indication that we don't
122010         care how many members the structure has.
122012 2005-06-24  Derek Price  <derek@ximbiot.com>
122013         and Bruno Haible  <bruno@clisp.org>
122015         Remove stat module & update lstat.
122016         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
122017         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
122018         * m4/stat.m4: Remove this file.
122020 2005-06-24  Derek Price  <derek@ximbiot.com>
122021         and Bruno Haible  <bruno@clisp.org>
122023         Remove stat module & update lstat.
122024         * lib/stat.c: Remove this file...
122025         (slash_aware_lstat): ...moving this content and its support...
122026         * lib/lstat.c (rpl_lstat): ...into here.
122027         * lib/lstat.h: New file.
122029 2005-06-24  Derek Price  <derek@ximbiot.com>
122030         and Bruno Haible  <bruno@clisp.org>
122032         Remove stat module & update lstat.
122033         * config/srclist.txt (libc sources): Remove stat.
122035 2005-06-24  Derek Price  <derek@ximbiot.com>
122036         and Bruno Haible  <bruno@clisp.org>
122038         Remove stat module & update lstat.
122039         * MODULES.html.sh (stat): Remove.
122040         * MODULES.html: Regenerated.
122041         * modules/lstat (Description): Correct function name.
122042         (Files): Add "lstat.h".
122043         (Depends-on): Remove stat, add xalloc, stat-macros.
122044         * modules/stat: Remove this file.
122045         (Include): Add "lstat.h", remove <sys/stat.h>.
122047 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
122049         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
122050         (ranged_convert): Don't save conversion in a temporary struct.
122051         This causes a warning with GCC 4.0.0, and anyway in the typical
122052         case it's not worth the extra 100 bytes or so of code.
122053         (ranged_convert, __mktime_internal): When calling a function via a
122054         pointer P, use P () rather than (*P) (), as we now assume C89 or
122055         better.
122057 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
122059         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
122060         "who -r" failed to give output.  Problem reported by Tim Waugh.
122062         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
122063         (xcalloc): Use it to avoid needless tests.
122064         Problem reported by Jim Meyering.
122066 2005-06-20  Derek Price  <derek@ximbiot.com>
122068         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
122069         unnecessary for Autoconfs > 2.59c.
122071 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122073         * lib/argp.h (__option_is_short): Check upper limit of
122074         __key. Isprint() requires its argument to have the value
122075         of an unsigned char or EOF.
122077 2005-06-16  Jim Meyering  <jim@meyering.net>
122079         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
122080         when either N or S is zero.
122082 2005-06-16  Derek Price  <derek@ximbiot.com>
122084         * m4/bison.m4: Declare YACC & YFLAGS precious.
122086 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
122088         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
122089         multibyte string or pattern, fall back on unibyte matching.
122090         Problem reported by James Youngman.
122092 2005-06-08  Bruno Haible  <bruno@clisp.org>
122094         * modules/csharpcomp: New file.
122095         * MODULES.html.sh (C#): Add csharpcomp.
122097 2005-06-08  Bruno Haible  <bruno@clisp.org>
122099         * m4/csharpcomp.m4: New file, from GNU gettext.
122101 2005-06-08  Bruno Haible  <bruno@clisp.org>
122103         * lib/csharpcomp.h: New file, from GNU gettext.
122104         * lib/csharpcomp.c: New file, from GNU gettext.
122105         * lib/csharpcomp.sh.in: New file, from GNU gettext.
122107 2005-06-08  Bruno Haible  <bruno@clisp.org>
122109         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
122110         warning on mingw.
122112 2005-06-07  Derek Price  <derek@ximbiot.com>
122114         Sync from CVS.
122115         * lib/glob_.h: Indent nested #ifdef.
122117 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122119         Sync from coreutils.
122120         Use "file name" when talking about file names, instead of "filename"
122121         or "path", as per the GNU coding standards.
122122         * lib/mkdir-p.c: Renamed from makepath.c.
122123         (make_dir_parents): Renamed from make_path.  All callers changed.
122124         * lib/mkdir-p.h: Likewise.  All includers changed.
122125         * lib/filenamecat.c: Renamed from path-concat.c.
122126         (file_name_concat): Renamed from path_concat.  All callers changed.
122127         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
122128         * lib/filenamecat.h: Likewise.  All includers changed.
122129         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
122130         in comments or local variable names.
122131         * lib/basename.c: Likewise.
122132         * lib/canonicalize.c, canonicalize.h: Likewise.
122133         * lib/dirname.c, dirname.h: Likewise.
122134         * lib/euidaccess.c: Likewise.
122135         * lib/exclude.c: Likewise
122136         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
122137         * lib/fsusage.c, fsuage.h: Likewise.
122138         * lib/fts.c, fts_.h: Likewise.
122139         * lib/getcwd.c: Likewise.
122140         * lib/getloadavg.c: Likewise.
122141         * lib/mkstemp.c: Likewise.
122142         * lib/mountlist.c, mountlist.h: Likewise.
122143         * lib/openat.c, openat.h: Likewise.
122144         * lib/readlink-stub.c: Likewise.
122145         * lib/readutmp.c, readutmp.h: Likewise.
122146         * lib/rename.c: Likewise.
122147         * lib/rmdir.c: Likewise.
122148         * lib/same.c: Likewise.
122149         * lib/savedir.c: Likewise.
122150         * lib/stripslash.c: Likewise.
122151         * lib/tempname.c: Likewise.
122152         * lib/xreadlink.c: Likewise.
122153         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
122154         All uses changed.
122155         * lib/exclude.h: Likewise.
122157         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
122158         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122159         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
122160         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122161         * lib/pathmax.h: Include <limits.h> unconditionally, since other
122162         files have been getting away with it for years (MORE/BSD 4.3
122163         is extinct now).
122164         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
122165         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
122167         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
122168         Define to 256, not 255, as per modern POSIX.
122170 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122172         Sync from coreutils.
122173         Use "file name" when talking about file names, instead of "filename"
122174         or "path", as per the GNU coding standards.
122175         * MODULES.html.sh: mkdir-p renamed from makepath.
122176         filenamecat renamed from path-concat.
122177         * modules/filenamecat: Renamed from modules/path-concat.
122178         (Files): filenamecat.h and filenamecat.c renamed from
122179         path-concat.h and path-concat.c.
122180         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
122181         (Include): filenamecat.h, not path-concat.h.
122182         * modules/mkdir-p: Renamed from modules/makepath.
122183         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
122184         makepath.c.
122185         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
122186         (Include): mkdir-p.h, not makepath.h.
122188 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
122190         Sync from coreutils.
122191         * m4/mkdir-p.m4: Renamed from makepath.m4.
122192         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
122193         Rename files from makepath.c to mkdir-p.c, and from
122194         makepath.h to mkdir-p.h.
122195         * m4/filenamecat.m4: Renamed from path-concat.m4.
122196         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
122197         Rename files from path-concat.c to filenamecat.c,
122198         and from path-concat.h to filenamecat.h.
122199         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
122200         "file name" in local variables or comments.
122201         * m4/rename.m4: Likewise.
122203 2005-06-01  Bruno Haible  <bruno@clisp.org>
122205         * modules/csharpexec: New file.
122206         * MODULES.html.sh (C#): New section.
122208 2005-06-01  Bruno Haible  <bruno@clisp.org>
122210         * m4/csharp.m4: New file, from GNU gettext.
122211         * m4/csharpexec.m4: New file, from GNU gettext.
122213 2005-06-01  Bruno Haible  <bruno@clisp.org>
122215         * lib/csharpexec.h: New file, from GNU gettext.
122216         * lib/csharpexec.c: New file, from GNU gettext.
122217         * lib/csharpexec.sh.in: New file, from GNU gettext.
122219 2005-05-31  Derek Price  <derek@ximbiot.com>
122220             Paul Eggert  <eggert@cs.ucla.edu>
122222         Sync from cvs.
122223         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122225 2005-05-31  Derek Price  <derek@ximbiot.com>
122226             Paul Eggert  <eggert@cs.ucla.edu>
122228         Sync from cvs.
122229         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
122231 2005-05-29  Derek Price  <derek@ximbiot.com>
122233         * config/srclist.txt (glob_.h, glob.c): Add these files.
122235 2005-05-29  Derek Price  <derek@ximbiot.com>
122237         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
122238         * modules/glob: New file.
122239         * modules/getlogin_r: Add link to POSIX spec in description.
122241 2005-05-29  Derek Price  <derek@ximbiot.com>
122242             Paul Eggert  <eggert@cs.ucla.edu>
122244         * m4/glob.m4: New file.
122246 2005-05-29  Derek Price  <derek@ximbiot.com>
122247             Paul Eggert  <eggert@cs.ucla.edu>
122249         * lib/glob_.h, lib/glob.c: New files.
122251 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122253         * modules/fts (Files): Remove m4/inttypes-pri.m4.
122254         * modules/fts-lgpl (Depends-on): Remove gettext.
122256 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122258         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
122259         and don't require gt_INTTYPES_PRI.
122261 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
122263         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
122265         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
122266         the configuration hassle isn't worth it.
122267         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
122268         (LONGEST_MODIFIER, PRIuMAX): Remove.
122270 2005-05-27  Bruno Haible  <bruno@clisp.org>
122272         * lib/getlogin_r.h: Remove second include of <stddef.h>.
122274 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
122276         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
122277         _POSIX_PTHREAD_SEMANTICS for Solaris.
122279 2005-05-25  Derek Price  <derek@ximbiot.com>
122281         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
122283 2005-05-25  Derek Price  <derek@ximbiot.com>
122284             Paul Eggert  <eggert@cs.ucla.edu>
122286         * modules/getlogin_r, m4/getlogin_r.m4: New files.
122287         * lib/getlogin_r.c, getlogin_r.h: New files.
122289 2005-05-25  Bruno Haible  <bruno@clisp.org>
122290             Derek Price  <derek@ximbiot.com>
122292         * lib/getlogin_r.h: Simplify API documentation.
122294 2005-05-23  Derek Price  <derek@ximbiot.com>
122296         * modules/minmax (Files): Add m4/minmax.m4.
122297         (configure.ac): Add gl_MINMAX.
122299 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
122301         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
122302         so that unistd-safer.h (GPL'ed code) need not be included.
122304 2005-05-22  Bruno Haible  <bruno@clisp.org>
122306         * m4/minmax.m4: New file.
122307         Based on a patch by Derek Price <derek@ximbiot.com>.
122309 2005-05-22  Bruno Haible  <bruno@clisp.org>
122311         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
122312         (INT64_MIN): Fix definition.
122313         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
122315         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
122316         NEED_SIGNED_INT_TYPES.
122318         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
122319         HAVE_SYSTEM_INTTYPES.
122321 2005-05-22  Bruno Haible  <bruno@clisp.org>
122323         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
122324         Also include <sys/param.h> if it defines MIN, MAX.
122325         Based on a patch by Derek Price <derek@ximbiot.com>.
122327 2005-05-21  Jim Meyering  <jim@meyering.net>
122329         * modules/fts (Files): Add m4/inttypes-pri.m4.
122330         (Depends-on): Add lstat and remove gettext.  Alphabetize.
122332 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122334         New fts module.
122335         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
122336         (setup_dir, free_dir): New functions.
122337         (enter_dir, leave_dir): Define trivial
122338         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
122339         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
122340         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
122341         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
122342         Move to fts-cycle.c.
122343         (fts_open): Use setup_dir.
122344         (fts_close): Use free_dir.
122345         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
122346         This adds a label and some gotos, but the alternatives were messier.
122347         Check for memory allocation failure when entering a dir.
122348         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
122349         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
122350         (FTS): New member fts_cycle, that is a union that contains the
122351         old active_dir_ht and cycle_state.  All uses changed to mention
122352         fts_cycle.ht and fts_cycle.state.
122353         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
122354         fts.c, with the following changes:
122355         (setup_dir, free_dir): New functions.
122356         (enter_dir): Now returns bool.  Return true if successful, false
122357         if memory exhausted.  All callers changed.
122358         Do not bother partly cleaning up on
122359         memory allocation failure; that is free_dir's job.
122360         However, free ad if hash_insert fails, to avoid memory leak.
122361         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
122362         fts->fts_options to see which union member to use.
122364 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122366         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
122367         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
122369 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
122371         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
122373 2005-05-20  Jim Meyering  <jim@meyering.net>
122375         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
122376         Now a macro, to pacify GCC.
122378 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122380         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
122381         of -1.
122383 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
122385         * lib/chown.c (rpl_chown): Return -1 on failure.
122387 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122389         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
122390         Don't check for stddef.h.
122391         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
122392         don't use its results.
122393         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
122394         since we include them unconditionally.  Don't require
122395         AM_STDBOOL_H, since stdbool is a prerequisite.
122396         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
122397         since we assume C89 or better.
122398         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
122399         as we don't use their results.
122400         Don't check for fchdir, memmove, memset, strrchr, as we use
122401         them unconditionally.
122402         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
122403         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
122405 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
122407         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
122408         Include <stddef.h> unconditionally, since we assume C89 now.
122409         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
122410         * lib/fts.c: Include fts_.h first, to check interface.
122411         Do not include intprops.h; no longer needed.
122412         Include cycle-check.h and hash.h, since fts_.h no longer does.
122413         Remove unnecessary casts of closedir to void.
122414         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
122415         decide whether to decrement nlinks.
122416         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
122417         (FTS): Use struct hash_table * instead of Hash_table, so that
122418         we no longer need to include hash.h here.
122420 2005-05-18  Jim Meyering  <jim@meyering.net>
122422         * modules/dirfd (License): Change to LGPL.  Most of the code
122423         is already in the public domain.
122425 2005-05-18  Jim Meyering  <jim@meyering.net>
122427         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
122428         Reported by Yoann Vandoorselaere.
122430 2005-05-17  Jim Meyering  <jim@meyering.net>
122432         * m4/fts.m4: New file, from coreutils.
122434 2005-05-17  Jim Meyering  <jim@meyering.net>
122436         * lib/fts.c, lib/fts_.h: New files, from coreutils.
122438 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122440         Sync from coreutils.
122441         * m4/unlinkdir.m4: New file.
122443 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122445         Sync from coreutils.
122446         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
122447         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
122448         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
122449         White space changes only.
122450         * lib/makepath.c (make_path): Port to hosts where leading "//" is
122451         special.
122452         * lib/yesno.c: Include getline.h, not ctype.h.
122453         (yesno): Don't remove leading white space; POSIX doesn't allow it.
122454         Use getline to remove arbitrary restriction on response length.
122456 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
122458         * config/srclist-update: Spell out "Street" in FSF postal
122459         mail address; this is the style the FSF seems to prefer.
122461         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
122462         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
122463         this updates FSF postal mail address.
122465         Sync from coreutils.
122466         * modules/unlinkdir: New file.
122467         * modules/yesno (Depends-on): Add getline.
122468         * MODULES.html.sh (File system functions): Add unlinkdir.
122470 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122472         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
122473         lib/strsep.h:
122474         Change the initial comment to refer to GPL, not LGPL.
122475         gnulib-tool will change it to LGPL as needed.
122477         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
122478         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
122479         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
122480         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
122481         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
122482         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
122483         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
122484         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
122485         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
122486         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
122487         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
122488         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
122489         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
122490         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
122491         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
122492         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
122493         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
122494         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
122495         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
122496         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
122497         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
122498         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
122499         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
122500         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
122501         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
122502         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
122503         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
122504         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
122505         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
122506         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
122507         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
122508         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
122509         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
122510         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
122511         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
122512         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
122513         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
122514         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
122515         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
122516         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
122517         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
122518         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
122519         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
122520         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
122521         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
122522         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
122523         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
122524         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
122525         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
122526         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
122527         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
122528         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
122529         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
122530         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
122531         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
122532         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
122533         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
122534         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
122535         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
122536         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
122537         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
122538         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
122539         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
122540         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
122541         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
122542         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
122543         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
122544         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
122545         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
122546         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
122547         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
122548         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
122549         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
122550         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
122551         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
122552         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
122553         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
122554         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
122555         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
122556         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
122557         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
122558         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
122559         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
122560         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
122561         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
122562         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
122563         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
122564         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
122565         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
122566         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
122567         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
122568         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
122569         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
122570         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
122571         lib/yesno.c, lib/yesno.h:
122572         Update FSF postal mail address.
122574 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122576         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
122577         tests/test-memmem.c, tests/test-stpncpy.c:
122578         Update FSF postal mail address.
122580 2005-05-13  Bruno Haible  <bruno@clisp.org>
122582         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
122583         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
122584         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
122585         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
122586         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
122587         Add support for 64-bit integers in the MSVC compiler.
122589 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122591         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
122593 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
122595         * gnulib-tool (func_import): Sort and uniquify recommended includes.
122597 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
122599         * doc/getdate.texi (General date syntax): Don't say that date
122600         date --iso-8601=ns generates acceptable dates; it doesn't yet.
122601         Problem reported by Nic Ferrier.
122603 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122605         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
122606         specified in ai_socktype. Fix invalid ai_protocol
122607         check. ai_protocol is usually set to 0 or depending on
122608         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
122609         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
122610         ai_socktype / ai_protocol in the returned addrinfo structure.
122612 2005-05-10  Simon Josefsson  <jas@extundo.com>
122614         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
122615         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
122617 2005-05-10  Karl Berry  <karl@gnu.org>
122619         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
122620         (from http://www.gnu.org/licenses).
122621         * doc/COPYING.LIB: also rename to COPYING.LESSER.
122622         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
122623         fdl.texi suffices.
122625 2005-05-10  Karl Berry  <karl@gnu.org>
122627         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
122628         (COPYING.DOC): remove.
122630         * config/srclist-update: new FSF address.
122632 2005-05-10  Derek Price  <derek@ximbiot.com>
122634         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
122635         possible.
122637 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122638             Bruno Haible  <bruno@clisp.org>
122640         * modules/inet_ntop: New file.
122641         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122642         inet_ntop.
122644 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122645             Bruno Haible  <bruno@clisp.org>
122647         * m4/inet_ntop.m4: New file.
122649 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122650             Bruno Haible  <bruno@clisp.org>
122652         * lib/inet_ntop.h: New file.
122653         * lib/inet_ntop.c: New file, from glibc with modifications.
122655 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
122657         * modules/time_r (License): Change to LGPL.
122658         * modules/extensions (License): Change to LGPL.  Actually,
122659         the license is more permissive than that, but currently gnulib-tool
122660         doesn't know how to handle more-permissive licenses.
122662         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
122663         Problem reported by Dave Love.
122665 2005-05-08  Jim Meyering  <jim@meyering.net>
122667         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
122668         blank.
122670 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
122672         * modules/argmatch (Depends-on): Add stdbool.
122673         * modules/backupfile (Depends-on): Likewise.
122674         * modules/chdir-long (Depends-on): Likewise.
122675         * modules/closeout (Depends-on): Likewise.
122676         * modules/cycle-check (Depends-on): Likewise.
122677         * modules/dirname (Depends-on): Likewise.
122678         * modules/fnmatch (Depends-on): Likewise.
122679         * modules/fsusage (Depends-on): Likewise.
122680         * modules/fwriteerror (Depends-on): Likewise.
122681         * modules/getcwd (Depends-on): Likewise.
122682         * modules/getloadavg (Depends-on): Likewise.
122683         * modules/hard-locale (Depends-on): Likewise.
122684         * modules/makepath (Depends-on): Likewise.
122685         * modules/mountlist (Depends-on): Likewise.
122686         * modules/nanosleep (Depends-on): Likewise.
122687         * modules/posixtm (Depends-on): Likewise.
122688         * modules/quotearg (Depends-on): Likewise.
122689         * modules/readtokens (Depends-on): Likewise.
122690         * modules/readtokens0 (Depends-on): Likewise.
122691         * modules/readutmp (Depends-on): Likewise.
122692         * modules/save-cwd (Depends-on): Likewise.
122693         * modules/strftime (Depends-on): Likewise.
122694         * modules/userspec (Depends-on): Likewise.
122695         * modules/utimecmp (Depends-on): Likewise.
122696         * modules/xgetcwd (Depends-on): Likewise.
122697         * modules/xnanosleep (Depends-on): Likewise.
122698         * modules/xstrtod (Depends-on): Likewise.
122699         * modules/yesno (Depends-on): Likewise.
122701 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
122703         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
122704         needless checks.
122706 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122708         Merge from coreutils.  Among other things,
122709         add bulletproofing for cases where stdin, stdout, or stderr are closed.
122710         * lib/fd-safer.c: New file.
122711         * lib/fcntl-safer.h, open-safer.c: Remove.
122712         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
122713         * lib/dup-safer.c: Include unistd-safer.h first.
122714         Don't include errno.h.
122715         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
122716         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
122717         * lib/file-type.c: Rely on file-type.h change.
122718         * lib/getloadavg.c: Include unistd-safer.h.
122719         (getloadavg): Use safer open.
122720         * lib/getusershell.c: Include "stdio-safer.h".
122721         (getusershell): Use safer fopen.
122722         * lib/long-options.c (long_options): Use NULL rather than 0.
122723         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
122724         'free'.
122725         * lib/modechange.c: Likewise.
122726         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
122727         (MODE_DONE): New constant.
122728         (struct mode_change): Remove 'next' member.
122729         (make_node_op_equals): New function; like the old one of the
122730         same name, except it allocates an array.
122731         (mode_compile, mode_create_from_ref): Use it.
122732         (mode_compile): Allocate result as an array, not a linked list.
122733         Parse octal string ourself, so that we catch mistakes like "+0".
122734         (mode_adjust): Arg is an array, not a linked list.
122735         * lib/modechange.c: Include stat-macros.h, xalloc.h.
122736         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
122737         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
122738         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
122739         Remove.  This is now stat-macros.h's job.
122740         (talloc): Remove.  All callers replaced by xalloc, so that
122741         our invokers don't have to worry about reporting memory failures.
122742         (make_node_op_equals): Remove.
122743         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122744         New constants.
122745         (struct mode_change): Moved here from modechange.h.
122746         (mode_append_entry): Remove.
122747         (mode_compile): Remove MASKED_OPS arg, since it encouraged
122748         apps to have incorrect behavior.  Use simpler algorithm for head
122749         and tail.  Don't futz with umask; that's now the job of mode_adjust.
122750         Detect more invalid usages rather than having somewhat-random behavior.
122751         Don't insert an "a=" action, as that leads to incorrect behavior.
122752         (mode_compile, mode_create_from_ref): Return NULL on error instead
122753         of an enum, since now there's only one way to have an error.  All
122754         callers changed.
122755         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
122756         at the correct time.  Simplify calculation of "+u" and its ilk.
122757         Don't mishandle "+X".
122758         (mode_free): Remove "register" and localize decls.
122759         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122760         (struct mode_change): Move to modechange.c; callers don't
122761         need to see this stuff.
122762         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
122763         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
122764         (mode_change, mode_adjust): Reflect the new signatures noted above.
122765         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
122766         that might redefine system include files.
122767         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
122768         (my_usleep): Use NULL rather than (void *) 0.
122769         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
122770         Use siginterrupt to specify that system calls should be interrupted.
122771         (rpl_nanosleep): Move initialization of suspended closer to call of
122772         my_usleep.
122773         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
122774         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
122775         (desirable_utmp_entry): New function.
122776         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
122777         using x2nrealloc, to simplify logic.
122778         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
122779         size calculation.  Do not assume utmp file is a regular file.
122780         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
122781         (READ_UTMP_CHECK_PIDS): New constant.
122782         * lib/save-cwd.c: Include unistd-safer.h.
122783         (save_cwd): Use fd_safer.
122784         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
122785         [!_LIBC] Include "stat-macros.h" instead.
122786         * lib/unistd-safer.h (fd_safer): New decl.
122788 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122790         * modules/getloadavg (Depends-on): Add unistd-safer.
122791         * modules/getusershell (Depends-on): Add stdio-safer.
122792         * modules/lstat (Depends-on): Remove xalloc.
122793         * modules/mkstemp (Depends-on): Add stat-macros.
122794         * modules/modechange (Depends-on): Remove xstrtol.
122795         Add stat-macros, xalloc.
122796         * modules/save-cwd (Depends-on): Add unistd-safer.
122797         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
122798         * modules/unistd-safer (Files): Add lib/fd-safer.c
122799         (Makefile.am): Remove lib_SOURCES.
122801         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
122802         Remove fcntl-safer; unistd-safer supersedes it.
122804 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122806         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
122807         AC_HEADER_STAT.
122808         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
122809         (gl_PREREQ_CHOWN): Remove.
122810         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
122811         it.  Don't require AC_HEADER_STAT.
122812         (gl_PREREQ_LSTAT): Remove.
122813         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
122814         Don't require AC_HEADER_STAT.
122815         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
122816         (gl_PREREQ_RMDIR): Remove.
122817         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
122818         mention stat-macros.h or AC_HEADER_STAT, since we'll make
122819         the stat-macros module a prerequisite.
122820         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
122821         * m4/filemode.m4 (gl_FILEMODE): Likewise.
122822         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
122823         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
122824         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
122825         variable names.
122826         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
122827         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
122828         variable prefixes.
122829         * m4/fcntl-safer.m4: Remove.
122830         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
122831         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
122832         Invoke gl_PREREQ_FD_SAFER.
122833         (gl_PREREQ_FD_SAFER): New macro.
122834         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
122835         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
122836         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
122837         Remove duplicate call to AC_LIBOBJ(readutmp).
122838         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
122840         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
122841         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
122843 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122845         * MODULES.html.sh (Misc): Add byteswap.
122847 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122849         * modules/getcwd (Depends-on): Add extensions.
122850         * modules/openat (Depends-on): Likewise.
122852 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122854         * modules/byteswap: New file.
122856 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122858         * m4/byteswap.m4: New file.
122860 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122862         * lib/byteswap_.h: New file.
122864 2005-04-25  Karl Berry  <karl@gnu.org>
122866         * m4/gettext.m4: Update from GNU gettext 0.14.4.
122868 2005-04-25  Albert Chin  <china@thewrittenword.com>
122870         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
122871         Toolkit C bug.
122873 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
122875         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
122876         (func_ln_if_changed): Remove forcibly for no error message
122877         in case file does not exist.
122879 2005-04-19  Simon Josefsson  <jas@extundo.com>
122881         * gnulib-tool (Options): Make --symlink mean --symbolic.
122883 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
122885         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
122887 2005-04-16  Simon Josefsson  <jas@extundo.com>
122889         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
122891 2005-04-15  Simon Josefsson  <jas@extundo.com>
122893         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
122895 2005-04-15  Simon Josefsson  <jas@extundo.com>
122897         * gnulib-tool: Rename --symlink to --symbolic.
122899 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
122901         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
122902         symbolic links to files instead of copying/moving.  Add --aux-dir,
122903         specifying directory relative --dir where auxiliary build tools
122904         are placed.
122906 2005-04-14  Bruno Haible  <bruno@clisp.org>
122908         * modules/allocsa (License): Change to LGPL.
122909         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
122911 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
122913         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
122914         that "UTC +1 second" continues to work.  Problem reported
122915         by Dmitry V. Levin.
122916         (relunit_snumber): New rule.
122917         (relunit): Use it.
122919 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
122921         * lib/getdate.y (universal_time_zone_table): New constant.
122922         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
122923         universal_time_zone_table.
122924         (lookup_zone): Prefer universal_time_zone_table to
122925         local_time_zone_table, so that "GMT" time stamps are allowed in
122926         London during the summer.  Problem reported by Ian Abbott.
122928 2005-04-12  Jim Meyering  <jim@meyering.net>
122930         * lib/human.c (humblock): Set *options even when returning due to
122931         xstrtoumax conversion failure.  Thanks to a used-uninitialized
122932         warning from gcc-4.
122934 2005-04-09  Jim Meyering  <jim@meyering.net>
122936         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
122937         -Wuninitialized: initialize tm0.tm_year.
122939 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
122941         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
122942         count, since there's no maximum.  All uses changed.
122943         Add member dsts_seen.
122944         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
122945         not being INT_MAX.
122946         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
122947         Use pc_rels_seen to decide whether a date is absolute.
122949         * lib/getdate.y (number): Don't overwrite year.
122950         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
122951         check.
122953 2005-04-02  Simon Josefsson  <jas@extundo.com>
122955         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
122956         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
122958 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
122960         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
122961         where no absolute path name can be longer than PATH_MAX.
122963 2005-03-27  Jim Meyering  <jim@meyering.net>
122965         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
122967 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
122969         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
122970         "one's complement" -> "ones' complement" in comment, as per Knuth.
122971         "value of type" -> "type or expression" in comment.
122972         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
122974 2005-03-26  Jim Meyering  <jim@meyering.net>
122976         Comment nits.
122977         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
122978         Correct typos: s/or/of/.
122980 2005-03-26  Jim Meyering  <jim@meyering.net>
122982         * modules/check-include-files: Move to ../ and rename to...
122983         * check-module: ...this.
122985 2005-03-25  Jim Meyering  <jim@meyering.net>
122987         * modules/xvasprintf (Files): Add xalloc.h.
122989 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
122991         * modules/gettext (Files): config/config.rpath ->
122992         build-aux/config.rpath
122993         * modules/iconv (Files): Likewise.
122994         Problem reported by Oskar Liljeblad.
122996 2005-03-23  Jim Meyering  <jim@meyering.net>
122998         * modules/check-include-files: New script to check for
122999         missing dependencies, multiple includes, etc.
123001         * modules/c-strtold (Depends-on): Add xalloc.
123002         * modules/c-strtod (Depends-on): Add xalloc.
123003         * modules/hash (Depends-on): Add xalloc.
123004         (Files): Remove lib/xalloc.h.
123006         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
123007         * modules/userspec (Files): Add lib/inttostr.h.
123009 2005-03-23  Jim Meyering  <jim@meyering.net>
123011         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
123013 2005-03-22  Jim Meyering  <jim@meyering.net>
123015         * modules/stat-macros: New module.
123016         * modules/canonicalize, modules/euidaccess, modules/file-type,
123017         * modules/filemode, modules/lchown, modules/makepath,
123018         * modules/rmdir, modules/stat: Depend on new stat-macros module
123019         rather than listing lib/stat-macros.h manually.
123020         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
123022 2005-03-22  Jim Meyering  <jim@meyering.net>
123024         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
123026 2005-03-22  Bruno Haible  <bruno@clisp.org>
123028         * config/srclist.txt: Replace target directory 'config' with
123029         'build-aux'.
123030         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
123031         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
123032         ../build-aux/.
123034 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
123036         * modules/chdir-long (Depends-on): Add mempcpy.
123038         * modules/acl, modules/backupfile, modules/c-strtod,
123039         modules/c-strtold, modules/canon-host, modules/canonicalize,
123040         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
123041         modules/exclude, modules/exitfail, modules/file-type,
123042         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
123043         modules/getdate, modules/getline, modules/getpagesize,
123044         modules/getpass, modules/getugroups, modules/group-member,
123045         modules/hard-locale, modules/hash, modules/human, modules/idcache,
123046         modules/inttostr, modules/long-options, modules/makepath,
123047         modules/md5, modules/memcasecmp, modules/memcoll,
123048         modules/modechange, modules/mountlist, modules/path-concat,
123049         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
123050         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
123051         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
123052         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
123053         modules/strftime, modules/strndup, modules/strverscmp,
123054         modules/timespec, modules/unlocked-io, modules/userspec,
123055         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
123056         modules/yesno:
123057         Remove lib_SOURCES line from Makefile.am section, as this is now
123058         done automatically by the corresponding Autoconf macro.
123060 2005-03-21  Jim Meyering  <jim@meyering.net>
123062         Changes imported from coreutils.
123064         * lib/cycle-check.c: Don't include xalloc.h.
123066         * lib/path-concat.c: Don't include assert.h.
123067         (path_concat): Remove assertion that would have triggered
123068         for ABASE starting with more than one slash.
123069         Reported by Andreas Schwab.
123071         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
123072         properly when ABASE is an absolute file name.
123073         Correct the description of this function.
123074         Include <assert.h>.
123075         Add an assertion and a test driver.
123076         This fixes a bug introduced on 2004-07-02.
123077         Andreas Schwab reported the resulting failure of cp --parents:
123078         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
123080 2005-03-21  Jim Meyering  <jim@meyering.net>
123082         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
123083         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
123085 2005-03-21  Jim Meyering  <jim@meyering.net>
123086         and  Paul Eggert  <eggert@cs.ucla.edu>
123088         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
123089         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
123090         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
123091         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
123092         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
123093         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
123094         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
123095         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
123096         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
123097         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
123098         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
123099         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
123100         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
123101         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
123102         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
123103         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
123104         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
123105         for these modules.
123107 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
123109         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
123110         (which shouldn't happen), generate nothing instead of returning 0
123111         immediately, so that nstrftime (NULL, ...) doesn't return 0.
123113 2005-03-16  Bruno Haible  <bruno@clisp.org>
123115         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
123116         HAVE_LONGLONG_64BIT.
123118 2005-03-16  Bruno Haible  <bruno@clisp.org>
123120         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
123121         HAVE_LONGLONG_64BIT.
123123 2005-03-16  Bruno Haible  <bruno@clisp.org>
123125         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
123126         HAVE_LONGLONG_64BIT.
123128 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123130         * lib/strftime.c (my_strftime): Prepend space to format so that we can
123131         reliably distinguish strftime failure from empty output on POSIX
123132         hosts.
123134 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
123136         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
123137         (iconv_string): Don't guess a size-zero buffer, as that might cause
123138         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
123139         result would be 'too large', where 'too large' is (heuristically)
123140         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
123141         overflow concerns.  This will prevent some unwanted malloc failures
123142         when the inputs are very large.
123144 2005-03-15  Karl Berry  <karl@gnu.org>
123146         * config/srclist.txt (config.rpath): from gettext.
123147         * config/config.rpath: update.
123149 2005-03-15  Bruno Haible  <bruno@clisp.org>
123151         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
123152         to 'negate'.
123154         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
123155         variable.
123157         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
123158         results.
123160 2005-03-14  Simon Josefsson  <jas@extundo.com>
123162         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
123163         <fx@gnu.org>.
123165 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
123167         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
123168         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
123169         intprops.h.
123170         * lib/strtol.c: Likewise.
123172 2005-03-14  Jim Meyering  <jim@meyering.net>
123174         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
123175         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
123176         to be nonzero so that we (and caller) can detect the difference
123177         between a valid zero-length expansion and an error return, even
123178         when the underlying strftime fails before writing anything into
123179         that location.
123181 2005-03-14  Bruno Haible  <bruno@clisp.org>
123183         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
123184         Update from GNU gettext 0.14.3.
123186 2005-03-10  Jim Meyering  <jim@meyering.net>
123188         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
123190 2005-03-10  Jim Meyering  <jim@meyering.net>
123192         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
123193         so that this module works on systems without fchdir.
123195 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
123197         Factor int-properties macros into a single file, except for
123198         glibc-related files.
123199         * lib/intprops.h: New file.
123200         * lib/getloadavg.c: Include it instead of limits.h.
123201         (INT_STRLEN_BOUND): Remove.
123202         * lib/human.c: Include intprops.h.
123203         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
123204         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
123205         302/1000.
123206         * lib/inttostr.h: Include intprops.h instead of limits.h.
123207         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
123208         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
123209         for consistency with intprops.h.
123210         (time_t_is_integer, twos_complement_arithmetic): Use them.
123211         * lib/sig2str.h: Include <signal.h>, intprops.h.
123212         (INT_STRLEN_BOUND): Remove.
123213         * lib/strftime.c (TYPE_SIGNED): Remove.
123214         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
123215         * lib/strtol.c: Adjust comments to match intprops.h.
123216         * lib/userspec.c: Include intprops.h.
123217         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
123218         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
123219         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
123220         instead of rolling our own expressions.
123221         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
123223         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
123224         instead of int.
123225         (my_strftime): Do not mishandle years close to INT_MAX, by doing
123226         the right thing even if adding 1900 would overflow.  Similarly
123227         for tm_mon + 1 and tm_yday + 1.
123228         Make %Y always equivalent to %C%y, and similarly for %G and %g.
123229         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
123230         (DO_SIGNED_NUMBER): New macro.
123231         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
123233 2005-03-07  Bruno Haible  <bruno@clisp.org>
123235         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
123237 2005-03-07  Bruno Haible  <bruno@clisp.org>
123239         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
123241 2005-03-04  Derek R. Price  <derek@ximbiot.com>
123243         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
123244         (func_import): Only replace files via --import when they have actually
123245         changed.
123247 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123249         * m4/mmap-anon.m4: New file.
123250         * m4/pagealign_alloc.m4: New file.
123252 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123253             Bruno Haible  <bruno@clisp.org>
123255         * modules/pagealign_alloc: New file.
123256         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
123258 2005-03-03  Derek R. Price  <derek@ximbiot.com>
123259             Bruno Haible  <bruno@clisp.org>
123261         * lib/pagealign_alloc.h: New file.
123262         * lib/pagealign_alloc.c: New file.
123264 2005-03-03  Bruno Haible  <bruno@clisp.org>
123266         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
123267         Use an all-permissive copyright notice, recommended by RMS.
123269 2005-03-02  Bruno Haible  <bruno@clisp.org>
123271         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
123272         of AIX, the replacement has to be done only after <string.h> is
123273         included, therefore not in config.h. stpncpy.h does the replacement,
123274         and stpncpy.c uses it.
123276 2005-03-02  Bruno Haible  <bruno@clisp.org>
123278         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
123279         stpncpy.c uses it.
123281 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123283         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
123284         The workaround isn't strictly needed for POSIX conformance, and
123285         it's too much of a pain to configure and maintain.  We'll ask
123286         people to fix their kernels instead.
123287         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
123288         (NANOSLEEP_BUG_WORKAROUND): Remove.
123289         (xnanosleep): Remove the workaround.
123291 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123293         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
123294         Reported by Derek Price.
123295         (Include): Add "timespec.h".
123297         * modules/xnanosleep (Depends-on): Remove gethrxtime.
123299 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
123301         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
123302         to detect nanosleep bug.
123304 2005-03-01  Bruno Haible  <bruno@clisp.org>
123306         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
123308 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
123310         * modules/gethrxtime: New file.
123311         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
123312         (Depends-on): Add gethrxtime.
123313         (configure.ac): Add gl_XNANOSLEEP.
123314         (Makefile.am): Remove lib_SOURCES line.
123316 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123318         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
123319         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
123321 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
123323         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
123324         * lib/timespec.h (gettime): Return void, since it always
123325         succeeds now.  All uses changed.
123326         * lib/gettime.c (gettime): Likewise.
123327         [HAVE_NANOTIME]: Prefer nanotime.
123328         Assume gettimeofday succeeds, as POSIX requires.
123329         Assime time () succeeds, since other code already does.
123330         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
123331         (timespec_subtract): Remove.
123332         (NANOSLEEP_BUG_WORKAROUND): New constant.
123333         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
123334         things considerably.  Use it only on GNU/Linux hosts, since the
123335         workaround shouldn't be needed elsewhere.
123337 2005-02-24  Bruno Haible  <bruno@clisp.org>
123339         * modules/gettext (Files): Add m4/glibc2.m4.
123341 2005-02-24  Bruno Haible  <bruno@clisp.org>
123343         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
123344         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
123345         * m4/progtest.m4:
123346         Update from GNU gettext 0.14.2.
123347         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
123349 2005-02-24  Bruno Haible  <bruno@clisp.org>
123351         * lib/localcharset.c: Update from GNU gettext 0.14.2.
123352         * lib/config.charset: Update from GNU gettext 0.14.2.
123354 2005-02-24  Bruno Haible  <bruno@clisp.org>
123356         * lib/gettext.h: Update from GNU gettext 0.14.2.
123358 2005-02-23  Simon Josefsson  <jas@extundo.com>
123360         * m4/iconvme.m4: New file.
123362 2005-02-23  Jim Meyering  <jim@meyering.net>
123364         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
123365         change.
123366         Thanks to Bruno Haible for catching it.
123368 2005-02-22  Simon Josefsson  <jas@extundo.com>
123370         * modules/iconvme: New file.
123372         * MODULES.html.sh: Add iconvme.
123374 2005-02-22  Simon Josefsson  <jas@extundo.com>
123376         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
123378 2005-02-22  Simon Josefsson  <jas@extundo.com>
123380         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
123382 2005-02-22  Jim Meyering  <jim@meyering.net>
123384         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
123385         s/ifndef/ifdef/.
123387 2005-02-20  Neil Conway  <neilc@samurai.com>
123389         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
123390         returned by OSX/Darwin if the specified buffer is not large
123391         enough for the hostname.
123393 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123395         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
123396         pass it to _help, otherwise the latter coredumps trying to
123397         dereference state.root_argp.
123399 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123401         * modules/chdir-long (Depends-on): Add memrchr.
123402         * modules/memrchr (Files): Add lib/memrchr.h.
123403         (Include): "memrchr.h".
123405 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123407         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
123409 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
123411         * lib/memrchr.h: New file.
123412         * lib/chdir-long.c: Include it.
123413         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
123414         Don't bother including stddef.h.
123416 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
123418         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
123419         inclusion.
123420         Include <sys/types.h>, for dev_t.
123421         (ME_DUMMY, ME_REMOTE): Move from here....
123422         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
123423         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
123424         Dmitry V. Levin.
123425         Include mountlist.h first, to test the interface.
123427 2005-01-29  Bruno Haible  <bruno@clisp.org>
123429         * lib/progname.c (program_name): Initialize.
123430         Needed when linking statically on MacOS X.
123432 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123434         Sync from coreutils.
123435         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
123436         (Depends-on): Add c-strtod.
123437         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
123439 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
123441         Sync from coreutils.
123442         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
123444         Remove files that are specific to coreutils.
123445         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
123447 2005-01-28  Bruno Haible  <bruno@clisp.org>
123449         * modules/javacomp: New file.
123450         * MODULES.html.sh (Java): Add javacomp.
123452 2005-01-28  Bruno Haible  <bruno@clisp.org>
123454         * m4/javacomp.m4: New file, from GNU gettext.
123456 2005-01-28  Bruno Haible  <bruno@clisp.org>
123458         * lib/javacomp.sh.in: New file, from GNU gettext.
123459         * lib/javacomp.h: New file, from GNU gettext.
123460         * lib/javacomp.c: New file, from GNU gettext.
123462 2005-01-26  Simon Josefsson  <jas@extundo.com>
123464         * lib/gai_strerror.c: Use GPL in header.
123466 2005-01-26  Bruno Haible  <bruno@clisp.org>
123468         * modules/javaexec: New file.
123469         * MODULES.html.sh (Java): Add javaexec.
123471 2005-01-26  Bruno Haible  <bruno@clisp.org>
123473         * m4/javaexec.m4: New file, from GNU gettext.
123475 2005-01-26  Bruno Haible  <bruno@clisp.org>
123477         * lib/javaexec.sh.in: New file, from GNU gettext.
123478         * lib/javaexec.h: New file, from GNU gettext.
123479         * lib/javaexec.c: New file, from GNU gettext.
123481 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123483         * modules/lchown (Depends-on): Remove lchown.h
123485 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123487         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
123488         must be defined if the header file was not found, in order
123489         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
123491 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123493         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
123494         initializers for struct pentry_state.
123495         (__argp_error): Check return value of __asprintf
123496         (__argp_failure): Translate error message
123498         * lib/argp-parse.c: Removed braces around the expansion of N_()
123500 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
123502         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
123503         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
123504         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
123505         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
123506         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
123507         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
123508         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
123509         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
123510         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
123511         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
123512         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
123513         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
123514         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
123515         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
123516         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
123517         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
123518         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
123519         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
123520         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
123521         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
123522         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
123523         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
123524         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
123525         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
123526         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
123527         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
123528         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
123529         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
123530         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
123531         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
123532         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
123533         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
123534         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
123535         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
123536         xstrtol.m4, xstrtoumax.m4, yesno.m4:
123537         Use an all-permissive copyright notice, recommended by RMS.
123539 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
123541         * modules/chdir-long (Depends-on): Remove mempcpy.
123543 2005-01-21  Jim Meyering  <jim@meyering.net>
123545         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
123546         same value as for Solaris 9.
123548         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
123549         component length.  This included changing the parameter to be
123550         of type `char *' rather than `char const *'.
123551         * lib/chdir-long.h (chdir_long): Update prototype.
123553         * lib/openat.c (fdopendir, fstatat): New functions.
123554         * lib/openat.h: Include headers required for use of DIR and struct
123555         stat.
123556         [AT_SYMLINK_NOFOLLOW]: Define.
123557         (fdopendir, fstatat): Add prototypes.
123559 2005-01-21  Bruno Haible  <bruno@clisp.org>
123561         * modules/classpath: New file.
123562         * MODULES.html.sh (Java): Add classpath.
123564 2005-01-21  Bruno Haible  <bruno@clisp.org>
123566         * lib/classpath.h: New file, from GNU gettext.
123567         * lib/classpath.c: New file, from GNU gettext.
123569 2005-01-20  Simon Josefsson  <jas@extundo.com>
123571         * modules/version-etc-fsf: New file.
123573 2005-01-20  Simon Josefsson  <jas@extundo.com>
123575         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
123576         * lib/version-etc.c: Remove version_etc_copyright.
123577         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
123578         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
123580 2005-01-20  Simon Josefsson  <jas@extundo.com>
123582         * lib/base64.h (isbase64): Add.
123584         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
123585         using a unsigned prototype, don't inline.
123586         (base64_decode): Use it.
123588 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123590         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
123591         it.
123593 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123595         * lib/save-cwd.c (save_cwd): Remove code to support the case
123596         where fchdir is missing or flaky.
123598 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123600         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
123602 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
123604         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
123605         AC_LIBSOURCES now does this.
123606         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
123607         with new ullong_max module.
123609 2005-01-19  Bruno Haible  <bruno@clisp.org>
123611         * modules/sh-quote: New file.
123612         * MODULES.html.sh (Executing programs): Add sh-quote.
123614 2005-01-19  Bruno Haible  <bruno@clisp.org>
123616         * lib/sh-quote.h: New file, from GNU gettext.
123617         * lib/sh-quote.c: New file, from GNU gettext.
123619 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123621         Merge from coreutils.
123622         * m4/ullong_max.m4: New file.
123623         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
123624         (gl_MACROS): Assume localeconv exists.
123626 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123628         Merge changes from coreutils, as described below in several
123629         changelogs dated today.
123631         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
123632         (O_DIRECTORY): Remove; not needed here, since "." must be
123633         a directory.  All uses removed.
123634         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
123635         universal on Suns, and we also need to test for IRIX.
123636         Revamp code to use 'if' rather than '#if'.
123637         Avoid unnecessary comparison of cwd->desc to 0.
123639         * lib/utimens.c (futimens): Robustify the previous patch, by checking
123640         for known valid error numbers rather than observed invalid ones.
123642 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123644         * modules/ullong_max: New file.
123646         * modules/chdir-long, modules/openat: New files.
123647         * modules/save-cwd (Depends-on): Depend on chdir-long.
123648         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
123650 2005-01-18  Jim Meyering  <jim@meyering.net>
123652         Merge from coreutils.
123653         * m4/chdir-long.m4, m4/openat.m4: New files.
123654         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
123655         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
123656         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
123657         is sane and DOES follow symlinks.  Besides, testing 20 different
123658         systems found no broken chown implementations.
123659         Prompted by a change in rsync's copy of this macro.
123660         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
123662         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
123664         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
123665         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
123666         NULL-means-set-to-current-time semantics.
123667         Remove temporary file immediately, rather than waiting
123668         for configure's at-exit trap code to do it.
123670 2005-01-18  Jim Meyering  <jim@meyering.net>
123672         * lib/version-etc.c (version_etc_copyright): Update copyright date.
123674         * lib/utimens.c (futimens): Account for the fact that futimes
123675         can also fail with errno == ENOSYS or errno == ENOENT.
123676         Patch from Dmitry V. Levin.
123678         Change the name of the robust chdir function from chdir to chdir_long.
123679         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
123680         (restore_cwd): Use chdir_long, not chdir.
123681         * lib/chdir-long.c: Renamed from chdir.c.
123682         * lib/chdir-long.h: Renamed from chdir.h.
123683         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
123684         Hurd.
123686 2005-01-18  Bruno Haible  <bruno@clisp.org>
123688         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
123689         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
123690         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
123691         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
123692         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
123693         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
123694         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
123695         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
123696         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
123697         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
123698         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
123699         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
123700         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
123701         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
123702         Use an all-permissive copyright notice, recommended by RMS.
123704 2005-01-18  Bob Proulx  <bob@proulx.com>
123706         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
123707         simplify offsetof() macro construct to avoid compile failure with
123708         native HP-UX 11.0 ANSI C compiler.
123710 2005-01-17  Bruno Haible  <bruno@clisp.org>
123712         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
123713         redundant because stpncpy.m4 takes care of it.
123715 2005-01-17  Bruno Haible  <bruno@clisp.org>
123717         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
123719 2005-01-17  Bruno Haible  <bruno@clisp.org>
123721         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
123722         used.
123724 2005-01-17  Bruno Haible  <bruno@clisp.org>
123726         * lib/fwriteerror.h (fwriteerror): Change specification to include
123727         fclose.
123728         * lib/fwriteerror.c: Include <stdbool.h>.
123729         (fwriteerror): At the end, close the file stream. Record whether
123730         stdout was already closed.
123732 2005-01-17  Bruno Haible  <bruno@clisp.org>
123734         * lib/execute.c (environ): Declare if needed.
123735         * lib/pipe.c (environ): Likewise.
123736         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
123738 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123740         * modules/argp: Depend on vsnprintf
123742 2005-01-10  Jim Meyering  <jim@meyering.net>
123744         * modules/closeout (Depends-on): Add atexit.
123746 2005-01-06  Bruno Haible  <bruno@clisp.org>
123748         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
123750 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
123752         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
123753         definitions to be after all include files, to avoid collisions.
123754         Problem reported by Bob Proulx.
123756 2005-01-04  Jim Meyering  <jim@meyering.net>
123758         Changes imported from coreutils.
123759         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
123760         as the mkstemp template, use a temporary directory and an
123761         8.3-friendly template to avoid trouble on systems like DJGPP.
123762         Reported by Juan M. Guerrero via Stepan Kasal.
123763         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
123764         close. Remove the temporary directory right away, rather than waiting
123765         for configure's at-exit trap code to do it.
123766         Suggestion from Stepan Kasal.
123768 2005-01-01  Simon Josefsson  <jas@extundo.com>
123770         * gnulib-tool: Print #include directives when --import'ing.
123772 2004-12-28  Simon Josefsson  <jas@extundo.com>
123774         * tests/test-base64.c: Include required header files.  Remove
123775         unused variables.
123777 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123779         * modules/error (Depends-on): Remove gettext.
123781 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123783         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
123784         not needed.  This removes a dependency on the gettext module.
123785         [defined _LIBC]: Do not include <libintl.h>; not needed.
123787 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123789         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
123790         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
123792 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123794         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
123795         HAVE_DECL_STRTOLD.
123797 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123799         * modules/getdate (Depends-on): Remove alloca-opt.
123801 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123803         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
123805 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123807         * lib/argp-parse.c: Include <stddef.h>.
123808         (alignof, alignto): New macros.
123809         (parser_init): Don't assume that void * is aligned sufficiently
123810         for struct option.
123812         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
123813         need to extend the stack.
123814         (YYINITDEPTH): New macro, so that the initial stack isn't overly
123815         large.
123817 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123819         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
123821 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123823         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
123824         (2004-10-24) change.  Apparently this was a false alarm.
123826         * modules/getdate: Depend on alloca-opt, not alloca.
123828 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123830         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
123831         Remove now-obsolete comment about AIX.
123832         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
123833         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
123834         (YYMAXDEPTH): New macro.
123836 2004-12-18  Simon Josefsson  <jas@extundo.com>
123838         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
123840 2004-12-18  Bruno Haible  <bruno@clisp.org>
123842         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
123844 2004-12-18  Bruno Haible  <bruno@clisp.org>
123846         * lib/fatal-signal.c (fatal_signals): Make non-const.
123847         (init_fatal_signals): New function.
123848         (uninstall_handlers, install_handlers): Ignore signals that were set to
123849         SIG_IGN.
123850         (at_fatal_signal): Call init_fatal_signals.
123851         (init_fatal_signal_set): Likewise. Ignore signals that were set to
123852         SIG_IGN.
123853         Reported by Paul Eggert.
123855 2004-12-18  Bruno Haible  <bruno@clisp.org>
123857         * doc/alloca.texi: New file.
123858         * doc/alloca-opt.texi: New file.
123860 2004-12-17  Jim Meyering  <jim@meyering.net>
123862         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
123863         Otherwise, install-sh could exit with improper exit status when
123864         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
123866 2004-12-16  Simon Josefsson  <jas@extundo.com>
123868         * tests/test-base64.c: Add license.
123870 2004-12-15  Stepan Kasal  <address@hidden>
123872         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
123874 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
123876         * modules/getcwd (Files): Add m4/d-ino.m4.
123877         Suggested by Mark D. Baushke.
123879 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123881         * lib/getdate.y (textint): New member "negative".
123882         (time_zone_hhmm): New function.
123883         Expect 14 shift-reduce conflicts, not 13.
123884         (o_colon_minutes): New rule.
123885         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
123886         (yylex): Set the "negative" member of signed numbers.
123888 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123890         * doc/getdate.texi (Time of day items, Time zone items):
123891         Describe new formats +00:00, UTC+00:00.
123893 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
123895         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
123896         spurious "-l"s.  Problem reported by Stepan Kasal.
123898 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
123900         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
123901         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
123903 2004-12-04  Simon Josefsson  <jas@extundo.com>
123905         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
123906         Vandoorselaere <yoann@prelude-ids.org>.
123908 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123910         Changes imported from coreutils.
123911         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
123912         exist.
123913         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
123915 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123917         Changes imported from coreutils.
123918         * lib/hard-locale.c: Assume <locale.h> exists.
123919         Include "strdup.h".
123920         (GLIBC_VERSION): New macro.
123921         (hard_locale): Assume setlocale exists.
123922         Rewrite to avoid #ifdef.
123923         Use strdup rather than malloc + strcpy.
123924         * lib/human.c: Assume <locale.h> exists.
123925         (human_readable): Assume localeconv exists.
123927 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123929         * modules/hard-locale (Depends-on): Add strdup.
123931 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
123933         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
123934         convert T2, not T.  (Imported from libc.)
123936 2004-11-30  Simon Josefsson  <jas@extundo.com>
123938         * modules/restrict (License): Change to LGPL.
123940 2004-11-30  Simon Josefsson  <jas@extundo.com>
123942         * m4/restrict.m4: Add copyright and copying conditions.
123944 2004-11-30  Simon Josefsson  <jas@extundo.com>
123946         * m4/base64.m4: New file.
123948 2004-11-30  Simon Josefsson  <jas@extundo.com>
123950         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
123951         base64.
123953         * tests/test-base64.c: New file.
123955         * modules/base64: New file.
123957 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123959         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
123960         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
123962         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
123964 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123966         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
123967         (__getcwd.c): Don't restore errno; glibc doesn't.
123968         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
123969         first, falling back to our code only if its results look suspicious.
123970         Ensure that the resulting buffer is only as large as necessary.
123972         * lib/readutmp.c: Include readutmp.h first.
123973         Include <errno.h>, since readutmp.h no longer does that.
123974         * lib/readutmp.h: Don't include <errno.h>,
123975         <sys/param.h>, <time.h>; not needed to establish interface.
123976         (errno): Remove decl.
123977         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
123978         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
123979         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
123981 2004-11-28  Simon Josefsson  <jas@extundo.com>
123983         * lib/base64.h, base64.c: New file.
123985 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
123987         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
123989 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
123991         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
123992         (Depends-on): Remove pathmax, same.  Add mempcpy.
123993         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
123994         (Makefile.am): Append getcwd.h to lib_SOURCES.
123995         (Include): Add getcwd.h.
123996         (Maintainer): Change from Jim Meyering to "all, glibc",
123997         since getdate now uses intended-for-glibc code.
123998         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
123999         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
124001 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124003         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
124004         HP's ANSI C compiler.
124005         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
124006         Declaring int functions causes warnings on some modern systems and
124007         shouldn't be needed to compile on ancient ones.
124008         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
124009         defined.
124011         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
124012         with the following changes.
124013         (__set_errno): Parenthesize properly.
124014         Include <stdbool.h>.
124015         (MIN, MAX, MATCHING_INO): New macros.
124016         (__getcwd): Define with prototype, not K&R form.
124017         Use heuristics to allocate default buffer on stack if possible.
124018         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
124019         behavior, and to avoid the PATH_MAX limit when computing
124020         ../../../../...
124021         Use MATCHING_INO to compare inode number to file.
124022         Check for arithmetic overflow in size calculations.
124023         Fix bug in reallocation of dot array that caused getcwd to fail
124024         on directories nested deeper than 75.
124025         Be more careful about saving errno on error.
124026         Do not use realloc; use only free+malloc, as this is a bit
124027         more flexible and avoids a needless copy operation.
124028         Do not inspect st_dev and st_ino for symbolic links; POSIX
124029         doesn't specify the latter.
124030         Check for closedir errors.
124031         Avoid needless casts.
124032         Use "#ifdef weak_alias" around weak_alias, to be like other
124033         glibc code.
124034         The following changes to getcwd.c have effect only when used in
124035         gnulib; they have no effect inside glibc proper.
124036         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
124037         as alloca isn't used.
124038         (alloca, __alloca): Likewise.
124039         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
124040         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
124041         unconditionally, as gnulib assumes C89 or better.
124042         Do not include <sys/param.h>.
124043         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
124044         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
124045         better.
124046         (NULL) [!defined NULL]: Remove; we assume C89 or better.
124047         Include <dirent.h> in a way that is compatible with modern Autoconf.
124048         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
124049         New macros, if not already defined.
124050         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
124051         Use "_LIBC", not "defined _LIBC", for consistency.
124052         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
124053         a mempcpy module.
124054         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
124055         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
124056         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
124057         credit only to Jim Meyering and adjust the copyright dates.
124058         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
124059         <stdlib.h>, <unistd.h>, "pathmax.h".
124060         Instead, include "xgetcwd.h" (first) and "getcwd.h".
124061         (INITIAL_BUFFER_SIZE): Remove.
124062         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
124064 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
124066         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
124067         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
124068         Use the _ONCE methods, for efficiency.
124069         Check for fcntl.h.  In test program, include <errno.h>
124070         and <fcntl.h> if available.  Remove old K&R cruft from
124071         test program.  Check for common errors in GNU/Linux,
124072         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
124073         don't do AC_LIBOBJ, as that's getcwd.m4's job.
124074         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
124075         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
124076         name accordingly.
124077         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
124078         accommodate new getcwd.c.
124079         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
124080         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
124081         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
124082         that's all we need now.
124084 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124086         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
124087         argp-parse.c depends on getopt internals, that means we should
124088         always use our getopt, to be on the safe side.
124089         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
124090         order not to spoil the result of an eventual previous invocation
124091         of gl_GETOPT_SUBSTITUTE.
124093 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124095         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
124096         redefinition warnings. To avoid them, include the defines
124097         in `#if !defined __need_getopt ... #endif'. The only place
124098         where __getopt_argv_const is used is in definitions
124099         of getopt_long and getopt_long_only below, which are as well
124100         protected by `#ifndef __need_getopt'.
124101         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
124102         __need_getopt after including <stdio.h> and <unistd.h> These
124103         headers might have defined it.
124105 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124107         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
124109 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
124111         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
124112         (futimens): New function, which uses futimes if available.
124113         (futimens, utimens): Support timespec==NULL, with same semantics
124114         as utime and utimens.
124115         * lib/utimens.h (futimens): New decl.
124117 2004-11-23  Jim Meyering  <jim@meyering.net>
124119         * lib/getopt_.h: Remove trailing blanks.
124121 2004-11-23  Jim Meyering  <jim@meyering.net>
124123         * lib/__fpending.c: Add comment.
124125 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
124127         * modules/canonicalize (Depends-on): Add xreadlink.
124128         Problem reported by James Youngman.
124130 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
124132         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
124133         New macros.
124134         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
124135         optopt): Use them instead of invoking ## directly; otherwise, the
124136         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
124138 2004-11-19  Bruno Haible  <bruno@clisp.org>
124140         * lib/strtok_r.c: Move comments from here...
124141         * lib/strtok_r.h: ... to here.
124143 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124145         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
124146         implementations that mishandle size_t overflow.
124148 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
124150         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
124151         might fail.  Problem reported by Yoann Vandoorselaere.
124152         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
124153         implementations that mishandle size_t overflow.
124155 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124157         * modules/canon-host (Depends-on): Add strdup.
124159 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124161         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
124163 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124165         * lib/canon-host.c: Include "strdup.h".
124166         (canon_host): Use getaddrinfo if available, so that IPv6 works.
124167         Use strdup instead of malloc/strcpy to duplicate strings.
124169         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
124170         (human_space_before_unit): New constant.
124171         * lib/human.c (human_readable): Support it.
124173         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
124174         (xgetcwd): Set errno correctly when failing.
124175         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
124176         the failure is actually due to a PATH_MAX problem.
124178         Further getopt changes to make it more likely that glibc will
124179         buy the changes back.
124180         * lib/getopt.c (POSIXLY_CORRECT): New constant.
124181         (getopt): Use it, so to preserve glibc semantic
124182         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
124183         when compiling for libc.
124184         * lib/getopt_.h (__getopt_argv_const): Bring it back.
124185         (getopt_long, getopt_long_only): Use it.
124187         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124188         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
124189         (getopt): Argv is now char * const *, as per standard.
124190         (_getopt_internal_r, _getopt_internal): Argv is now char **,
124191         not char *__getopt_argv_const *.
124192         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124193         _getopt_long_only_r): Likewise.
124194         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
124195         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124196         _getopt_long_r, _getopt_long_only_r): Likewise.
124197         * lib/getopt_.h (__getopt_argv_const): Remove.
124198         (getopt): Argv is now char * const *, as per standard.
124200         * lib/getdate.y (tORDINAL): New token.
124201         (day, relunit): Allow it for relative times.
124202         (relative_time_table): Use tORDINAL for ordinals.
124204 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
124206         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
124207         Document that "second" isn't allowed as an ordinal number.
124209 2004-11-16  Jim Meyering  <jim@meyering.net>
124211         * modules/closeout (Depends-on): Add fpending.
124213 2004-11-15  Jim Meyering  <jim@meyering.net>
124215         * lib/closeout.c: Include "__fpending.h" once again.
124216         Include <stdbool.h>.
124217         (close_stdout): Don't fail just because stdout was closed initially,
124218         since some programs don't write to stdout in the normal course of
124219         operation (other than --version and --help), and we don't want this
124220         function to make e.g. `touch file >&-' fail.
124221         But do fail if it was closed and someone has tried to write to it.
124222         E.g., `printf foo >&-' must fail.
124224 2004-11-13  Jim Meyering  <jim@meyering.net>
124226         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
124228 2004-11-12  Simon Josefsson  <jas@extundo.com>
124230         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
124231         small doc fix is still pending.
124233 2004-11-11  Simon Josefsson  <jas@extundo.com>
124235         * modules/strtok_r: New file.
124237         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124238         strtok_r.
124240 2004-11-11  Simon Josefsson  <jas@extundo.com>
124242         * m4/strtok_r.m4: New file.
124244         * m4/getopt.m4: Replace opterr.
124246 2004-11-11  Simon Josefsson  <jas@extundo.com>
124248         * lib/strtok_r.h, strtok_r.c: New file.
124250 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124252         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
124253         of replacing opterr, getopt, etc.  This should handle the
124254         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
124256 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
124258         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
124259         we can stop lying to compilers about the constness of argv when we
124260         are compiled outside glibc.
124261         (getopt, getopt_long, getopt_long_only): Use it.
124262         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
124263         _getopt_internal, getopt): Likewise.
124264         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
124265         _getopt_long_only_r): Likewise.
124266         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
124267         _getopt_long_r, _getopt_long_only_r): Likewise.
124269         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
124270         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
124271         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
124272         the other external symbols.
124273         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
124274         declaration, since the above renaming now works around collisions.
124276 2004-11-11  Jim Meyering  <jim@meyering.net>
124278         * lib/linebreak.c: Remove trailing blanks.
124279         * lib/alloca_.h: Likewise.
124280         * lib/acosl.c: Likewise.
124281         * lib/euidaccess.c: Likewise.
124282         * lib/allocsa.h: Likewise.
124284 2004-11-10  Simon Josefsson  <jas@extundo.com>
124286         * m4/getaddrinfo.m4: New file.
124288 2004-11-10  Simon Josefsson  <jas@extundo.com>
124290         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
124292 2004-11-10  Simon Josefsson  <jas@extundo.com>
124294         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124295         getaddrinfo.
124297         * modules/getaddrinfo: New file.
124299 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124301         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
124303 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
124305         * lib/mktime.c (SHR): New macro, which is a portable
124306         substitute for >> that should work even on Crays.
124307         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
124308         Problem reported by Mark D. Baushke in
124309         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
124310         * lib/getdate.y (SHR): Likewise.
124311         (tm_diff): Use it.
124312         * lib/strftime.c (SHR): Likewise.
124313         (tm_diff): Use it.
124314         * lib/quotearg.c (struct quoting_options): Use unsigned int for
124315         quote_these_too, so that right shifts are well defined.  All uses
124316         changed.
124318 2004-11-10  Jim Meyering  <jim@meyering.net>
124320         Ensure that no close failure goes unreported.
124321         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
124322         return early when it seems there's nothing to flush.
124323         Don't include __fpending.h.
124325 2004-11-10  Jim Meyering  <jim@meyering.net>
124327         * modules/closeout (Depends-on): Remove fpending.
124329 2004-11-10  Jim Meyering  <jim@meyering.net>
124331         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
124333 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124335         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
124336         gl_FUNC_STRFTIME.
124337         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
124338         and AC_REQUIRE when possible, to avoid duplicate checks.
124339         Check for <wchar.h>.
124341 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
124343         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
124345 2004-11-09  Bruno Haible  <bruno@clisp.org>
124347         * m4/sockpfaf.m4: New file.
124349 2004-11-05  Bruno Haible  <bruno@clisp.org>
124351         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
124352         Reported by Mark D. Baushke <mdb@cvshome.org>.
124354 2004-11-04  Bruno Haible  <bruno@clisp.org>
124356         2004-09-11  Bruno Haible  <bruno@clisp.org>
124357                 * allocsa.valgrind: New file.
124358         2004-02-06  Bruno Haible  <bruno@clisp.org>
124359                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
124360                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
124361                 Reported by Christopher Seip <chris.seip@hp.com>.
124363 2004-11-04  Bruno Haible  <bruno@clisp.org>
124365         * modules/allocsa (Files): Add lib/allocsa.valgrind.
124366         (Makefile.am): Distribute it.
124368 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
124370         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
124371         with errno == ERANGE if the buffer is too small.
124372         Problem reported by Mark D. Baushke.
124374 2004-11-03  Albert Chin  <china@thewrittenword.com>
124375             Paul Eggert  <eggert@cs.ucla.edu>
124377         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
124378         equivalent, substitute $ac_type for equivalent type rather than
124379         blindly using uint32_t *always* which won't work if uint32_t is not
124380         available.  Define _UINT32_T to work around typedef of uint32_t if
124381         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
124382         2.5.1.
124384 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124386         * m4/jm-macros.m4: Sync from coreutils.
124387         (gl_MACROS): Check for mbrlen, for pathchk.
124388         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
124390 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124392         * lib/xreadlink.c (MAXSIZE): New macro.
124393         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
124394         size does not exceed MAXSIZE.  Avoid cast.
124395         As suggested by Mark D. Baushke in
124396         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
124397         if readlink fails with buffer size just under MAXSIZE, try again
124398         with MAXSIZE.
124400 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
124402         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
124404 2004-11-02  Derek R. Price  <derek@ximbiot.com>
124405         and  Paul Eggert  <eggert@cs.ucla.edu>
124407         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
124408         (get_date): Overparenthesize to avoid GCC warning.
124410 2004-11-02  Bruno Haible  <bruno@clisp.org>
124412         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
124413         returns void.
124415 2004-11-02  Bruno Haible  <bruno@clisp.org>
124417         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
124418         function returns void.
124420 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124422         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
124423         fflush_unlocked, flockfile, funlockfile, funlockfile,
124424         fputs_unlocked, putc_unlocked.
124426 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
124428         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124429         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
124430         already declared.
124432 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124434         * modules/getdate (Files): Add doc/getdate.texi.
124435         (Depends-on): Add setenv, xalloc.
124437 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124439         * lib/getdate.y: Add support for TZ="foo" within a date string.
124440         Fix some bugs near time_t boundaries.  Reject dates with
124441         out-of-range components, e.g., "Sept 31".
124442         Include <stdlib.h>, "setenv.h", "xalloc.h".
124443         (ISDIGIT_LOCALE): Remove; unused.
124444         Note that the TZ and time functions used here are not reentrant.
124445         (mktime_ok, get_tz): New functions.
124446         (TZBUFSIZE): New constant.
124447         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
124448         This requires that we sometimes generate our own TZ="XXX..." setting.
124450 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
124452         * doc/getdate.texi: New file, from coreutils with modifications for
124453         the new TZ parsing.
124455 2004-10-27  Derek R. Price  <derek@ximbiot.com>
124457         * lib/mktime.c (not_equal_tm): Remove redundant check.
124459 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124461         * modules/regex (lib_SOURCES): Add regex.c.
124462         Reported by James Youngman in
124463         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
124465 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
124467         * lib/getdate.y: Use Bison 1.875 features, and some minor
124468         code cleanups.  This change does not affect semantics.
124469         Don't include <stdlib.h>; no longer needed.
124470         Don't include unlocked-io.h; only the "#if TEST" code uses
124471         stdio, and performance isn't crucial there.
124472         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
124473         Bison 1.875 features as described below.
124474         All uses of "PC." replaced by "pc->".
124475         (YYSTYPE): Add a forward declaration.
124476         (yylex, yyerror): Use full prototypes in forward decls.
124477         Use "%pure-parser" rather than obsolescent "%pure_parser".
124478         Use %parse-param and %lex-param instead of obsolescent
124479         YYPARSE_PARAM and YYLEX_PARAM.
124480         (meridian_table, month_and_day_table, time_units_table,
124481         relative_time_table, time_zone_table, military_table,
124482         lookup_zone, lookup_word, get_date):
124483         Use NULL instead of 0 where appropriate.
124484         (to_hour): Avoid abort (), to avoid a dependency on
124485         stdlib.h.
124486         (yyerror, yylex): Now accepts parser_control * arg.
124487         (main) [TEST]: Use '\0' rather than 0 for char.
124489 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124491         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
124493 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
124495         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
124496         It's now the caller's responsibility to handle the case where
124497         !HAVE_GETPAGESIZE && !defined getpagesize.
124499         * lib/mktime.c (leapyear): Arg is long int, not int.
124501 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
124503         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
124505 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
124507         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
124508         missing.  Problem reported by James Youngman.
124510 2004-10-16  Simon Josefsson  <jas@extundo.com>
124512         * gnulib-tool: Fix comments.  Fix parse problem.
124513         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
124515 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
124517         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
124518         implementation of getopt_long.  Problem reported by Alexander Taler in:
124519         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
124521 2004-10-15  Bruno Haible  <bruno@clisp.org>
124523         * gnulib-tool: Untabify. Initialize supplied_libname.
124524         (func_usage): More homogenous output.
124525         (func_modules_transitive_closure, func_modules_to_filelist,
124526         func_emit_lib_Makefile_am): New functions.
124527         (func_import): New function, extracted from big case statement. Use
124528         func_get_license, func_modules_transitive_closure,
124529         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
124530         opt_lgpl. Don't use test -a, as it's not portable.
124531         (func_create_testdir): Use func_modules_transitive_closure,
124532         func_modules_to_filelist, func_emit_lib_Makefile_am.
124534 2004-10-15  Bruno Haible  <bruno@clisp.org>
124536         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
124538 2004-10-15  Bruno Haible  <bruno@clisp.org>
124540         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
124541         the portions belonging to each module.
124542         Suggested by Derek Robert Price <derek@ximbiot.com>.
124544 2004-10-12  Simon Josefsson  <jas@extundo.com>
124546         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
124547         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
124548         to real functions.
124550 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124552         * modules/vsnprintf: New file.
124554 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124556         * m4/vsnprintf.m4: New file.
124558 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124560         * lib/vsnprintf.h: New file.
124561         * lib/vsnprintf.c: New file.
124563 2004-10-11  Bruno Haible  <bruno@clisp.org>
124565         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
124566         vsnprintf.
124568 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
124570         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
124572 2004-10-07  Bruno Haible  <bruno@clisp.org>
124574         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
124575         fits into the provided buffer.
124577 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
124579         * lib/diacrit.c, diacrit.h: Add GPL notice.
124581         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
124582         notice.
124583         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
124584         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
124585         This avoids a potential constant-folding bug.
124587 2004-10-05  Bruno Haible  <bruno@clisp.org>
124589         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
124590         for the declaration of strsep.
124592 2004-10-05  Bruno Haible  <bruno@clisp.org>
124594         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
124596 2004-10-04  Simon Josefsson  <jas@extundo.com>
124598         * modules/memmem: New file.
124599         * tests/test-memmem.c: New file.
124600         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
124602 2004-10-04  Simon Josefsson  <jas@extundo.com>
124604         * m4/memmem.m4: New file.
124606 2004-10-04  Simon Josefsson  <jas@extundo.com>
124608         * lib/memmem.h: New file.
124609         * lib/memmem.c: New file, taken from glibc.
124611 2004-10-04  Simon Josefsson  <jas@extundo.com>
124613         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
124614         '#ifdef USE_UNLOCKED_IO'.
124616 2004-10-04  Simon Josefsson  <jas@extundo.com>
124618         * config/srclist.txt: Add memmem from glibc.
124620 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124622         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
124624         * modules/argmatch, modules/argp, modules/closeout, modules/error,
124625         modules/exclude, modules/getdate, modules/getline,
124626         modules/getndelim2, modules/getpass, modules/getpass-gnu,
124627         modules/getusershell, modules/linebuffer, modules/md5,
124628         modules/mountlist, modules/posixtm, modules/readtokens,
124629         modules/readutmp, modules/regex, modules/sha1,
124630         modules/version-etc, modules/yesno:
124631         Remove dependency on unlocked-io.
124633 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124635         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
124637         * m4/unlocked-io.m4: Add copyright notice.
124638         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
124640 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124642         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
124643         * lib/xmalloc.c (xmemdup): Likewise.
124644         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
124645         XFREE): Remove these long-obsolescent macros.
124646         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
124647         * lib/xstrdup.c: Remove.
124649         * lib/regex.c (re_comp): Cast gettext return value to char *,
124650         Problem reported by Martin Neitzel via Mark D. Baushke.
124652 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124654         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
124655         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
124656         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
124657         regex.c, sha1.c, version-etc.c, yesno.c:
124658         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
124659         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
124660         the includer's responsibility.
124662         Sync from coreutils.
124664         * lib/modechange.c (mode_compile): Don't decrement a pointer that
124665         points to the start of a string, as the C Standard says the
124666         resulting behavior is undefined.
124668         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
124669         simple -> simple_backups, numbered_existing ->
124670         numbered_existing_backups, numbered -> numbered_backups
124671         to avoid shadowing problems.  All uses changed.
124672         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
124673         * lib/backupfile.c (check_extension, numbered_backup):
124674         Rename locals to avoid shadowing 'basename'.
124675         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
124676         once.
124678         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
124679         * lib/.cvsignore: Add getopt.h.
124681 2004-10-04  Bruno Haible  <bruno@clisp.org>
124683         * modules/README: New file.
124684         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
124685         not a module.
124687 2004-10-02  Jim Meyering  <jim@meyering.net>
124689         * lib/dirfd.h, getpagesize.h: Add copyright notice.
124691 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124693         * modules/strsep: New file.
124695 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124697         * m4/strsep.m4: New file.
124699 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124701         * lib/strsep.h: New file.
124702         * lib/strsep.c: New file.
124704 2004-10-01  Simon Josefsson  <jas@extundo.com>
124706         * lib/snprintf.c (snprintf): Handle size==0.
124708 2004-10-01  Simon Josefsson  <jas@extundo.com>
124709             Bruno Haible  <bruno@clisp.org>
124711         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
124712         (snprintf): Declare 'args'.
124714 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
124716         * lib/snprintf.c: Remove comments as to why each header is needed.
124718 2004-10-01  Bruno Haible  <bruno@clisp.org>
124720         * MODULES.html.sh: Add strsep.
124722 2004-09-30  Simon Josefsson  <jas@extundo.com>
124724         * modules/snprintf: New file.
124726 2004-09-30  Simon Josefsson  <jas@extundo.com>
124728         * m4/snprintf.m4: New file.
124730 2004-09-30  Simon Josefsson  <jas@extundo.com>
124732         * lib/snprintf.h, lib/snprintf.c: New files.
124734 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124736         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
124737         (hol_entry_help): Never translate an empty string.
124738         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
124739         * lib/argp.h (OPTION_NO_TRANS): New option.
124741 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124743         * modules/argp (Maintainer): Replace Simon Josefsson
124744         by Sergey Poznyakoff.
124746 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124748         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
124749         changes merged back into glibc.
124751 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124753         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
124755 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
124757         * lib/xvasprintf.c: Include xalloc.h.
124758         (xvasprintf): Use xalloc_die, not xmalloc_die.
124760 2004-09-29  Bruno Haible  <bruno@clisp.org>
124762         * modules/alloca-opt: New file, derived from modules/alloca.
124763         * modules/allocsa: Depend on alloca-opt instead of alloca.
124764         * modules/setenv: Likewise.
124765         * modules/vasnprintf: Likewise.
124766         * MODULES.html.sh: Add alloca-opt.
124768 2004-09-28  Simon Josefsson  <jas@extundo.com>
124770         * gnulib-tool: New parameter --lgpl, to asseert that modules are
124771         LGPL, and to replace license template from GPL to LGPL.
124773 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124775         * modules/dummy: Change license to LGPL.
124777 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124779         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
124781 2004-09-24  Simon Josefsson  <jas@extundo.com>
124783         * modules/minmax (License): Change from GPL to LGPL.
124785 2004-09-23  Simon Josefsson  <jas@extundo.com>
124787         * gnulib-tool (--import): Typo.
124789 2004-09-23  Simon Josefsson  <jas@extundo.com>
124791         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
124793 2004-09-22  Bruno Haible  <bruno@clisp.org>
124795         * modules/*: Add 'License' field.
124796         * gnulib-tool: Accept --extract-license option.
124797         (func_get_license): New function.
124799 2004-09-21  Bruno Haible  <bruno@clisp.org>
124801         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
124802         Reported by Simon Josefsson.
124804 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124806         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
124807         gl_AC_TYPE_LONG_LONG.
124809 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124811         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
124813 2004-09-18  Simon Josefsson  <jas@extundo.com>
124814         and  Paul Eggert  <eggert@cs.ucla.edu>
124816         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
124817         calls with autoreconf.  Define GL_LIB.
124819 2004-09-14  Karl Berry  <karl@gnu.org>
124821         * config/srclist.txt: unsync setenv.c, sigh.
124823 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124825         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
124826         Problem reported by Bruno Haible in:
124827         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
124829 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124831         * config/srclist.txt: Comment out argp-pvh.c.
124833 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124835         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
124836         in case some system header has #define'd it.  Problem reported by
124837         Soeren D. Schulze in
124838         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
124840 2004-09-09  Karl Berry  <karl@gnu.org>
124842         * regex.[ch]: delete from the root.  These were supposed to be
124843                 synced with emacs cvs, but this has not happened for about
124844                 a year, and anyway nothing else uses emacs regex.[ch].
124845                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
124846                 lib/regex[.ch] is untouched.
124848 2004-09-09  Bruno Haible  <bruno@clisp.org>
124850         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
124852 2004-09-09  Bruno Haible  <bruno@clisp.org>
124854         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
124855         modifications.
124856         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
124858 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124860         * modules/xvasprintf: New file.
124861         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
124863 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124865         * lib/xvasprintf.h: New file.
124866         * lib/xvasprintf.c: New file.
124867         * lib/xasprintf.c: New file.
124869 2004-09-08  Bruno Haible  <bruno@clisp.org>
124871         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
124873 2004-09-08  Bruno Haible  <bruno@clisp.org>
124875         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
124876         length is > INT_MAX.
124877         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
124878         more.
124880 2004-09-08  Bruno Haible  <bruno@clisp.org>
124882         * lib/stdint_.h: New file, taken from GNU clisp.
124884 2004-09-08  Bruno Haible  <bruno@clisp.org>
124885             Oskar Liljeblad  <oskar@osk.mine.nu>
124887         * modules/stdint: New file.
124888         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
124890 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124892         Import from coreutils.
124893         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
124894         strings on unbounded length.  alloca's performance benefits aren't
124895         that important here.
124896         (V_STRDUP): Remove.
124897         (parse_with_separator): New function, with most of the internals
124898         of the old parse_user_spec.  Allow user to omit both user and group,
124899         for compatibility with FreeBSD.
124900         Clone only the user name, not the entire spec.
124901         Do not set *uid, *gid unless entirely successful.
124902         Avoid memory leak in some failing cases.
124903         Fix regression for USER.GROUP reported by Dmitry V. Levin in
124904         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
124905         (parse_user_spec): Rewrite to use parse_with_separator.
124907 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124909         * modules/userspec: Don't depend on alloca.
124911 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124913         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
124915 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
124917         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
124918         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
124919         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
124921 2004-08-16  Simon Josefsson  <jas@extundo.com>
124923         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
124924         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
124925         Add --dry-run for --import.
124926         Let user provided command line parameters override configure.ac
124927         settings.
124929 2004-08-12  Simon Josefsson  <jas@extundo.com>
124931         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
124932         as discussed with Paul Eggert in threads rooted at
124933         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
124934         and
124935         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
124936         Before, the test was empty, and relied on ELIDE_CODE in source
124937         code.)
124938         (gl_PREREQ_GETOPT): New macro.
124939         (gl_GETOPT): Use them.
124941 2004-08-12  Simon Josefsson  <jas@extundo.com>
124943         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
124944         * lib/getopt_.h: Renamed from getopt.h.
124946 2004-08-12  Simon Josefsson  <jas@extundo.com>
124948         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
124949         Change default library name from libfoo to libgnu.
124950         Now, if you have a configure.ac that says:
124951                 gl_SOURCE_BASE(gl)
124952                 gl_M4_BASE(gl/m4)
124953                 gl_MODULES(error getopt etcetera)
124954                 gl_INIT
124955         you can import all you need by running:
124956                 ../gnulib/gnulib-tool --import
124958         * modules/getopt (Files): Rename getopt.h to getopt_.h.
124959         (Makefile.am): Rewrite, use logic from argz.
124960         (Include): Use <getopt.h> instead of "getopt.h".
124962 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124964         * modules/argp (Files): Add m4/unlocked-io.m4.
124965         (Depends-on): Add extensions.
124967 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124969         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
124970         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
124971         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
124972         Check for program_invocation_name, program_invocation_short_name,
124973         flockfile, funlockfile, features.h, _getopt_long_only_r.
124975 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124977         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
124978         its complicated substitute.
124979         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
124980         and program_invocation_name.
124981         (__argp_basename) [!_LIBC]: Remove; the only use was
124982         replaced by its body.
124983         (__argp_short_program_name): Change condition from
124984         !defined __argp_short_program_name to
124985         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
124986         to match argp-namefrob.h.
124987         (__argp_failure): Don't assume strerror_r returns char *.
124988         * lib/argp-parse.c (N_): Define unconditionally.
124989         (argp_default_options): Fill out initializers with 0 to avoid
124990         gcc warnings.
124992 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124994         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
124995         getopt1.c.
124997 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124999         Merge from coreutils.
125001         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
125003         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
125004         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
125006 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125008         Merge from coreutils.
125010         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
125011         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
125012         for Reliant Unix 5.43.
125014         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
125015         (union fooround): Use uintmax_t, not long int.
125016         The rest is a merge from libc:
125017         [defined _LIBC]: Include <shlib-compat.h>.
125018         (_obstack) [defined _LIBC]: Remove after 2.3.4.
125020         * lib/settime.c (settime): Recode to avoid warning with
125021         Sun Forte C 6U2.
125023         * lib/strverscmp.c: Convert to UTF-8.
125025 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
125027         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
125028         m4/uintmax_t.m4.
125030 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125032         * modules/xalloc-die: New file.
125033         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
125035         * modules/md5 (Files): Add m4/uint32_t.m4.
125036         * modules/sha1: Renamed from modules/sha.
125037         (Files):
125038         Rename lib/sha.h to lib/sha1.h.
125039         Rename lib/sha.c to lib/sha1.c.
125040         Rename m4/sha.m4 to m4/sha1.m4.
125041         (lib_SOURCES): Likewise.
125042         (configure.ac): Rename gl_SHA to gl_SHA1.
125043         (Include): sha.h -> sha1.h.
125045 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125047         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
125048         * m4/sha1.m4: Renamed from sha.m4.
125049         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
125051 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
125053         * lib/obstack.h (obstack_empty_p):
125054         Don't assume that chunk->contents is suitably aligned.
125055         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
125056         Likewise. Problem reported by Benno in
125057         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
125059         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
125060         readable.  This could be improved further but it'd take some work.
125062 2004-08-08  Simon Josefsson  <jas@extundo.com>
125064         * modules/xgethostname (Depends-on): Remove exit and error (not
125065         used).
125067         * modules/getpass-gnu: Add getpass.h.
125068         (Depends-on): Add stdbool.
125069         * modules/getpass: Add getpass.h.
125071 2004-08-08  Simon Josefsson  <jas@extundo.com>
125073         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
125074         Check getpass declaration.
125076 2004-08-08  Simon Josefsson  <jas@extundo.com>
125078         * lib/xgethostname.c: Don't include error.h (not used).
125080         * lib/getpass.h: Add.
125081         * lib/getpass.c: Include getpass.h first.
125083 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
125085         * lib/xalloc-die.c: New file.
125086         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
125087         All uses removed.
125088         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
125089         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
125090         xalloc-die.c.
125091         (_, N_, xalloc_die): Move to xalloc-die.c.
125092         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
125093         so that we needn't mess with xalloc_msg_memory_exhausted.
125095         * lib/sha1.h: Renamed from sha.h.
125096         (SHA1_H): Renamed from _SHA_H.
125097         (sha1_ctx): Renamed from sha_ctx.
125098         (sha1_init_ctx): Renamed from sha_init_ctx.
125099         (sha1_process_block): Renamed from sha_process_block.
125100         (sha1_process_bytes): Renamed from sha_process_bytes.
125101         (sha1_finish_ctx): Renamed from sha_finish_ctx.
125102         (sha1_read_ctx): Renamed from sha_read_ctx.
125103         (sha1_stream): Renamed from sha_stream.
125104         (sha1_buffer): Renamed from sha_buffer.
125105         * lib/sha1.c: Likewise; renamed from sha.c.
125106         Do not include <sys/types.h>.
125107         Include <stddef.h> rather than <stdlib.h>.
125109 2004-08-08  Bruno Haible  <bruno@clisp.org>
125111         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
125112         FILESYSTEM_PREFIX_LEN.
125113         * lib/progreloc.c: Likewise.
125114         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
125116 2004-08-06  Simon Josefsson  <jas@extundo.com>
125118         * modules/progname (Depends-on): Don't depend on stdbool.
125120 2004-08-06  Simon Josefsson  <jas@extundo.com>
125122         * modules/getsubopt: New file.
125123         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
125124         getsubopt.
125126 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125128         More merge from coreutils.
125130         * m4/utimens.m4, m4/utimecmp.m4: New files.
125131         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
125132         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
125133         prereq.m4, sha.m4: Import changes from coreutils.
125135 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125137         More merge from coreutils.
125138         * modules/raise, modules/readtokens0, modules/utimens:
125139         * modules/utimecmp, module/xnanosleep: New files.
125140         * modules/strftime: Add lib/strftime.h.
125141         Change include from <time.h> to "strftime.h".
125142         * modules/yesno: Add lib/yesno.h.
125143         * modules/backupfile: Remove lib/addext.c.
125144         * modules/euidaccess: Add stat-macros.h.
125145         * modules/canonicalize, modules/euidaccess,
125146         modules/filemode, modules/lchown, modules/makepath,
125147         modules/rmdir, modules/stat: Likewise.
125149 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
125151         Merge from tar.
125152         * lib/argp-help.c (make_hol, hol_append): Don't assume that
125153         SIZE_MAX is a valid preprocessor constant.
125154         (__argp_basename): Change from "#ifndef _LIBC"
125155         to "#ifndef __argp_short_program_name", so that
125156         we don't compile these functions for tar.
125158         More merges from coreutils.
125159         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
125160         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
125161         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
125162         * lib/addext.c: Remove; no longer needed.
125163         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
125164         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
125165         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
125166         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
125167         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
125168         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
125169         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
125170         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
125171         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
125172         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
125173         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
125174         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
125175         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
125176         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
125177         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
125178         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
125179         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
125180         Import changes from coreutils.
125182 2004-08-05  Simon Josefsson  <jas@extundo.com>
125184         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
125186 2004-08-05  Simon Josefsson  <jas@extundo.com>
125188         * m4/getsubopt.m4: New file.
125190 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125192         Merge from coreutils.
125194         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
125195         * m4/getcwd-path-max.m4: New files.
125197         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
125198         FILESYSTEM_PREFIX_LEN ->
125199         FILE_SYSTEM_PREFIX_LEN.
125200         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
125201         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
125202         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
125203         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
125205         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
125206         prerequisite modules now handle the DOS stuff.
125207         Don't check for unistd.h.
125209 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125211         Merge from coreutils.
125213         * lib/.gdb-history: Remove; this doesn't belong here.
125215         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
125216         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
125217         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
125218         * lib/getcwd.c: New files.
125220         * lib/dirname.h: Include <stdbool.h>.
125221         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
125222         for consistency with POSIX terminology.  All uses changed.
125223         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
125224         (strip_trailing_slashes): Use bool for booleans.
125225         * lib/stripslash.c (strip_trailing_slashes): Likewise.
125227         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
125228         sometimes returns a positive errno value even when it succeeds.
125229         (print_errno_message) [!LIBC]: Fall back on strerror if
125230         __strerror_r fails.
125232         * lib/path-concat.c (mempcpy): Don't define if a system header defines
125233         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
125234         (longest_relative_suffix): New function.
125235         (path_concat): Use it.  Assume first argument is not NULL.
125236         Port to DOS.  Omit redundant separators.
125237         Report an error instead of returning NULL.
125238         Use mempcpy instead of memcpy.
125239         (xpath_concat): Remove: not declared or used.
125241         * lib/same.h: Include <stdbool.h>
125242         (same_name): Return bool, not int.
125243         * lib/same.c (same_name): Likewise.
125244         (errno): Don't declare; we assume C89 or better now.
125246         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
125247         if not already defined.
125249         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
125250         * lib/dup-safer.c (errno): Likewise.
125252 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
125254         Merge from coreutils.
125255         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
125256         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
125257         * modules/path-concat: Don't depend on strdup.
125259 2004-08-03  Simon Josefsson  <jas@extundo.com>
125261         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
125262         * lib/progname.h: Don't include stdbool.h.
125264 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125266         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
125267         * MODULES.html.sh (func_all_modules): Remove fatal.
125269 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125271         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
125273 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
125275         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
125276         working.
125278 2004-08-02  Simon Josefsson  <jas@extundo.com>
125280         * lib/getsubopt.h: New file, with comments from Bruno Haible.
125281         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
125282         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
125284 2004-08-01  Simon Josefsson  <jas@extundo.com>
125286         * lib/xgetdomainname.c: Include stdlib.h, for free().
125288 2004-07-19  Bruno Haible  <bruno@clisp.org>
125290         * MODULES.html.sh (func_all_modules): Add dummy.
125292 2004-07-16  Simon Josefsson  <jas@extundo.com>
125294         * modules/dummy: New file.
125296 2004-07-16  Simon Josefsson  <jas@extundo.com>
125298         * lib/dummy.c: New file.
125300 2004-07-16  Bruno Haible  <bruno@clisp.org>
125302         * lib/backupfile.h: Add extern "C" for C++.
125303         * lib/closeout.h: Likewise.
125304         * lib/copy-file.h: Likewise.
125305         * lib/findprog.h: Likewise.
125306         * lib/full-write.h: Likewise.
125307         * lib/pathname.h: Likewise.
125308         * lib/progname.h: Likewise.
125309         * lib/stpcpy.h: Likewise.
125310         * lib/stpncpy.h: Likewise.
125311         * lib/strcase.h: Likewise.
125312         * lib/strstr.h: Likewise.
125313         * lib/xalloc.h: Likewise.
125315         * lib/mbswidth.h: Add extern "C" for C++.
125316         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
125318 2004-07-13  Robert Millan  <robertmh@gnu.org>
125320         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
125322 2004-07-09  Simon Josefsson  <jas@extundo.com>
125324         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
125325         failed without this.)
125327 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125329         * modules/chown (Files): Add lib/fchown-stub.c, since
125330         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
125332 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
125334         * lib/fchown-stub.c: New file.
125336 2004-06-24  Jim Meyering  <jim@meyering.net>
125338         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
125340 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125342         * modules/argz: Omit "#include".
125344         * MODULES.html.sh (func_all_modules): Add calloc, to match
125345         2004-06-01 addition of calloc module.
125347 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125349         * m4/argz.m4: New file, which is autoupdated from libtool.
125351 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125353         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
125354         libtool.
125356 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
125358         * config/srclist-update: Don't insist on "USA." before the
125359         close-comment, as libtool omits the period and puts the */ on a
125360         separate line.
125361         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
125362         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
125364 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
125366         * modules/argz: New file.
125367         * MODULES.html.sh (func_all_modules): Add argz.
125369 2004-06-12  Jim Meyering  <jim@meyering.net>
125370         and  Paul Eggert  <eggert@cs.ucla.edu>
125372         * modules/hash (Files): Add lib/xalloc.h.
125373         * modules/pipe (Depends-on): Add wait-process.
125374         * modules/stat (Depends-on): Add xalloc.
125375         * modules/userspec (Files): Add lib/userspec.h.
125376         * modules/xstrto
125378         Upgrade from gettext-0.13.
125379         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
125380         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
125381         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
125383 2004-06-10  Jim Meyering  <jim@meyering.net>
125385         * lib/calloc.c: New file.
125387 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
125389         * lib/getdate.y (yylex): Allow space between sign and number.
125390         Problem reported by Dan Jacobson.
125392 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125394         Merge from coreutils CVS.
125396         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
125397         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
125398         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
125399         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
125400         xstrtol.m4: Fix copyright date and/or serial number.
125402         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
125403         See if we need an fchown replacement.
125404         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
125405         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
125406         and use the replacement function if we detect either defect.
125408         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
125409         gl_UTIMECMP.
125411 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
125412         and  Jim Meyering  <jim@meyering.net>
125414         Merge from coreutils CVS.
125416         * lib/stat-macros.h: New file, with contents from file-type.h
125417         and coreutils' system.h.
125418         * lib/file-type.c: Include "stat-macros.h".
125419         * lib/file-type.h (file_type): Move all macro definitions to new file,
125420         stat-macros.h.
125422         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
125423         Wrap old code with this conditional.
125424         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
125425         function that does not dereference symlinks.
125426         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
125428         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
125429         dependency problems.
125430         (xreadlink): Accept new arg SIZE, for efficiency.
125431         All decls and uses changed.
125432         * lib/xreadlink.h: Include <stddef.h>, for size_t.
125434         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
125435         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
125437         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
125438         sysexits.h.
125440 2004-06-01  Jim Meyering  <jim@meyering.net>
125442         * m4/calloc.m4: New file.
125444 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
125446         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
125447         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
125448         Also, fix a typo in a diagnostic.
125450 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125452         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
125453         or AC_FUNC_REALLOC.
125455 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
125457         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
125458         macros to be defined.
125459         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
125460         the allocator returns NULL because the requested size is zero.
125462 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
125464         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
125465         var.  Add comment explaining why libc still defines it.  This
125466         merges the following patch from glibc:
125467         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
125469 2004-05-20  Andreas Schwab  <schwab@suse.de>
125471         * m4/free.m4: Replace free if it not known to work, not the other
125472         way round.
125474 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
125476         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
125477         present in glibc since revision 1.1 of this file.
125478         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
125479         obstack_alignment_mask, obstack_alloc, obstack_base,
125480         obstack_blank, obstack_blank_fast, obstack_chunk_size,
125481         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
125482         obstack_grow0, obstack_init, obstack_int_grow,
125483         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
125484         obstack_next_free, obstack_object_size, obstack_ptr_grow,
125485         obstack_ptr_grow_fast, obstack_room): Remove declarations of
125486         nonexistent functions.
125488 2004-05-18  Karl Berry  <karl@gnu.org>
125490         * config/srclist.txt: break link for vasnprintf.c.
125492 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125494         Port obstack to the AS/400, where pointers are 16 bytes wide and
125495         you cannot cast an integer to a valid pointer.  This patch is
125496         currently waiting to be integrated into glibc; see
125497         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
125499         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
125500         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
125501         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
125502         (struct obstack): temp member is now a union of a pointer and
125503         an integer, instead of an integer.  All integer uses changed.
125504         This does not affect the physical layout of struct obstack,
125505         except on hosts (like the AS/400) where the size or alignment of
125506         void * is greater than that of ptrdiff_t.
125507         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
125508         __STDC__)]: Store temporary in pointer member of union, not
125509         integer member.
125510         * lib/obstack.c: Include <stddef.h>, for offsetof.
125511         (struct fooalign): Remove; it doesn't need a name.
125512         (union fooround): Change double to long double, and add void *.
125513         (DEFAULT_ALIGNMENT): Use offsetof to compute.
125514         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
125515         not a macro.  Hence the values are always int; so remove all
125516         casts-to-int in uses.
125518 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
125520         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
125521         we can get this patch merged into glibc.
125523 2004-05-17  Derek R. Price  <derek@ximbiot.com>
125524             Paul Eggert  <eggert@cs.ucla.edu>
125526         * m4/argp: Depend on alloca.
125528 2004-05-17  Derek R. Price  <derek@ximbiot.com>
125529             Paul Eggert  <eggert@cs.ucla.edu>
125531         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
125532         freecoding.
125534 2004-05-17  Bruno Haible  <bruno@clisp.org>
125536         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
125537         precision that consists of a '.' followed by an empty digit string.
125538         Patch by Tor Lillqvist <tml@iki.fi>.
125540 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
125542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
125543         for backward compatibility with older code.  We need our own
125544         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
125545         it under some other name, and our alloca.h will define it.
125547 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
125548             Derek Price  <derek@ximbiot.com>
125550         * lib/alloca.c: Include <alloca.h>, to get our interface.
125551         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
125552         include <alloca.h> first.  Use C89 prototype for alloca; this
125553         requires including <stddef.h> for size_t.  Use extern "C" if C++.
125554         Use #elif for simplicity, since we can assume C89 now.
125555         Don't try to source the system alloca.h since it will not be found
125556         and to prevent recursively including its replacement.
125557         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
125558         * lib/regex.c: Likewise.
125560 2004-05-16  Derek Price  <derek@ximbiot.com>
125561             Paul Eggert  <eggert@cs.ucla.edu>
125563         getline cleanup.  This changes the getndelim2 API: both order of
125564         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
125565         no delimiter).
125567         * lib/getline.c: Don't include stddef.h or stdio.h, since our
125568         interface does that.
125569         (getline): Always use getdelim, so that we don't have two
125570         copies of this code.
125571         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
125572         if available.
125573         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
125574         (GETNDELIM2_MAXIMUM): New macro.
125575         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
125576         instead of the old practice of delim2==0.  All callers changed.
125577         Return -1 on overflow, instead of returning junk.
125578         Do not set *linesize unless allocation succeeds.
125579         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
125580         that we include sys/types.h.
125581         * lib/getnline.h: Likewise.
125582         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
125583         (getndelim2): Reorder arguments.
125584         * lib/getnline.c (getnline, getndelim):
125585         Don't discard the NMAX argument.
125586         (getnline): Invoke getndelim, to avoid code duplication.
125587         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
125588         of (size_t) -1 by callers of the getnline family.
125590 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125592         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
125593         Check for gettimeofday.
125594         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
125595         Check for settimeofday, stime.
125597 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125599         * lib/nanosleep.c (suspended): Change its type from int to
125600         sig_atomic_t volatile.
125601         (first_call): Make it private to rpl_nanosleep, and have it
125602         be zero initially as that's a bit faster.
125603         (my_usleep): Round up fractional times instead of truncating them,
125604         as this is the usual meaning for 'sleep'.
125606         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
125607         doesn't work.
125608         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
125609         (ENOSYS): Define if not defined.
125610         (settime): Fall back on stime if it exists and settimeofday fails.
125611         But don't bother with fallbacks if a method fails with errno == EPERM.
125613 2004-05-11  Jim Meyering  <jim@meyering.net>
125615         Prior to this change, the save_cwd caller required read access to the
125616         current directory on most systems (ones with the fchdir function).
125618         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
125619         fails, try write-only, and finally, resort to using xgetcwd.
125621 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
125623         * lib/obstack.c, obstack.h: Import changes from libc.
125625 2004-04-28  Bruno Haible  <bruno@clisp.org>
125627         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
125628         also implicitly appends .exe to executables.
125629         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
125630         accepts Windows pathnames.
125631         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125632         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125633         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125634         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125635         Reported by Derek Robert Price <derek@ximbiot.com>.
125637 2004-04-21  Karl Berry  <karl@gnu.org>
125639         * config/srclist.txt (localcharset.c): break sync.
125641 2004-04-20  Paul Eggert  <eggert@twinsun.com>
125643         * m4/host-os.m4: Add a copyright notice.
125645 2004-04-20  Jim Meyering  <jim@meyering.net>
125647         Change UTILS_ to gl_ in AC_DEFINE'd names.
125648         Change utils_- and jm_-prefixed variables, too.
125649         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
125650         UTILS_FUNC_MKDIR_TRAILING_SLASH.
125651         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
125653         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
125654         Don't emit trailing blanks.
125655         Also rename jm_-prefixed variables to have gl_ prefix.
125657         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
125658         Also rename jm_-prefixed variables to have gl_ prefix.
125660         * m4/jm-macros.m4: Reflect the renamings.
125661         * m4/prereq.m4: Likewise.
125663 2004-04-20  Jim Meyering  <jim@meyering.net>
125665         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
125666         memory.
125668 2004-04-20  Jim Meyering  <jim@meyering.net>
125669             Bruno Haible  <bruno@clisp.org>
125671         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
125672         memory when realloc fails.
125674 2004-04-19  Jim Meyering  <jim@meyering.net>
125676         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
125677         now that readutmp.c may call `free (0)'.
125679 2004-04-19  Bruno Haible  <bruno@clisp.org>
125681         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
125682         * m4/inttypes_h.m4: Likewise.
125683         * m4/stdint_h.m4: Likewise.
125684         * m4/intmax_t.m4: Likewise.
125685         * m4/uintmax_t.m4: Likewise.
125687 2004-04-18  Jim Meyering  <jim@meyering.net>
125689         * m4/prereq.m4: Don't forbid jm_ prefix.
125691         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
125692         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
125693         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
125694         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
125695         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
125696         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
125697         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
125698         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
125699         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
125700         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
125701         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
125702         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
125703         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
125704         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
125705         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
125706         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
125707         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
125708         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
125709         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
125711 2004-04-18  Jim Meyering  <jim@meyering.net>
125713         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
125714         failure, don't leak memory and do call END_UTMP_ENT.
125716 2004-04-16  Jim Meyering  <jim@meyering.net>
125718         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
125719         coreutils' stat program.
125720         (gl_PREREQ): Don't require jm_PREREQ_STAT.
125722 2004-04-11  Paul Eggert  <eggert@twinsun.com>
125724         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
125725         C89.
125726         (CHAR_BIT): Remove, since we assume C89.
125727         Include <stdint.h> if available, as per current Autoconf CVS advice.
125729 2004-03-31  Jim Meyering  <jim@meyering.net>
125731         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
125732         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
125733         * m4/xalloc.m4: Likewise.
125735 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125737         Merge from coreutils.
125739         * m4/inttostr.m4: New file.
125740         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
125741         Require AM_STDBOOL_H and gl_TIMESPEC instead.
125742         Require gl_CLOCK_TIME.
125743         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
125745 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125747         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
125748         not bool, to be more consistent with Unix conventions.
125749         Suggested by Bruno Haible.
125751         Merge from coreutils.
125753         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
125754         * lib/umaxtostr.c: New files.
125756         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
125757         the usual <time.h> dance.
125758         (get_date): Change signature to support fractional time stamps.
125759         All callers changed.
125760         * lib/getdate.y: Include "getdate.h" first, as we can now
125761         assume C89 and don't need to worry about 'const'.
125762         Similarly, include "unlocked-io.h" near start, not in middle.
125763         Include <limits.h>.
125764         (textint.value): Use long int rather than int.
125765         (textint.digits): Use size_t rather than int.
125766         (BILLION, LOG10_BILLION): New constants.
125767         (parser_control): New member rel_ns.  Members day_ordinal,
125768         time_zone, month, day, hour, minutes, rel_year, rel_month,
125769         rel_day, rel_hour, rel_minutes, rel_seconds
125770         are now long int, not int.  Member seconds is now struct timespec,
125771         not int.  New member timespec_seen.  Members dates_seen, days_seen,
125772         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
125773         not int.
125774         (%union.intval): Now long int, not int.
125775         New member timespec.
125776         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
125777         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
125778         (spec): Now is a timespec or an item list.
125779         (timespec, items): New nonterminals.
125780         (time, rel, relunit, number, get_date):
125781         Add support for fractional seconds.
125782         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
125783         (gmtime, localtime, mktime): Remove decls; not needed with C89.
125784         (to_hour): First arg is now long int, not int.
125785         (to_year): Returns long int, not int.
125786         Don't treat year -70 like 70.
125787         (tm_diff): Returns long int, not int.
125788         (lookup_word): Use bool instead of int when appropriate.
125789         (yylex): Use size_t for count, not int.
125790         Detect overflow when parsing large integer constants.
125791         Add support for fractions.
125792         (get_date): Make pointers 'const' if possible.
125793         Use more-portable code to detect integer overflow.
125794         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
125795         Don't use ctime; it's not reliable if the year has >4 digits.
125797         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
125798         This is for compatibility with BSD.
125800         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
125801         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
125802         From coreutils' system.h.
125804         * lib/userspec.c: Don't include "posixver.h".
125805         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
125806         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
125807         compatible extension.  Simplify code by removing a boolean int
125808         that was always nonzero if a string was nonnull.
125810 2004-03-30  Jim Meyering  <jim@meyering.net>
125812         Merge from coreutils.
125814         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
125815         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
125816         on some systems one must include <grp.h> before it.
125817         Reported by Christian Krackowizer.
125819 2004-03-30  Jim Meyering  <jim@meyering.net>
125821         Merge from coreutils.
125823         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
125825         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
125826         an empty input stream.
125828         * lib/readtokens.c: Include <stdbool.h>.
125829         (readtoken): Use `size_t' rather than int/long.
125830         All callers adjusted.
125831         Use `bool' rather than `int' where appropriate.
125832         Use memset rather than an explicit loop.
125833         Use x2nrealloc rather than xrealloc.
125834         Allow the use of `\0' as a delimiter.
125835         (readtokens): Likewise.
125836         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
125838 2004-03-30  Jim Meyering  <jim@meyering.net>
125840         * m4/realloc.m4: Remove file, since now it does no more than
125841         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
125842         the `configure.ac' section of module/realloc.
125843         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
125845 2004-03-30  Bruno Haible  <bruno@clisp.org>
125847         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
125848         nonnull.
125850 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125852         Merge changes to getloadavg.c from coreutils and Emacs.
125854         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
125855         Define to an expression, not to the empty string.
125856         Include cloexec.h and xalloc.h.
125857         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
125858         Use set_cloexec_flag rather than rolling our own.
125859         * lib/cloexec.c, lib/cloexec.h: New files.
125861 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125863         * m4/cloexec.m4: New file.
125865 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125867         * lib/getopt.h: Sync with libc CVS.
125869 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125870             Bruno Haible  <bruno@clisp.org>
125872         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
125873         mbswidth.
125875 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125876             Bruno Haible  <bruno@clisp.org>
125878         * lib/mbswidth.h: Include <wchar.h> only if
125879         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
125880         <wchar.h>.
125881         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
125883 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125885         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
125886         Sync with libc CVS.
125887         * lib/getopt_int.h: New file, also synced from libc.
125889 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125891         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
125892         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
125893         Bring back getopt.c, getopt.h, getopt1.c.
125895 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125897         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
125898         All uses changed.  Check for sa_sigaction member; this fixes
125899         a bug first reported by Jason Andrade in
125900         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125902 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125904         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
125905         '#if' expressions.  Unlike the code it replaces, it does not
125906         depend on (defined _SC_PAGESIZE).  However, it does depend on
125907         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
125908         first reported by Jason Andrade in
125909         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125911 2004-02-25  Simon Josefsson  <jas@extundo.com>
125913         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
125915 2004-02-25  Simon Josefsson  <jas@extundo.com>
125917         * lib/strdup.h: New file.
125918         * lib/strdup.c: Include it.
125919         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
125920         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
125922 2004-02-23  Karl Berry  <karl@gnu.org>
125924         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
125925         (from fencepost.gnu.org:/gd/gnuorg).
125927 2004-02-23  Karl Berry  <karl@gnu.org>
125929         * config/srclistvars.sh (GNUORG) [karl]: redefine.
125930         * config/srclist.txt: add maintain/standards documents.
125932 2004-02-18  Bruno Haible  <bruno@clisp.org>
125934         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
125935         Reported by Derek Robert Price <derek@ximbiot.com>.
125937 2004-02-16  Karl Berry  <karl@gnu.org>
125939         * config/mkinstalldirs, install-sh: update from automake.
125941 2004-02-06  Karl Berry  <karl@gnu.org>
125943         * m4/po.m4: update from gettext 0.14.1.
125945 2004-02-06  Karl Berry  <karl@gnu.org>
125947         * lib/config.charset: update from gettext 0.14.1.
125949 2004-02-05  Paul Eggert  <eggert@twinsun.com>
125951         Add comments and code, prompted by suggestions from Bruno Haible
125952         for sh-quote.
125953         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
125954         describing the enum quoting_style values.
125955         * lib/quotearg.c (quotearg_alloc): New function.
125956         (quotearg_buffer_restyled): Treat lone { and } as special.
125957         Treat = as special.  Work around bug with older shells
125958         that "see" a '\' that is really the 2nd byte of a multibyte char.
125959         Quote empty string with shell_quoting_style.
125961 2004-02-03  Bruno Haible  <bruno@clisp.org>
125963         * m4/pipe.m4: New file, from GNU gettext.
125965 2004-02-03  Bruno Haible  <bruno@clisp.org>
125967         * lib/pipe.h: New file, from GNU gettext.
125968         * lib/pipe.c: New file, from GNU gettext.
125970 2004-01-27  Bruno Haible  <bruno@clisp.org>
125972         * m4/execute.m4: New file, from GNU gettext.
125974 2004-01-27  Bruno Haible  <bruno@clisp.org>
125976         * lib/execute.h: New file, from GNU gettext.
125977         * lib/execute.c: New file, from GNU gettext.
125978         * lib/w32spawn.h: New file, from GNU gettext.
125980 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125982         Merge from diffutils.
125984         * lib/file-type.c (file_type): Add typed memory objects.
125985         * lib/file-type.h (S_TYPEISTMO): New macro.
125987         * lib/c-stack.h (c_stack_action): Remove argv argument.
125988         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
125989         (die): Don't calculate message unless segv_action returns.
125990         (get_stack_location, min_address_from_argv, max_address_from_argv,
125991         volatile stack_base, volatile_stack_size): Remove.
125992         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
125993         that every segmentation violation is a stack overflow.  (Ouch!)
125994         See Debian bug 136249 (still outstanding) for more info about why
125995         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
125997 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125999         Exit-status fix from coreutils.
126001         Use exit_failure consistently in place of EXIT_FAILURE,
126002         so that program exit statuses are consistent on failure.
126004         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
126005         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
126006         * lib/argmatch.h: Comment fix to match the above.
126007         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
126008         Now a macro referring to exit_failure, instead of a separate
126009         variable.  Include "exitfail.h" to get it.
126010         * lib/xstrtol.h: Include "exitfail.h".
126011         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
126013         * lib/long-options.c (parse_long_options): Use prototype
126014         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
126015         for clarity.
126017 2004-01-21  Jim Meyering  <jim@meyering.net>
126019         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
126020         so as not to conflict with a different-sized __mktime_internal
126021         function in GNU libc.
126022         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
126023         Problem building statically-linked `ls' reported by Michael Brunnbauer.
126025 2004-01-20  Karl Berry  <karl@gnu.org>
126027         * config/config.guess: update from config.
126029         * config/srclistvars.sh: GNUWWWLICENSES for karl.
126031 2004-01-20  Bruno Haible  <bruno@clisp.org>
126033         Safer stack allocation.
126034         * lib/setenv.c: Include allocsa.h.
126035         (alloca): Remove fallback definition.
126036         (freea): Remove macro.
126037         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
126038         instead of freea.
126040 2004-01-20  Bruno Haible  <bruno@clisp.org>
126042         * m4/eealloc.m4: New file, from GNU gettext.
126044 2004-01-20  Bruno Haible  <bruno@clisp.org>
126046         * m4/allocsa.m4: New file, from GNU gettext.
126048 2004-01-20  Bruno Haible  <bruno@clisp.org>
126050         * lib/xallocsa.h: New file, from GNU gettext.
126051         * lib/xallocsa.c: New file, from GNU gettext.
126053 2004-01-20  Bruno Haible  <bruno@clisp.org>
126055         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
126057 2004-01-20  Bruno Haible  <bruno@clisp.org>
126059         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
126060         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
126061         specially.
126063 2004-01-20  Bruno Haible  <bruno@clisp.org>
126065         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
126066         patch.
126068 2004-01-20  Bruno Haible  <bruno@clisp.org>
126070         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
126072 2004-01-20  Bruno Haible  <bruno@clisp.org>
126074         * lib/eealloc.h: New file.
126076 2004-01-20  Bruno Haible  <bruno@clisp.org>
126078         * lib/binary-io.h: Avoid warnings on Cygwin.
126080 2004-01-20  Bruno Haible  <bruno@clisp.org>
126082         * lib/allocsa.h: New file, from GNU gettext.
126083         * lib/allocsa.c: New file, from GNU gettext.
126085 2004-01-18  Karl Berry  <karl@gnu.org>
126087         * doc/gpl.texi, doc/lgpl.texi: new files.
126089 2004-01-18  Karl Berry  <karl@gnu.org>
126091         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
126092         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
126094 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126096         Merge from coreutils.
126098         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
126099         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
126100         (gl_DEFAULT_POSIX2_VERSION): Move
126101         the documentation from 'configure' into 'config.hin',
126102         so that 'configure --help' isn't burdened by it and
126103         we don't have to worry about its formatting there.
126104         Reword the documentation so that it's more succinct
126105         and can be run together into a single paragraph.
126106         * m4/same.m4 (gl_SAME): Check for pathconf.
126108 2004-01-15  Paul Eggert  <eggert@twinsun.com>
126110         Merge from coreutils.
126112         * lib/posixver.c: Include posixver.h.
126114         * lib/same.c: Include <stdbool.h>, <limits.h>.
126115         (_POSIX_NAME_MAX): Define if not defined.
126116         (MIN): New macro.
126117         (same_name): If file names are silently truncated, report
126118         that the file names are the same if they are the same after
126119         the silent truncation.
126121         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
126122         conversion function.
126123         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
126124         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
126125         longer needed.
126127 2004-01-15  Jim Meyering  <jim@meyering.net>
126129         Merge from coreutils.
126131         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
126132         if no library is required.
126133         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
126134         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
126135         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
126136         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
126137         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
126138         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
126139         value, $ac_cv_search_crypt, if it's "none required".
126140         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
126141         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
126142         not gl_FUNC_GETLOADAVG.
126143         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
126144         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
126146 2004-01-15  Jim Meyering  <jim@meyering.net>
126148         Merge from coreutils.
126150         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
126151         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
126152         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
126154         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
126155         optional configure-time default.
126157         * lib/version-etc.c (version_etc_copyright): Update copyright date.
126159         * lib/xreadlink.c (xreadlink): Correct outdated comment.
126161 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
126163         Merge from coreutils.
126165         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
126166         value, $ac_cv_search_nanosleep, if it's "none required".
126168 2004-01-14  Paul Eggert  <eggert@twinsun.com>
126170         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
126171         with like-named macro in fnmatch.c.
126172         (EXT): Use an internal constant instead.
126174         Merge fnmatch patches from glibc.
126175         * lib/fnmatch.c (mbsinit): Remove define.
126176         Add libc_hidden_ver (__fnmatch, fnmatch).
126177         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
126178         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
126180 2004-01-14  Karl Berry  <karl@gnu.org>
126182         * config/install-sh: update from automake.
126184 2004-01-13  Karl Berry  <karl@gnu.org>
126186         * config/install-sh: update from automake.
126188 2004-01-09  Karl Berry  <karl@gnu.org>
126190         * config/install-sh: update from automake.
126192 2004-01-05  Karl Berry  <karl@gnu.org>
126194         * config/config.{sub,guess}: update from config.
126196 2003-12-31  Karl Berry  <karl@gnu.org>
126198         * config/depcomp: update from automake.
126200 2003-12-14  Karl Berry  <karl@gnu.org>
126202         * lib/config.charset: update from gettext-runtime.
126204 2003-12-03  Paul Eggert  <eggert@twinsun.com>
126206         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
126207         Bug reported by Alfred M. Szmidt.
126209 2003-12-03  Bruno Haible  <bruno@clisp.org>
126211         * m4/gettext.m4: Upgrade from gettext-0.13.
126212         * m4/po.m4: Upgrade from gettext-0.13.
126213         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
126214         * m4/intmax.m4: New file, from gettext-0.13.
126215         * m4/printf-posix.m4: New file, from gettext-0.13.
126217 2003-11-29  Karl Berry  <karl@gnu.org>
126219         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
126221 2003-11-25  Paul Eggert  <eggert@twinsun.com>
126222             Bruno Haible  <bruno@clisp.org>
126224         * lib/printf-parse.h: Don't include sys/types.h.
126225         (ARG_NONE): New macro.
126226         (char_directive): Change type of *arg_index fields to size_t.
126227         * lib/printf-parse.c: Don't include sys/types.h.
126228         (SSIZE_MAX): Remove macro.
126229         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
126230         Remove unnecessary overflow check.
126231         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
126232         fields.
126234 2003-11-25  Bruno Haible  <bruno@clisp.org>
126236         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
126238 2003-11-25  Bruno Haible  <bruno@clisp.org>
126240         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
126241         gt_TYPE_SSIZE_T.
126243 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126245         * modules/alloca: Remove dependency on xalloc.
126247 2003-11-24  Paul Eggert  <eggert@twinsun.com>
126249         * lib/alloca.c: Remove dependency on xalloc module.
126250         (xalloc_die): Remove.
126251         (memory_full) [!defined emacs]: New macro.
126252         [!defined emacs]: Don't include xalloc.h.
126253         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
126254         address arithmetic overflows.  Change datatypes a bit to avoid
126255         unnecessary casts.
126257 2003-11-22  Jim Meyering  <jim@meyering.net>
126259         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
126260         s/size/size_t/.
126262 2003-11-21  Karl Berry  <karl@gnu.org>
126264         * config/config.{sub,guess}: update from config.
126266 2003-11-18  Karl Berry  <karl@gnu.org>
126268         * config/config.{sub,guess}: update from config.
126270         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
126272 2003-11-17  Paul Eggert  <eggert@twinsun.com>
126274         * README: Mention that S+T cannot overflow if S is the size of
126275         an existing object and T is sufficiently small.
126277 2003-11-17  Jim Meyering  <jim@meyering.net>
126279         On systems without utime and without a utimes function capable of
126280         dealing with a NULL struct utimbuf* argument, this utime replacement
126281         could -- in unusual circumstances -- leak a file descriptor.
126282         * lib/utime.c: Include <unistd.h> and <errno.h>.
126283         (utime_null): Be sure to close `fd' and to preserve errno.
126284         Reported by Geoff Collyer via Arnold Robbins.
126286 2003-11-17  Bruno Haible  <bruno@clisp.org>
126288         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
126289         (Depends-on): Add xsize.
126291 2003-11-17  Bruno Haible  <bruno@clisp.org>
126293         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
126295 2003-11-17  Bruno Haible  <bruno@clisp.org>
126297         * lib/vasnprintf.c (alloca): Remove fallback definition.
126298         (freea): Remove definition.
126299         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
126300         Reported by Paul Eggert.
126302 2003-11-16  Paul Eggert  <eggert@twinsun.com>
126303             Bruno Haible  <bruno@clisp.org>
126305         Protect against address arithmetic overflow.
126306         * lib/printf-args.h: Include stddef.h.
126307         (arguments): Change type of field 'count' to size_t.
126308         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
126309         'unsigned int' where appropriate.
126310         * lib/printf-parse.h: Include sys/types.h.
126311         (char_directive): Change type of *arg_index fields to ssize_t.
126312         (char_directives): Change type of fields 'count', max_*_length to
126313         size_t.
126314         * lib/printf-parse.c: Include sys/types.h and xsize.h.
126315         (SSIZE_MAX): Define fallback value.
126316         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
126317         instead of 'int' where appropriate. Check a_allocated, d_allocated
126318         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
126319         * lib/vasnprintf.c: Include xsize.h.
126320         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
126321         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
126322         overflow. Avoid wraparound when converting a width or precision from
126323         decimal to binary.
126325 2003-11-16  Bruno Haible  <bruno@clisp.org>
126327         Update from GNU gettext.
126328         * lib/printf-parse.c: Generalize to it can be compiled for wide
126329         strings.
126330         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
126331         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
126332         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
126333         SNPRINTF): New macros.
126334         Don't include <alloca.h> if the file is used inside libintl.
126335         (local_wcslen): New function, for Solaris 2.5.1.
126336         (VASNPRINTF): Use it instead of wcslen.
126338 2003-11-16  Bruno Haible  <bruno@clisp.org>
126340         * lib/xsize.h (xmax): New function.
126341         (xsum, xsum3, xsum4): Declare as "pure" functions.
126343 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126345         * modules/xalloc (Files): Undo latest change, since xalloc.h
126346         no longer needs SIZE_MAX or PTRDIFF_MAX.
126348 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126350         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
126351         gl_PTRDIFF_MAX.
126353 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126355         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
126356         "return", to pacify some unknown compiler.  Problem reported
126357         by Joerg Schilling.
126359 2003-11-12  Paul Eggert  <eggert@twinsun.com>
126361         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
126362         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
126363         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
126364         heuristic is just as accurate as far as we know, and it removes a
126365         dependency on size_max.m4 and ptrdiff_max.m4.
126367 2003-11-11  Bruno Haible  <bruno@clisp.org>
126369         * modules/xsize (Files): Add m4/size_max.m4.
126370         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
126372 2003-11-11  Bruno Haible  <bruno@clisp.org>
126374         * m4/size_max.m4: New file.
126375         * m4/ptrdiff_max.m4: New file.
126376         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
126377         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
126378         (gl_XALLOC): Invoke it.
126380 2003-11-11  Bruno Haible  <bruno@clisp.org>
126382         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
126383         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
126384         defined.
126386 2003-11-10  Paul Eggert  <eggert@twinsun.com>
126388         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
126389         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
126390         rejected some allocations of exactly SIZE_MAX - 2 bytes.
126391         From Bruno Haible.
126392         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
126393         not (size_t) -1, since it's defined here.
126395 2003-11-09  Karl Berry  <karl@gnu.org>
126397         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
126399 2003-11-06  Paul Eggert  <eggert@twinsun.com>
126401         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
126402         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
126403         Reject sizes of exactly SIZE_MAX bytes.
126404         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
126405         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
126407 2003-11-05  Bruno Haible  <bruno@clisp.org>
126409         * lib/xsize.h: Include limits.h, to avoid a possible collision with
126410         SIZE_MAX defined in <limits.h> on Solaris.
126412 2003-11-04  Jim Meyering  <jim@meyering.net>
126414         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
126415         variable names, rather than @VAR@.
126416         * modules/poll: Likewise.
126418 2003-11-04  Bruno Haible  <bruno@clisp.org>
126420         * modules/xsize: New file.
126421         * modules/linebreak: Depend on xsize.
126422         * MODULES.html.sh (func_all_modules): Add xsize.
126424 2003-11-04  Bruno Haible  <bruno@clisp.org>
126426         * m4/xsize.m4: New file.
126428 2003-11-04  Bruno Haible  <bruno@clisp.org>
126430         * lib/xsize.h: New file.
126431         * lib/linebreak.c: Include xsize.h.
126432         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
126433         argument for overflow.
126434         Suggested by Paul Eggert.
126436 2003-11-03  Karl Berry  <karl@gnu.org>
126438         * config/config.{guess,sub}: update from config.
126440 2003-11-03  Jim Meyering  <jim@meyering.net>
126442         * modules/userspec (lib_SOURCES): Add userspec.h.
126443         (Include): Add "userspec.h".
126444         Improve description.
126446 2003-11-03  Jim Meyering  <jim@meyering.net>
126448         * lib/userspec.c: Include "userspec.h".
126449         * lib/userspec.h: New file.
126451 2003-11-03  Bruno Haible  <bruno@clisp.org>
126453         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
126455 2003-11-03  Bruno Haible  <bruno@clisp.org>
126457         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
126458         available, to avoid (extremely rare) race condition.
126459         Suggested by Paul Eggert.
126461 2003-11-02  Karl Berry  <karl@gnu.org>
126463         * config/srclist.txt (vasprintf.c): sync broken, sigh.
126465 2003-10-31  Paul Eggert  <eggert@twinsun.com>
126467         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
126468         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
126469         (read_filesystem_list): Set and use me_type_malloced.
126470         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
126471         whatever the type happens to be), for brevity and consistency.
126472         Check for size calculation overflow on Alphas running OSF/1.
126474 2003-10-31  Jim Meyering  <jim@meyering.net>
126476         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
126478         * lib/linebuffer.c: Include <string.h> for declaration of memset.
126480 2003-10-30  Paul Eggert  <eggert@twinsun.com>
126481             Bruno Haible  <bruno@clisp.org>
126483         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
126484         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
126486 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
126488         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
126489         netbsd*-gnu*.  Suggested by Robert Millan.
126491 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126493         * modules/group-member: Depend on stdbool.
126495 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126497         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
126499 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126501         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
126502         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
126503         after the 'gnu' in these cases.  This fixes some bugs in the
126504         previous change, and is based on suggestions by Robert Millan.
126506 2003-10-29  Paul Eggert  <eggert@twinsun.com>
126508         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
126509         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
126510         no longer needed.
126511         * lib/quotearg.c (quotearg_n_options): Use it.
126512         * lib/group-member.c: Include <stdbool.h>.
126513         (free_group_info): Arg is now const *; don't free arg.
126514         (get_group_info): Now returns bool and accepts struct group_info *,
126515         rather than returning a malloc'ed struct group_info *.
126516         All uses changed.  Check for overflow in internal size calculation.
126518         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
126519         rather than xmalloc/xrealloc.
126520         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
126521         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
126522         conformance bug: the old code used a pointer after freeing the
126523         storage that it addressed.
126524         * lib/hash.c (hash_initialize): Simplify the code by using
126525         xalloc_oversized rather than doing it by hand.
126526         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
126527         the buffer preserved.  Use free and xmalloc instead.
126528         * lib/quotearg.c (quotearg_n_options): Likewise.
126529         Use a simpler test for size overflow.  Don't use xalloc_oversized
126530         because unsigned int might be wider than size_t (!); this suggests
126531         that we should switch from unsigned int to size_t for slot numbers.
126533 2003-10-28  Paul Eggert  <eggert@twinsun.com>
126535         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
126536         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
126537         NetBSD kernels.  Requested by Richard Stallman.
126539 2003-10-27  Paul Eggert  <eggert@twinsun.com>
126541         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
126542         to allocate the returned structure.  Do not allocate a subarray,
126543         as x2nrealloc will do that.
126544         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
126545         instead of xnrealloc.
126546         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
126548 2003-10-27  Bruno Haible  <bruno@clisp.org>
126550         * lib/stdbool_.h: Better support for BeOS.
126552 2003-10-26  Paul Eggert  <eggert@twinsun.com>
126554         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
126555         now uses inline.
126557 2003-10-26  Paul Eggert  <eggert@twinsun.com>
126559         * lib/xalloc.h (xalloc_oversized): New static inline function, for
126560         callers that want to do their own size-overflow checking.  Include
126561         <stdbool.h>, since xalloc_oversized returns bool.
126562         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
126563         to use xalloc_oversized.
126565         Add two functions x2realloc, x2nrealloc, for programs that grow
126566         arrays dynamically by doubling their sizes.
126567         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
126568         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
126569         New functions.
126571         Port to C99 semantics for 'inline' of external functions.
126572         Bug reported by Bruno Haible.
126573         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
126574         with the old contents of xnmalloc.
126575         (xnmalloc, xmalloc): Use it.
126576         (xnrealloc_inline): New static inline function,
126577         with the old contents of xnrealloc.
126578         (xnrealloc, xrealloc): Use it.
126580         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
126581         that.
126583 2003-10-26  Karl Berry  <karl@gnu.org>
126585         * config/srclist.txt (COPYING.DOC): no longer available from
126586         /gd/gnuorg; don't know where the ultimate source is.
126588 2003-10-25  Paul Eggert  <eggert@twinsun.com>
126590         Fix several address-calculation bugs in the hash modules,
126591         plus some minor code cleanup.
126593         * lib/hash.h: Include <stdbool.h>, for bool.
126594         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
126595         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
126596         hash_get_n_entries, hash_get_max_bucket_length,
126597         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
126598         hash_rehash): Use size_t rather than unsigned.
126599         * lib/hash.c (struct hash_table, hash_get_n_buckets,
126600         hash_get_n_buckets_used, hash_get_n_entries,
126601         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
126602         hash_get_entries, hash_do_for_each, hash_string, is_prime,
126603         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
126604         Likewise.
126605         (SIZE_MAX): Define if not defined.
126606         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
126607         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
126608         hash_print):
126609         Use const * when possible.
126610         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
126611         (check_tuning): Fix bug: if tuning parameters were very close to
126612         0 or 1, rounding errors could have caused subscript violations.
126613         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
126614         (hash_initialize): Add 'fail:' label
126615         to free table and return NULL, and use it to simplify code.
126616         Use calloc rather than clearing the storage ourself.
126617         (hash_initialize, hash_rehash): Check for arithmetic overflow in
126618         buffer size calculations.
126619         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
126620         Include <stddef.h>, for size_t.
126621         * lib/hash-pjw.c (hash_pjw): Likewise.
126622         Switch to method described by Bruno Haible.
126623         Include <limits.h>, for CHAR_BIT.
126624         (SIZE_BITS): New macro.
126626 2003-10-23  Paul Eggert  <eggert@twinsun.com>
126628         * m4/getline.m4 (AM_FUNC_GETLINE):
126629         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
126630         hosts.  Problem reported by Derek Robert Price in
126631         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
126632         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
126633         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
126635 2003-10-21  Paul Eggert  <eggert@twinsun.com>
126637         * lib/getndelim2.c (getndelim2): When size calculation overflows,
126638         ceiling the allocation at NMAX bytes rather than silently
126639         discarding input bytes before NMAX is reached.  This makes
126640         a difference only if NMAX exceeds SIZE_MAX / 2.
126642         * lib/obstack.c: Merge from glibc.
126643         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
126644         Add libc_hidden_def (_obstack_newchunk).
126645         (_obstack_free) [! defined _LIBC]: Remove.
126646         [defined _LIBC]: Make a strong alias from obstack_free, rather than
126647         a clone of the function body.
126648         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
126649         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
126651         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
126652         glibc.
126653         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
126654         arg to memcpy.
126656         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
126657         (obstack_ptr_grow_fast, obstack_int_grow_fast):
126658         Don't use lvalue casts, as GCC plans to remove support for them
126659         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
126660         was also present in the non-GCC version, indicating that this
126661         code had always been buggy and had never been widely used.
126662         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
126663         Use the fast variant of each macro, rather than copying the
126664         definiens of the fast variant; that way, we'll be more likely to
126665         catch future bugs in the fast variants.
126667 2003-10-20  Bruno Haible  <bruno@clisp.org>
126669         * modules/wait-process: New file.
126670         * MODULES.html.sh (func_all_modules): Add wait-process.
126672 2003-10-20  Bruno Haible  <bruno@clisp.org>
126674         * m4/wait-process.m4: New file.
126676 2003-10-20  Bruno Haible  <bruno@clisp.org>
126678         * lib/wait-process.h: New file, from GNU gettext.
126679         * lib/wait-process.c: New file, from GNU gettext.
126681 2003-10-19  Jim Meyering  <jim@meyering.net>
126683         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
126684         HPUX 10.20.
126686 2003-10-18  Karl Berry  <karl@gnu.org>
126688         * config/config.guess: update from config.
126690 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126692         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
126693         (getgroups): First arg is int, not size_t.
126694         Don't let 'free' mangle errno.
126696 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126698         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
126700 2003-10-16  Karl Berry  <karl@gnu.org>
126702         * config/config.{guess,sub}: update from config.
126704 2003-10-16  Jim Meyering  <jim@meyering.net>
126706         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
126707         memcpy.
126709 2003-10-15  Paul Eggert  <eggert@twinsun.com>
126711         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
126712         (SIZE_MAX): Remove.
126713         (new_exclude, add_exclude_file): Initial size no longer needs to
126714         be a power of 2.
126715         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
126716         our own address arithmetic overflow checking.
126718         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
126719         (fnmatch): Do not alloca more than 2000 wide characters;
126720         instead, use malloc for large buffers.
126721         Check for address arithmetic overflow, and return -1
126722         with errno set to ENOMEM in that case.
126723         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
126724         (NEW_PATTERN): Do not alloca more than 8000 bytes;
126725         instead, return -1.  Check for address arithmetic overflow.
126727 2003-10-14  Paul Eggert  <eggert@twinsun.com>
126729         Handle invalid suffixes and overflow independently, so that
126730         callers can treat them independently as needed.  Fix some bugs in
126731         suffix handling, e.g., "100k@" was not diagnosed as an invalid
126732         suffix for a human-readable blocksize.  The major caller-visible
126733         change is the addition of a new
126734         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
126735         that both overflow and suffix chars were found.
126737         * lib/human.c (humblock): Don't check separately for invalid suffix
126738         char; that is xstrtoumax's job (now that its bug is fixed).
126739         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
126740         INTMAX_MAX]: New macros.
126741         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
126742         TYPE_MAXIMUM): New macros.
126743         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
126744         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
126745         if overflow occurs, as it's what __strtol does and it's more useful
126746         in practice.
126747         (__xstrtol): If __strtol reports some error other than ERANGE,
126748         reflect it to the caller as LONGINT_INVALID.  If it reports
126749         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
126750         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
126751         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
126752         value.
126753         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
126754         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
126755         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
126756         [defined UINTMAX_MAX]: New macros.
126758 2003-10-14  Bruno Haible  <bruno@clisp.org>
126760         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
126762 2003-10-14  Bruno Haible  <bruno@clisp.org>
126764         * m4/sig_atomic_t: New file, from GNU gettext.
126765         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
126767 2003-10-14  Bruno Haible  <bruno@clisp.org>
126769         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
126770         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
126771         Also use volatile where needed.
126773 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126775         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
126776         Change maintainer from Bruno Haible to 'all'.
126778 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126780         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
126782 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126784         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
126785         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
126786         and define in terms of the other primitives.
126787         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
126788         (SIZE_MAX): Define if not already defined.
126789         (array_size_overflow): New function.
126790         (xalloc_die): Abort instead of exiting if 'error' returns.
126791         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
126792         (xmalloc, xrealloc): Use them.
126793         (xcalloc): Check for address arithmetic overflow.
126794         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
126795         a bit faster than strcpy.
126797 2003-10-10  Simon Josefsson  <jas@extundo.com>
126799         * modules/argp (Depends-on): Add restrict and strcase.
126801 2003-10-10  Simon Josefsson  <jas@extundo.com>
126803         * m4/argp.m4: Add AC_C_INLINE.
126805 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126807         Merge getpass from libc, plus a few fixes.
126809         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
126810         Include <stdbool.h>.
126811         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
126812         __fsetlocking to empty.
126813         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
126814         do include <bits/libc-lock.h>.
126815         Do not include <fcntl.h>; not needed.
126816         [_LIBC]: Include <wchar.h>.
126817         (NOTCANCEL_MODE): New macro.
126818         (flockfile, funlockfile) [_LIBC]: New macros.
126819         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
126820         [!_LIBC]: New macros.
126821         (call_fclose): New function.
126822         (getpass): Use it.  Save tty stream separately; this simplifies the
126823         code and makes it more reliable if stdin happens to equal stdout.
126824         Invoke __fsetlocking on tty.
126825         Handle thread cancellation if needed.
126826         Namespace cleanup (use __tcgetattr, __getline).
126827         Use bool for Booleans.
126828         [USE_IN_LIBIO]: Handle wide streams.
126829         [!_LIBC]: Unconditionally do the fseek, since we don't know what
126830         stream might go where.
126832         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
126833         doesn't have to include <stdio.h> before us.
126834         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
126835         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
126836         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
126837         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
126838         if not declared, so that we can use getpass.c code from libc without
126839         rewriting it.
126840         (flockfile, ftrylockfile, funlockfile): New macros.
126842 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126844         * modules/getpass: Depend on stdbool.
126846 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126848         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
126850 2003-10-07  Karl Berry  <karl@gnu.org>
126852         * config/config.{guess,sub}: update from config.
126854 2003-10-06  Jim Meyering  <jim@meyering.net>
126855             Bruno Haible  <bruno@clisp.org>
126857         This lets translators provide better translations for the
126858         "Written by ..." part of --version output.
126859         * lib/version-etc.h: Include stdarg.h.
126860         (version_etc_copyright): Declare as readonly.
126861         (version_etc): Make this function variadic with a NULL-terminated list
126862         of author name strings.
126863         (version_etc_va): New declaration.
126864         * lib/version-etc.c: Include stdarg.h, stdlib.h.
126865         (version_etc_copyright): Declare as readonly.
126866         (version_etc_va): New function. Provide a different translatable string
126867         for each possible number of authors < 10. Abbreviate when there are 10
126868         authors or more.
126869         (version_etc): Make this function variadic. Call version_etc_va.
126870         Suggestion from Gary V. Vaughan.
126872         * lib/long-options.h (parse_long_options): Change prototype: the
126873         authors string is moved to the end and becomes variadic.
126874         * lib/long-options.c: Include stdarg.h.
126875         (parse_long_options): Make this function variadic, too.
126876         Call version_etc_va, not version_etc.
126878 2003-10-06  Bruno Haible  <bruno@clisp.org>
126880         * modules/version-etc-2: Remove file.
126881         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
126883 2003-10-06  Bruno Haible  <bruno@clisp.org>
126885         * modules/fatal-signal: New file.
126886         * MODULES.html.sh (func_all_modules): Add fatal-signal.
126888 2003-10-06  Bruno Haible  <bruno@clisp.org>
126890         * m4/fatal-signal.m4: New file.
126891         * m4/signalblocking.m4: New file, from GNU gettext.
126893 2003-10-06  Bruno Haible  <bruno@clisp.org>
126895         * lib/version-etc-2.h: Remove file.
126896         * lib/version-etc-2.c: Remove file.
126898 2003-10-06  Bruno Haible  <bruno@clisp.org>
126900         * lib/fatal-signal.h: New file, from GNU gettext.
126901         * lib/fatal-signal.c: New file, from GNU gettext.
126903 2003-10-05  Paul Eggert  <eggert@twinsun.com>
126905         * README: Rework advice for preventing empty .o files.
126906         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
126907         not <sys/types.h>.
126909 2003-10-04  Karl Berry  <karl@gnu.org>
126911         * lib/argp*: update from libc.
126913 2003-10-04  Karl Berry  <karl@gnu.org>
126915         * config/config.{guess,sub}: update from config.
126917 2003-10-02  Bruno Haible  <bruno@clisp.org>
126919         * modules/lchown (Include): Add lchown.h.
126920         * modules/time_r (Include): Use "..." syntax.
126921         * modules/xgetdomainname (Include): Add xgetdomainname.h.
126923 2003-10-01  Simon Josefsson  <jas@extundo.com>
126925         * MODULES.html.sh (func_all_modules): Move gethostname from section
126926         'based on' to section 'lacking' POSIX:2001.
126928 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
126930         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
126931         to output mode on the same stream.
126933 2003-09-29  Paul Eggert  <eggert@twinsun.com>
126935         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
126936         Fix arg typo in previous patch.
126938 2003-09-28  Jim Meyering  <jim@meyering.net>
126940         * lib/error.c: Correct cpp indentation.
126942 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126944         * modules/free: New file.
126946 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126948         * m4/free.m4: New file.
126950 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126952         * lib/minmax.h (MIN, MAX)
126953         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
126954         Omit the special code that used __typeof__, since we worry that
126955         it could be more trouble than it's worth.  See:
126956         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
126957         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
126959         * lib/free.c: New file.
126961 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
126963         Trivial fixes to Makefile.am parts of module listings.
126964         * modules/strstr: Append strstr.h to lib_SOURCES.
126965         * modules/strcase: Likewise, for strcase.h.
126967 2003-09-27  Karl Berry  <karl@gnu.org>
126969         * config/mkinstalldirs: update from automake.
126971 2003-09-26  Paul Eggert  <eggert@twinsun.com>
126973         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
126974         (error_tail): Do not loop, reallocating temporary buffer, since
126975         the output cannot contain more wide characters than the input
126976         contains bytes, the size must be big enough already.  This avoids
126977         one potential size overflow calculation.  Check for size overflow
126978         when calculating temporary buffer size.  Free temporary buffer
126979         when done, if it was allocated with malloc; this plugs a memory
126980         leak.  Remove casts from void * to pointers, that are no longer
126981         needed now that we're assuming C89 or better.
126983         Merge error changes from glibc.
126985         * lib/error.c, error.h: Update copyright notice header to match glibc.
126986         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
126987         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
126988         Disable cancellation while printing error.
126989         * lib/error.h: Prepend __ to parameter names.
126991 2003-09-26  Jim Meyering  <jim@meyering.net>
126993         * lib/error.c (error_tail): Move some declarations
126994         into inner scope where the local variables are used.
126996 2003-09-26  Bruno Haible  <bruno@clisp.org>
126998         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
126999         stpncpy().
127000         Don't define stpncpy through config.h; it's now done through stpncpy.h.
127002 2003-09-26  Bruno Haible  <bruno@clisp.org>
127004         * lib/stpncpy.h (gnu_stpncpy): New declaration.
127005         (stpncpy): Define as alias for gnu_stpncpy.
127006         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
127008 2003-09-25  Simon Josefsson  <jas@extundo.com>
127010         * lib/xgetdomainname.h: New file.
127011         * lib/xgetdomainname.c: New file.
127013 2003-09-25  Simon Josefsson  <jas@extundo.com>
127014             Bruno Haible  <bruno@clisp.org>
127016         * modules/getdomainname: New file.
127017         * modules/xgetdomainname: New file.
127018         * MODULES.html.sh (func_all_modules): Add getdomainname,
127019         xgetdomainname.
127021 2003-09-25  Simon Josefsson  <jas@extundo.com>
127022             Bruno Haible  <bruno@clisp.org>
127024         * m4/getdomainname.m4: New file.
127026 2003-09-25  Simon Josefsson  <jas@extundo.com>
127027             Bruno Haible  <bruno@clisp.org>
127029         * lib/getdomainname.h: New file.
127030         * lib/getdomainname.c: New file.
127032 2003-09-25  Karl Berry  <karl@gnu.org>
127034         * lib/argp-fmtstream.c, argp-help.c: update from libc.
127036 2003-09-25  Karl Berry  <karl@gnu.org>
127038         * config/install-sh: update from automake.
127040 2003-09-25  Bruno Haible  <bruno@clisp.org>
127042         * modules/version-etc-2: New file, from modules/version-etc with
127043         modifications.
127044         * MODULES.html.sh (func_all_modules): Add version-etc-2.
127046 2003-09-25  Bruno Haible  <bruno@clisp.org>
127048         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
127049         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
127051 2003-09-24  Simon Josefsson  <jas@extundo.com>
127053         * modules/xgethostname: Add xgethostname.h.
127055 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127057         * lib/linebuffer.c (freebuffer): Don't free the argument, just
127058         the buffer associated with the argument.  Bug reported by
127059         Simon Josefsson.
127061 2003-09-24  Paul Eggert  <eggert@twinsun.com>
127063         * README: Document assumptions that 'int' is at least 32 bits
127064         wide, that integer arithmetic is 2's complement without overflow,
127065         that there are no holes in integer values, that adding sizes of
127066         two nonoverlapping objects can't overflow, and that all-bits-zero
127067         yields scalar zero.  Fix spelling and capitalization typos.
127069 2003-09-19  Karl Berry  <karl@gnu.org>
127071         * lib/argp.h: update from libc.
127073 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127075         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
127076         to avoid spurious warnings like "AC_RUN_IFELSE was called before
127077         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
127079 2003-09-17  Paul Eggert  <eggert@twinsun.com>
127081         * gnulib-tool: Use "test -h", not "test -L", for portability
127082         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
127083         (tags_regexp): Remove, since \| doesn't conform to POSIX.
127084         (sed_extract_prog): Issue s commands one-by-one, rather than
127085         using \| in one s command.
127087 2003-09-16  Paul Eggert  <eggert@twinsun.com>
127089         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
127090         input error, instead of returning NULL the next time we are called
127091         (and therefore losing track of errno).
127093 2003-09-16  Bruno Haible  <bruno@clisp.org>
127095         * gnulib-tool (func_create_testdir): Warn about duplicated
127096         dependencies.
127098 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127100         * modules/argmatch, modules/fatal, modules/obstack,
127101         modules/xalloc, modules/xgethostname: Sort dependencies by
127102         importance, not alphabetically.
127104 2003-09-15  Paul Eggert  <eggert@twinsun.com>
127106         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
127107         fails, so that the caller gets the proper errno.
127109         * lib/readutmp.c (read_utmp): Likewise.
127110         Check for fstat error.  Close stream and free storage
127111         when failing.
127113 2003-09-14  Karl Berry  <karl@gnu.org>
127115         * config/srclist.txt (strdup.c): disable for c89 changes.
127117 2003-09-14  Jim Meyering  <jim@meyering.net>
127119         * lib/getloadavg.c: Correct cpp indentation.
127120         * lib/strdup.c: Likewise.
127121         * lib/vasnprintf.c: Likewise.
127123 2003-09-14  Bruno Haible  <bruno@clisp.org>
127125         * modules/fwriteerror: New file.
127126         * MODULES.html.sh (func_all_modules): Add fwriteerror.
127128 2003-09-14  Bruno Haible  <bruno@clisp.org>
127130         * lib/fwriteerror.h: New file.
127131         * lib/fwriteerror.c: New file.
127133 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127135         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
127136         modules/xgethostname, modules/xalloc: Depend on exit.
127138 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127140         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
127142         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
127143         and AC_MINIX, too, so that their extensions are available.
127145         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
127146         This macro has been superseded by gl_BACKUPFILE.
127148         More patches to assume C89 or better.
127150         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
127152         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
127153         unconditionally.
127154         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
127155         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
127156         Include <string.h>, <stdlib.h> unconditionally.
127157         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
127158         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
127159         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
127160         headers or for string.h.
127161         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
127162         or strtoul.
127164         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
127165         headers.
127166         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
127167         * m4/userspec.m4 (gl_USERSPEC): Likewise.
127168         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
127169         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
127170         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
127171         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
127172         memcpy, memset.
127173         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
127174         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
127175         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
127176         strtol.
127177         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
127178         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
127179         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
127180         strtoul.
127182 2003-09-12  Paul Eggert  <eggert@twinsun.com>
127184         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
127185         * lib/obstack.c [!defined _LIBC]: Likewise.
127186         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
127187         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
127188         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
127190         More changes to assume C89 or better.
127192         * lib/error.c (error_tail): Assume vprintf.
127194         * lib/argmatch.c (getenv): Remove decl.
127195         * lib/progreloc.c (get_full_program_name): Define via prototype.
127196         * lib/setenv.c (clearenv): Likewise.
127197         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
127198         needed.
127199         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
127200         (malloc, memcpy): Remove decls.
127201         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
127202         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
127203         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127204         (memcpy): Remove macro.
127205         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
127206         (__P): Remove.  All uses removed.
127207         (PTR): Remove.  All uses changed to void *.
127208         (CHAR_BIT, NULL): Remove.
127209         (spaces, zeros, memset_space, memset_zero)
127210         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
127211         Remove.
127212         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
127213         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
127214         Define with prototype.
127215         Remove now-unnecessary prototype decl.
127216         (extra_args_spec): Assume ANSI C.  All uses changed.
127217         (extra_args_spec_iso): Remove.
127218         (my_strftime, emacs_strftimeu): Define via prototype.
127219         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
127220         unconditionally.
127221         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
127222         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
127223         (strtoul, strtol): Remove decls.
127224         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
127225         LONG_MAX): Remove.
127226         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
127227         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
127228         (LOCALE_PARAM_PROTO): New macro.
127229         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
127230         (INTERNAL (strtol), strtol): Define with a prototype.
127231         (PARAMS): Remove.  All uses removed.
127232         * lib/tempname.c: Include <string.h> unconditionally.
127233         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
127234         * lib/xgethostname.c (main): Define with a prototype.
127235         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
127236         Include <stdlib.h> unconditionally.
127237         (calloc, malloc, realloc, free): Remove decls.
127238         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
127239         Include <stdlib.h> unconditionally.  Sort include file names.
127240         (strtod): Remove.
127241         (xstrtod): Define with a prototype.
127242         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
127243         (strtol, strtoul): Remove decls.
127245 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127247         More patches to assume C89 or better.
127248         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
127249         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
127250         string.h, memchr, STDC_HEADERS.
127252 2003-09-11  Paul Eggert  <eggert@twinsun.com>
127254         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
127255         Include <stdlib.h>, <string.h> unconditionally.
127256         Remove now-unnecessary cast to char *.
127257         * lib/strnlen.c: Include <string.h> unconditionally.
127258         * lib/yesno.c (yesno): Define with a prototype.
127260 2003-09-11  Bruno Haible  <bruno@clisp.org>
127262         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
127264 2003-09-10  Jim Meyering  <jim@meyering.net>
127266         * lib/error.c: Correct indentation of cpp directives.
127268 2003-09-10  Bruno Haible  <bruno@clisp.org>
127270         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
127271         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
127272         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
127273         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
127274         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
127275         <stdlib.h> and <string.h> checks.
127276         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
127277         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
127279 2003-09-10  Bruno Haible  <bruno@clisp.org>
127281         * lib/strcspn.c: Include <string.h> unconditionally.
127282         * lib/strpbrk.c: Include <string.h> unconditionally.
127283         * lib/strstr.c: Include <string.h> unconditionally.
127284         * lib/unicodeio.c: Include <string.h> unconditionally.
127285         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
127286         * lib/unsetenv.c: Likewise.
127287         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
127288         * lib/yesno.c: Include <stdlib.h> unconditionally.
127289         (rpmatch): Add prototype.
127291 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127293         More patches to assume C89 or better.
127294         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
127295         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
127296         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
127297         or for string.h.
127298         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
127299         stdlib.h.
127300         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
127301         C headers.
127302         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
127303         string.h.
127304         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
127305         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
127306         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
127307         or for string.h.
127308         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
127309         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
127310         C headers.
127311         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
127312         memcpy.
127313         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
127314         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
127315         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
127316         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
127317         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
127318         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
127319         string.h, free.
127320         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
127321         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
127322         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
127323         C headers, or for string.h.
127324         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
127325         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
127326         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
127327         headers, memory.h, stdlib.h, string.h, strings.h.
127328         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
127329         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
127330         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
127331         strchr.
127332         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
127333         headers, memory.h, string.h.
127334         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
127335         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
127336         free.
127337         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
127338         headers.
127339         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
127340         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
127341         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
127342         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
127343         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
127345 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127347         More K&R removal.
127349         * lib/acosl.c (main): Use a prototype.
127350         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
127351         tanl.c: Likewise.
127353         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
127355         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
127356         (getopt, etopt_long, getopt_long_only, _getopt_internal)
127357         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
127358         with a prototype.
127359         * lib/getopt.c (const): Remove macro.
127360         Include <string.h> unconditionally.
127361         (my_index): Remove; all uses changed to strchr.
127362         (strlen): Remove decl.
127363         (exchange): Remove forward decl; no longer needed.
127364         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
127365         Define with prototype.
127366         * lib/getopt1.c (const): Remove macro.
127367         (getopt_long, getopt_long_only, main): Define with prototype.
127369         * lib/getugroups.c: Include <string.h> unconditionally.
127371         * lib/getusershell.c: Include <stdlib.h> unconditionally.
127372         (getusershell, setusershell, endusershell, readname, main):
127373         Define with prototypes.
127375         * lib/group-member.c: Include group-member.h first.
127376         Include <stdlib.h> unconditionally.
127378         * lib/hard-locale.c: Include hard-locale.h first.
127379         Include <stdlib.h>, <string.h> unconditionally.
127381         * lib/hash.c (free, malloc): Remove decls.
127382         Include <stdlib.h> unconditionally.
127384         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
127385         (getenv): Do not declare.
127387         * lib/idcache.c: Include <string.h> unconditionally.
127389         * lib/long-options.c: Include long-options.h first, to test interface.
127390         Include <stdlib.h> unconditionally.
127392         * lib/makepath.c: Include makepath.h first, to test interface.
127393         Include <stdlib.h> and <string.h> unconditionally.
127395         * lib/linebuffer.c: Include <stdlib.h>.
127396         (free): Remove decl.
127398         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
127399         stddef.h. rpl_malloc returns void *, not char *.
127400         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
127401         prototype.
127403         * lib/md5.h: Include <limits.h> unconditionally.
127404         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
127405         (__P): Remove; all uses removed.
127406         * lib/md5.c: Include "md5.h" first.
127407         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
127408         md5_buffer, md5_process_bytes, md5_process_block):
127409         Define with prototypes.
127410         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
127411         * lib/sha.c: Include "sha.h" first.
127412         Include <stdlib.h>, <string.h> unconditionally.
127414         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
127415         * lib/memcmp.c (__ptr_t): Likewise.
127416         * lib/memrchr.c (__ptr_t): Likewise.
127417         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
127418         Include <string.h> unconditionally.
127419         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
127420         * lib/memchr.c: Include <stdlib.h> unconditionally.
127421         * lib/memchr.c (LONG_MAX): Remove.
127422         * lib/memrchr.c (LONG_MAX): Likewise.
127423         * lib/memchr.c (__memchr): Define via a prototype.
127424         * lib/memrchr.c (__memrchr): Likewise.
127425         * lib/memcmp.c (__P): Remove, and remove all uses.
127426         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
127427         Remove forward decls; no longer needed.
127428         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
127429         Use types required by C89 in prototype.
127431         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
127432         * lib/savedir.c: Likewise.
127433         * lib/mkdir.c (free): Remove decl.
127434         * lib/rmdir.c (rmdir): Define with a prototype.
127435         * lib/savedir.c: Include savedir.h first, to test interface.
127437         * lib/mktime.c (STDC_HEADERS): Remove.
127438         Include <stdlib.h>, <string.h> unconditionally.
127440         * lib/modechange.c: Include <stdlib.h> unconditionally.
127441         (malloc): Remove decl.
127443         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
127444         (free): Remove decl.
127446         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
127447         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
127448         (This type really should be intptr_t, but that's a C99ism.)
127449         (_obstack_memcpy): Remove: all uses changed to memcpy.
127450         Include <string.h> unconditionally.
127451         (struct obstack): Assume __STDC__ for types of members
127452         chunkfun, freefun, extra_arg.
127453         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
127454         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
127455         obstack_begin, obstack_specify_allocation,
127456         obstack_specify_allocation_with_arg, obstack_chunkfun,
127457         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
127458         Remove unprototyped decls and the macros that use them.
127459         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
127460         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
127461         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
127462         (defined __STDC__ && __STDC__)]:
127463         Remove nonprototyped code.
127464         Include <stdlib.h> unconditionally.
127465         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
127466         _obstack_allocated_p, _obstack_free, obstack_free,
127467         _obstack_memory_used, print_and_abort):
127468         Define using prototypes.
127469         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
127470         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
127471         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
127472         obstack_next_free, obstack_object_size, obstack_room) [0]:
127473         Remove unused, unprototyped code.
127475         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
127477         * lib/physmem.c (physmem_total, physmem_available, main): Define
127478         with prototypes.
127480         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
127481         (main): Define with a prototype.
127483         * lib/posixver.c (getenv): Remove decl.
127485         * lib/putenv.c (malloc): Returns void *, not char *.
127486         Include <string.h> unconditionally.
127487         (strchr, memcpy, NULL): Do not define.
127489         * lib/readtokens.c: Include readtokens.h first, to test interface.
127490         Include <stdlib.h>, <string.h> unconditionally.
127491         (init_tokenbuffer): Define with a prototype.
127493         * lib/regex.c (PARAMS): Remove.  All uses removed.
127494         All uses of _RE_ARGS removed, too.
127495         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
127496         unconditionally.
127497         (bzero): Assume memset exists.
127498         (memcmp, memcpy, NULL): Remove.
127499         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
127500         char, or assignments to local vars of type signed char.
127501         (init_syntax_once, PREFIX(extract_number_and_incr),
127502         PREFIX(print_partial_compiled_pattern),
127503         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
127504         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
127505         PREFIX(regex_grow_registers), PREFIX(regex_compile),
127506         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
127507         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
127508         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
127509         wcs_compile_range, byte_compile_range, truncate_wchar,
127510         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
127511         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
127512         count_mbs_length, wcs_re_match_2_internal,
127513         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
127514         PREFIX(alt_match_null_string_p),
127515         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
127516         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
127517         regfree, PREFIX(extract_number)): Define with prototype.  Remove
127518         now-unnecessary declaration, if any.
127519         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
127520         regcomp, regexec):
127521         Remove now-unnecessary casts among pointer types.
127522         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
127524         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
127525         (free): Remove decl.
127527         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
127529         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
127530         (free): Remove decl.
127532         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
127533         * lib/xgetcwd.c: Likewise.
127535         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
127536         (free): Remove decl.
127538         * lib/strchrnul.c (strchrnul): Define with a prototype.
127539         Fix bug: c_in was not converted to char before searching.
127541         The following changes are not K&R related:
127543         * lib/group-member.h: Include <sys/types.h>, so that this file is
127544         self-contained.
127545         * lib/makepath.h: Likewise.
127547         * lib/getusershell.c (readname, default_index, line_size, readname):
127548         Use size_t, not int, for sizes.
127549         (readname): If the size overflows, report an error instead of
127550         looping forever.
127552 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127554         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
127555         libc.
127557 2003-09-09  Paul Eggert  <eggert@twinsun.com>
127559         * README: New section: portability guidelines.
127561 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127563         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
127564         C89 spec.
127566 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127568         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
127570 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127572         Assume C89 or better; remove K&R cruft.
127573         A few of these changes were first proposed by Derek Robert Price
127574         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
127576         * lib/addext.c: Include <string.h> unconditionally.
127577         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
127578         Don't declare getenv or malloc.
127580         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
127581         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
127582         (NULL): Remove.
127583         (find_stack_direction, alloca): Use prototypes.
127585         * lib/atexit.c (atexit): Define using a prototype.
127587         * lib/basename.c, dirname.c, stripslash.c:
127588         Include <string.h> unconditionally.
127590         * lib/bcopy.c: Include <stddef.h>.
127591         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
127593         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
127595         * lib/error.h (error, error_at_line, error_print_progname)
127596         [! (defined (__STDC__) && __STDC__)]: Remove decls.
127597         * lib/error.c: Include error.h first, to check interface.
127598         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127599         (VA_START): Remove; all uses changeed to va_start.
127600         (exit, strerror): Remove decls.
127601         (error_print_progname): Prototype uncondionally.
127602         Don't include <errno.h>; no longer needed.
127603         (private_strerror): Remove.
127604         (error_tail): Always define.
127605         (error, error_at_line): Assume C89 or better; always use prototypes.
127606         * lib/fatal.c: Include "fatal.h" first, to test interface.
127607         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127608         (VA_START): Remove; all uses changed to va_start.
127609         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
127610         this case.
127611         (exit): Remove decl.
127612         (fatal): Prototype unconditionally.  Assume va_start works.
127613         Abort at end, to pacify gcc.
127615         * lib/euidaccess.c (main): Define with a prototype.
127617         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
127619         * lib/exitfail.c: Include <stdlib.h> unconditionally.
127621         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
127622         prototypes.
127623         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
127624         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
127625         (getenv): Remove decl.
127626         (fnmatch): Define using a prototype.
127627         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
127628         (FCT): Define using a prototype.
127630         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
127632         * lib/gethostname.c: Include <stddef.h>.
127633         (gethostname): Define with prototype.  Length is size_t, not int.
127635 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127637         Assume C89 or better; remove K&R cruft.
127638         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
127639         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
127640         string.h, getenv, malloc.
127641         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
127642         headers.
127643         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
127644         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
127645         do not check for strerror.
127646         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
127647         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
127648         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
127649         do not check for doprnt or vprintf.
127650         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
127651         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
127653 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127655         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
127656         getversion.c should have been removed then, but was accidentally
127657         preserved.
127659         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
127660         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
127662 2003-09-08  Karl Berry  <karl@gnu.org>
127664         * config/config.sub, config.guess, srclistvars.sh: update from savannah
127665                 config, forget about prep.
127667         * config/depcomp, missing: update from automake.
127669 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127671         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
127672         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127674 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127676         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
127677         copy_tm_result.  Bug reported by Simon Josefsson in
127678         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127680 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127682         * m4/time_r.m4: New file.
127683         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
127684         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
127685         is. Check for timegm declaration.
127686         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
127687         Do not check for gmtime_r.
127688         Replace mktime if __mktime_internal does not exist and if mktime
127689         hasn't been replaced already.
127691 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127693         * lib/time_r.c, lib/time_r.h: New files.
127695         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
127696         __localtime_r.
127697         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
127698         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
127700         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
127701         __gmtime_r.
127702         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
127703         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
127704         Include <time_r.h>.
127706         * lib/timegm.c: Switch to glibc implementation, with the following
127707         changes:
127708         [defined HAVE_CONFIG_H]: Include <config.h>.
127709         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
127710         (__mktime_internal) [!defined _LIBC]: New decl.
127711         (__gmtime_r) [!defined _LIBC]: New macro and function.
127712         (timegm): Use a prototype, since gnulib assumes C89.
127713         Do not bother declaring tmp to be const, as it's not really usefu.
127714         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
127715         (timegm): Declare only if HAVE_DECL_TIMEGM.
127717 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127719         * MODULES.html.sh (func_all_modules): Add time_r.
127720         * modules/time_r: New file.
127721         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
127722         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
127724 2003-09-03  Paul Eggert  <eggert@twinsun.com>
127726         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
127727         Bug reported by Lute Kamstra in
127728         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
127730         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
127731         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
127732         course with correspondingly smaller numbers for tomorrow and
127733         yesterday.  From Tadayoshi Funaba.  Originally installed into
127734         sh-utils on 1999-08-07, but the patch got lost (I guess during the
127735         coreutils merge?).
127737 2003-08-31  Simon Josefsson  <jas@extundo.com>
127739         * modules/timegm: New file.
127740         * MODULES.html.sh (func_all_modules): Add timegm.
127742 2003-08-31  Simon Josefsson  <jas@extundo.com>
127744         * m4/timegm.m4: New file.
127746 2003-08-31  Simon Josefsson  <jas@extundo.com>
127748         * lib/timegm.h: New file.
127749         * lib/timegm.c: New file.  Based on
127750         wget-1.8.2/src/http.c:mktime_from_utc.
127752 2003-08-31  Karl Berry  <karl@gnu.org>
127754         * lib/argp.h: update from libc.
127756 2003-08-28  Bruno Haible  <bruno@clisp.org>
127758         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
127759         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
127760         followed by '#define fnmatch fnmatch_posix' gives an error.
127762 2003-08-28  Bruno Haible  <bruno@clisp.org>
127764         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
127765         warning on QNX, which defines O_BINARY to 000000.
127767 2003-08-27  Jim Meyering  <jim@meyering.net>
127769         * m4/mkstemp.m4: Require that the system mkstemp be able to create
127770         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
127771         would fail after 32.  Reported by Danny Levinson.  Details here:
127772         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
127774 2003-08-24  Bruno Haible  <bruno@clisp.org>
127776         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
127777         MSVC7 <stdio.h> is included later.
127779 2003-08-22  Simon Josefsson  <jas@extundo.com>
127781         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
127783 2003-08-20  Karl Berry  <karl@gnu.org>
127785         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
127787 2003-08-20  Bruno Haible  <bruno@clisp.org>
127789         * modules/progname: New file.
127790         * MODULES.html.sh (func_all_modules): Add progname.
127792 2003-08-20  Bruno Haible  <bruno@clisp.org>
127794         * lib/progname.h: New file, from GNU gettext.
127795         * lib/progname.c: New file, from GNU gettext.
127796         * lib/progreloc.c: New file, from GNU gettext.
127798 2003-08-19  Jim Meyering  <jim@meyering.net>
127800         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
127801         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
127803 2003-08-19  Bruno Haible  <bruno@clisp.org>
127805         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
127806         more.
127808 2003-08-19  Bruno Haible  <bruno@clisp.org>
127810         * lib/xstrdup.c: Assume <string.h> exists.
127812 2003-08-18  Paul Eggert  <eggert@twinsun.com>
127814         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
127815         in makefile rules.
127817 2003-08-18  Jim Meyering  <jim@meyering.net>
127819         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
127820         * m4/lib-ld.m4: Likewise.
127822 2003-08-18  Jim Meyering  <jim@meyering.net>
127824         * lib/setenv.h: Indent nested cpp directive.
127825         * lib/vasnprintf.c: Remove trailing blanks.
127827 2003-08-17  Simon Josefsson  <jas@extundo.com>
127829         * modules/xstrndup: New file.
127830         * MODULES.html.sh (func_all_modules): Add xstrndup.
127832 2003-08-17  Simon Josefsson  <jas@extundo.com>
127834         * modules/argp: Fix autoconf macro name. Add more dependencies.
127836 2003-08-17  Simon Josefsson  <jas@extundo.com>
127838         * m4/xstrndup.m4: New file.
127840 2003-08-17  Simon Josefsson  <jas@extundo.com>
127842         * m4/argp.m4: New file.
127844 2003-08-17  Simon Josefsson  <jas@extundo.com>
127845             Bruno Haible  <bruno@clisp.org>
127847         * lib/xstrndup.h: New file.
127848         * lib/xstrndup.c: New file.
127850 2003-08-17  Bruno Haible  <bruno@clisp.org>
127852         * modules/strndup (Files, Include): Add lib/strndup.h.
127854 2003-08-17  Bruno Haible  <bruno@clisp.org>
127856         * modules/euidaccess (Files): Add lib/euidaccess.h.
127858 2003-08-17  Bruno Haible  <bruno@clisp.org>
127860         * lib/strndup.h: New file.
127862 2003-08-17  Bruno Haible  <bruno@clisp.org>
127864         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
127865         like AC_GNU_SOURCE.
127866         * modules/extensions (configure.ac): Comment out the invocation of
127867         gl_USE_SYSTEM_EXTENSIONS.
127869 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127871         Merges from coreutils, etc.
127872         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
127873         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
127874         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
127875         fixing a typo.
127876         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
127877         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
127879 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127881         Document merge from coreutils.
127882         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
127883         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
127884         * modules/utime: Add m4/utimes-null.m4.
127886 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127888         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
127889         space, undoing this 2003-08-12 change:
127890         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127892 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127894         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
127895         strtoul.c from libc, undoing this 2003-08-12 change:
127896         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127898 2003-08-16  Jim Meyering  <jim@meyering.net>
127900         Merges from coreutils.
127901         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
127902         prefix.  Adjust cache variables similarly.  Create 500 rather than
127903         just 300 files, to exercise bug on Darwin6.5, too.
127904         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
127905         $missing_dir.
127906         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
127907         AM_SYS_POSIX_TERMIOS.
127908         Reported by mkc@mathdogs.com.
127909         Also change use of $am_cv_sys_posix_termios
127910         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
127911         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
127912         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
127913         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
127914         in /proc/mounts until it finds one with matching device number.  This
127915         is unnecessary when the FILE argument *is* a mount point.  No stat call
127916         is necessary in that case.  So, disable the statvfs-testing code on
127917         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
127918         as RedHat bug# 84846.
127919         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127920         to 1MB, so as not to render systems with no stack size limit (e.g.,
127921         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127922         Include <unistd.h>.  On some systems,
127923         it is required for the definition of _SC_PAGESIZE.
127925 2003-08-16  Jim Meyering  <jim@meyering.net>
127927         Merge from coreutils.
127928         * lib/xstrtoimax.c: #else #if -> #elif.
127929         * lib/xstrtoumax.c: Likewise.
127931 2003-08-16  Jim Meyering  <jim@meyering.net>
127933         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
127934         * m4/utimes.m4: Removed.
127935         * m4/utimes-null.m4: Renamed from utimes.m4.
127937         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127938         to 1MB, so as not to render systems with no stack size limit (e.g.,
127939         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127940         Include <unistd.h>.  On some systems,
127941         it is required for the definition of _SC_PAGESIZE.
127943 2003-08-16  Jim Meyering  <jim@meyering.net>
127944         and Paul Eggert  <eggert@cs.ucla.edu>
127946         Merges from coreutils, etc.
127948         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
127949         using the latest version from cvs.  This avoids problems with #line
127950         directives using a vendor (Sun) compiler.
127951         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
127952         Don't set GETGROUPS_LIB here; now it's
127953         done via getgroups.m4's wrapper function.
127954         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
127955         rather than just in sh-util/configure.in, so that the
127956         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
127957         same.
127958         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
127959         AC_FUNC_GETLOADAVG where to find getloadavg.c.
127960         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
127961         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
127962         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
127963         Remove code that is now done by the newly-required macros.
127964         Append $(EXEEXT) to DF_PROG.
127965         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
127966         Do not invoke or require the following here,
127967         since prereq.m4 or some gnulib .m4 now does this for us:
127968         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
127969         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
127970         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
127971         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
127972         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
127973         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
127974         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
127975         AC_FUNC_OBSTACK.
127976         Do not replace the following functions, as this is now the job
127977         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
127978         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
127979         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
127980         atexit getpass, strdup, getpagesize.
127981         Replace 'raise'.
127982         Do not check for the following functions, as this is now the job
127983         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
127984         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
127985         setregid.
127986         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
127987         Check for sys/sysctl.h.
127988         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
127989         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
127990         of checking for ssize_t ourselves.
127992         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
127993         Require every macro that gnulib/modules/* suggests for us.
127994         (jm_PREREQ_ADDEXT): New macro.
127995         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
127996         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
127998         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
127999         (gl_PHYSMEM): Use it.
128000         Also check for `table' function.
128001         Check for new headers and functions.
128002         Add check for sys/sysmp.h.
128003         With suggestions from Kaveh Ghazi.
128004         Ignore headers that are present but cannot be compiled.  This
128005         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
128006         C 5.4.
128008 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128010         Document merge from coreutils.
128011         * modules/userspec: Depend on posixver.
128012         * modules/strftime: Depend on tzset.
128014 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128016         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
128017         rather than tab, after '#' in shell-script copyright notices.
128018         Suggested by Bruno Haible.
128020 2003-08-15  Paul Eggert  <eggert@twinsun.com>
128022         * config/srclist-update: Use three spaces, rather than tab, after '#'
128023         in shell-script copyright notices.  Suggested by Bruno Haible.
128024         Remove unnecessary parenthesization in regular expression.
128026 2003-08-15  Jim Meyering  <jim@meyering.net>
128028         Merge from coreutils.
128029         * lib/xgethostname.c: Include <stdlib.h>.
128030         (xghostname): Don't exit for anything other than memory-related
128031         failure; just return NULL.
128032         * lib/userspec.c: Include "posixver.h".
128033         (parse_user_spec): Accept `.' as a separator only
128034         in pre-POSIX-200112 mode.
128035         * lib/strtoimax.c: Use #elif rather than #else #if.
128036         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
128037         Remove function, now that we can rely on a working tzset function.
128038         [!_LIBC]: Ensure that the required autoconf test has been run.
128039         [!defined _NL_CURRENT && HAVE_STRFTIME]:
128040         Use underlying_strftime for %r.
128041         * lib/sha.c: Merge in some clean-up and optimization changes from
128042         glibc.
128043         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
128044         Ensure that it is a multiple of 64.
128045         Rearrange loop exit tests so as to avoid performing an
128046         additional fread after encountering an error or EOF.
128047         * lib/realloc.c: Update copyright date.
128049 2003-08-15  Jim Meyering  <jim@meyering.net>
128050         and Paul Eggert  <eggert@twinsun.com>
128052         Merge from coreutils.
128053         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
128054         member but strut utmpx does not.  Needed for AIX 4.3.3.
128055         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
128057 2003-08-15  Jim Meyering  <jim@meyering.net>
128058         and Paul Eggert  <eggert@cs.ucla.edu>
128060         Merges from coreutils, etc.
128061         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
128062         Require gl_FUNC_TZSET_CLOBBER.
128063         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
128064         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
128065         members.
128067 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128069         Help the merge from coreutils.
128070         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
128071         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
128072         * m4/tzset.m4: Use it too.
128074 2003-08-14  Paul Eggert  <eggert@twinsun.com>
128076         * modules/tzset: New file.
128078 2003-08-14  Jim Meyering  <jim@meyering.net>
128080         Merges from coreutils.
128081         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
128082         variable names, rather than @FNMATCH_H@.
128083         * modules/alloca: Likewise for $(ALLOCA_H).
128085         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
128086         the three copies of the literal target, `fnmatch.h'.
128087         * modules/alloca (alloca.h): Likewise.
128089 2003-08-14  Jim Meyering  <jim@meyering.net>
128091         Merge from coreutils.
128092         * m4/tzset.m4: New file.
128093         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
128094         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
128095         otherwise, AIX 5.1 systems would end up using the latter.
128096         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
128097         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
128098         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
128099         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
128101 2003-08-14  Jim Meyering  <jim@meyering.net>
128103         Merge from coreutils.
128104         * lib/obstack.h: Whitespace changes.
128105         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
128106         and xcalloc return values.
128107         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
128108         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
128109         hang on OSF/1 5.1 for DIR on both local and remote file systems.
128110         Reported by (and fix confirmed by) Nelson H. F. Beebe.
128111         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128112         error from mntctl.
128113         Use mntctl's return value to drive the entry-processing loop, since
128114         we can't rely on the value of the vmt_length member in the last
128115         entry.  On some systems doing so could result in exhausting
128116         virtual memory.  Based in part on a patch from Mike Jetzer.
128118 2003-08-14  Jim Meyering  <jim@meyering.net>
128119         and Paul Eggert  <eggert@twinsun.com>
128121         Merges from coreutils, plus other fixes.
128122         * lib/physmem.c: Merge in portability changes from gcc/libiberty
128123         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
128124         for credits and details.  Thanks to Kaveh Ghazi for helping
128125         to keep these files in sync.
128126         (ARRAY_SIZE): Define it.
128127         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
128128         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
128129         (memcasecmp): Don't assume size_t fits in unsigned int.
128130         Remove casts and duplicate code.
128131         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
128132         (memcpy): Remove definition.
128133         Merge in some clean-up and optimization changes from glibc.
128134         [BLOCKSIZE]: Move definition to top of file.
128135         Ensure that it is a multiple of 64.
128136         Rearrange loop exit tests so as to avoid performing an
128137         additional fread after encountering an error or EOF.
128138         * lib/md5.h (md5_uintptr): Define.
128139         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
128140         return to the initial working directory.  Preserve errno
128141         for caller.
128142         * lib/idcache.c: Include "xalloc.h".
128143         (xmalloc, xrealloc): Remove decls.
128144         (getuser): Remove casts no longer required in C89.
128145         * lib/human.c: Include stdio.h, for sprintf.
128146         * lib/group-member.c: Include "xalloc.h".
128147         (xmalloc, xrealloc): Remove decls.
128148         (get_group_info): Remove casts no longer required in C89.
128149         * lib/getusershell.c (readname): Remove casts no longer required in
128150         C89.
128151         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
128152         * lib/getline.c: Whitespace fix, from coreutils.
128154 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128156         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
128157         Check for isascii.
128159         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128160         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128161         Undo previous (whitespace-only) change.
128163 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128165         * lib/exclude.c: Include <ctype.h>
128166         (IN_CTYPE_DOMAIN): New macro.
128167         (is_space): New fn.
128168         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
128169         and empty lines.
128171         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128172         Undo previous (whitespace-only) change.
128174 2003-08-13  Paul Eggert  <eggert@twinsun.com>
128176         * config/srclist-update: Change update back to the old behavior,
128177         leaving whitespace alone.  Use one 'sed' command rather than a
128178         pipeline.
128179         (fixlicense): Now a variable, not a function.
128180         (remove_trailing_blanks): Remove.
128181         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
128182         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128183         Undo previous (whitespace-only) change.
128185 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128187         Merge from coreutils.
128188         * modules/euidaccess: Add lib_SOURCES, include for new
128189         file euidaccess.h
128191 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128193         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
128194         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
128195         Normalize leading white space and remove trailing white space.
128197         Merge from coreutils
128198         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
128200         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
128201         0.12.1.  These files are now being upgraded automatically by
128202         ../config/srclist-update.
128204 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128206         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
128207         Normalize leading white space and remove trailing white space.
128208         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
128209         notice, as per ../config/srclist-update.
128211         Merge from coreutils.
128212         * lib/euidaccess.h: New file.
128213         * lib/euidaccess.c: Include it.
128214         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
128215         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
128216         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
128218 2003-08-12  Paul Eggert  <eggert@twinsun.com>
128220         * config/srclist-update: Add copyright notice.
128221         (remove_id_lines, remove_trailing_blanks): New constants.
128222         (fixfile): Use them to normalize spacing a bit in copied files.
128223         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
128224         Normalize leading white space and remove trailing white space.
128226         * config/texinfo.tex: Sync with texinfo.
128228         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
128229         strtoul.c from libc, to merge coreutils whitespace changes.
128231         * config/srclist.txt: Get the following m4 files from gettext:
128232         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
128233         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
128234         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
128235         wint_t.m4.
128237 2003-08-12  Karl Berry  <karl@gnu.org>
128239         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
128240         been made.
128242 2003-08-11  Paul Eggert  <eggert@twinsun.com>
128244         * modules/gnu-source, m4/gnu-source.m4:
128245         Remove; we're assuming Autoconf 2.54 or later now.
128246         Suggested by Bruno Haible.
128247         * MODULES.html.sh (func_all_modules): Remove gnu-source.
128249 2003-08-11  Bruno Haible  <bruno@clisp.org>
128251         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
128253 2003-08-11  Bruno Haible  <bruno@clisp.org>
128255         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
128256         (vasnprintf): Use it instead of wcslen.
128258 2003-08-11  Bruno Haible  <bruno@clisp.org>
128260         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
128261         value to ensure that _Bool promotes to int. Use #define for _Bool when
128262         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
128264 2003-08-10  Karl Berry  <karl@gnu.org>
128266         * lib/regex.h: update from libc (whitespace fix).
128268 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128270         Merge some files from coreutils.  These changes were
128271         originally made by Jim Meyering.
128272         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
128273         many older Unixes require this.
128274         * lib/alloca.c (alloca): Remove cast to argument of free;
128275         no longer needed in C89.
128276         * lib/alloca_.h, regex.h: Fix white space to match
128277         what GNU indent does.
128279 2003-08-09  Paul Eggert  <eggert@twinsun.com>
128281         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
128282         apparently Emacs's Unicode mode got confused before my 2003-08-05
128283         checkin.
128285 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128287         * m4/extensions.m4: New file.
128288         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
128289         Require gl_USE_SYSTEM_EXTENSIONS.
128290         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
128291         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
128293 2003-08-08  Paul Eggert  <eggert@twinsun.com>
128295         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
128296         * modules/extensions, modules/gnu-source: New files.
128297         * modules/timespec, modules/unlocked-io: Depend on extensions.
128299 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128301         * modules/restrict: New file.
128302         * MODULES.html.sh (func_all_modules): Add restrict.
128303         * modules/regex: Depend on restrict.
128305 2003-08-07  Paul Eggert  <eggert@twinsun.com>
128307         * m4/restrict.m4: New file.
128308         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
128310 2003-08-07  Bruno Haible  <bruno@clisp.org>
128312         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
128313         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
128315 2003-08-07  Bruno Haible  <bruno@clisp.org>
128317         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
128318         makes the module 'getndelim2' compatible with the module 'getline'.
128320 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128322         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
128323         byte with "\201" to avoid glitches when editing that source file
128324         with multi-gnome-terminal.
128326 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128328         * lib/bumpalloc.h: Remove.
128330 2003-08-05  Paul Eggert  <eggert@twinsun.com>
128332         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
128333         * modules/bumpalloc: Remove.
128335 2003-08-04  Paul Eggert  <eggert@twinsun.com>
128337         * lib/getloadavg.c: Change copyright notice and spacing to conform to
128338         GNU coding style.
128340         Merge from coreutils.
128341         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
128342         1. From glibc.
128343         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
128344         from Karl Berry, implemented by Jim Meyering.
128345         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
128346         from Dmitry V. Levin.
128347         Remove anachronistic cast of xrealloc.
128348         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
128349         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
128350         type. Otherwise, it wouldn't compile with at least /bin/cc on
128351         ymp-cray-unicos9.0.2.X.
128352         Combine two mostly-identical uses of alloca into one.
128353         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
128355 2003-08-04  Dave Love  <d.love@dl.ac.uk>
128357         [From Emacs.]
128359         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
128360         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
128361         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
128362         obsolete NLIST_NAME_UNION.
128363         [__GNU__]: Undef BSD and FSCALE.
128364         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
128366 2003-08-03  Paul Eggert  <eggert@twinsun.com>
128368         * lib/stdbool_.h (_Bool): Make it signed char, instead of
128369         an enum type, so that it's guaranteed to promote to int.  See:
128370         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
128372 2003-08-03  Karl Berry  <karl@gnu.org>
128374         * config/depcomp: update from automake.
128376 2003-07-31  Paul Eggert  <eggert@twinsun.com>
128378         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
128379         (strerror): Don't assume that a printable int fits in 14 bytes.
128381 2003-07-31  Bruno Haible  <bruno@clisp.org>
128383         * modules/getpass-gnu: New file.
128384         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
128386 2003-07-31  Bruno Haible  <bruno@clisp.org>
128388         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
128390 2003-07-24  Karl Berry  <karl@gnu.org>
128392         * config/missing: update from automake.
128394 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
128395             Bruno Haible  <bruno@clisp.org>
128397         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
128398         * lib/getline.c (getline, getdelim): Likewise.
128399         Remove _GNU_SOURCE define; now it's defined in config.h through
128400         m4/getline.m4.
128402 2003-07-23  Karl Berry  <karl@gnu.org>
128404         * config/config.sub: update from prep.
128406 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128408         * modules/xalloc (Depends-on): Add exitfail.
128409         * modules/xmemcoll: Likewise.
128411 2003-07-22  Paul Eggert  <eggert@twinsun.com>
128413         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
128414         over-parenthesization in macros.
128416         Sync with coreutils.
128418         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
128419         required by C99.
128421         Use `exit_failure' for xalloc and xmemcoll instead of their own
128422         private exit-failure variables.
128423         * lib/xalloc.h (xalloc_exit_failure): Remove.
128424         * lib/xmalloc.c: Likewise.  Include exitfail.h.
128425         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
128426         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
128427         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
128428         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
128430 2003-07-20  Jim Meyering  <jim@meyering.net>
128432         * modules/closeout (Depends-on): Add exitfail.
128433         Suggestion from Bruno Haible.
128435 2003-07-19  Karl Berry  <karl@gnu.org>
128437         * config/config.sub: update from prep.
128439 2003-07-18  Paul Eggert  <eggert@twinsun.com>
128441         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
128442         Remove.
128443         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
128444         to test that it can stand by itself.  Include "exitfail.h".
128445         Clients should set exit_failure instead.
128446         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
128448 2003-07-18  Bruno Haible  <bruno@clisp.org>
128450         * modules/getndelim2: New file.
128451         * modules/getline: Share files with module getndelim2.
128452         * modules/getnline: Depend on getndelim2 instead of sharing files with
128453         it. Add getnline.c to lib_SOURCES.
128454         * MODULES.html.sh (func_all_modules): Add getndelim2.
128456 2003-07-18  Bruno Haible  <bruno@clisp.org>
128458         * m4/getndelim2.m4: New file.
128459         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
128460         invoke gl_PREREQ_GETNDELIM2.
128461         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
128462         gl_PREREQ_GETNDELIM2.
128463         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
128464         gl_GETNDELIM2.
128466 2003-07-18  Bruno Haible  <bruno@clisp.org>
128468         * lib/getndelim2.h: New file.
128469         * lib/getndelim2.c: Make into a module of its own. Include config.h,
128470         getndelim2.h.
128471         (getndelim2): Make non-static. Change return type to ssize_t.
128472         * lib/getline.h: Change argument names.
128473         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
128474         * lib/getnline.c: Include getndelim2.h.
128476 2003-07-18  Andreas Schwab  <schwab@suse.de>
128478         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
128480 2003-07-17  Karl Berry  <karl@gnu.org>
128482         * config/config.sub: update from prep.
128484 2003-07-17  Bruno Haible  <bruno@clisp.org>
128486         * modules/getnline: New file.
128487         * modules/getline: Add lib/getndelim2.c to source file list.
128488         * MODULES.html.sh (func_all_modules): Add getnline.
128490 2003-07-17  Bruno Haible  <bruno@clisp.org>
128492         * m4/getnline.m4: New file.
128494 2003-07-17  Bruno Haible  <bruno@clisp.org>
128496         * m4/Makefile.am.in: Remove file.
128497         * m4/Makefile.am: Remove file.
128498         * m4/Makefile.in: Remove file.
128500 2003-07-17  Bruno Haible  <bruno@clisp.org>
128502         * lib/getnline.h: New file.
128503         * lib/getnline.c: New file.
128504         * lib/getndelim2.c: New file, extracted from getline.c.
128505         (getndelim2): Renamed from getdelim2, with added nmax argument.
128506         * lib/getline.c: Include getndelim2.c.
128507         (getdelim2): Moved out to getndelim2.c.
128508         (getline, getdelim): Update.
128510 2003-07-17  Bruno Haible  <bruno@clisp.org>
128512         * lib/Makefile.am: Remove file.
128513         * lib/Makefile.in: Remove file.
128515 2003-07-17  Bruno Haible  <bruno@clisp.org>
128517         * configure.in: Remove file.
128518         * Makefile.in: Remove file.
128520 2003-07-17  Bruno Haible  <bruno@clisp.org>
128522         * MODULES.html.sh: Put the </BODY> right before </HTML>.
128524 2003-07-16  Karl Berry  <karl@gnu.org>
128526         * config/srclist-update: was running fixlicense twice, which caused
128527                 texinfo.tex to be nullified for some reason.  Simplify,
128528                 $gplsrc is no longer needed as far as I can see?
128530 2003-07-16  Jim Meyering  <jim@meyering.net>
128532         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
128534 2003-07-15  Paul Eggert  <eggert@twinsun.com>
128536         * config/srclist.txt: Get the following files from gettext-runtime/intl
128537         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
128538         ref-del.sin.  From Bruno Haible.
128539         * config/srclist-update (fixfile): Change grep pattern again, since the
128540         previous fix didn't work (there was another trailing $).  Use
128541         '[$]' to escape the $s.
128543 2003-07-15  Karl Berry  <karl@gnu.org>
128545         * lib/vasnprintf.c: update from gettext.
128547 2003-07-15  Karl Berry  <karl@gnu.org>
128549         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
128550         gets expanded when surrounded by '$'.
128552 2003-07-15  Jim Meyering  <jim@meyering.net>
128554         * modules/save-cwd: Don't depend on error.  From Derek Price.
128556 2003-07-15  Jim Meyering  <jim@meyering.net>
128558         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
128560 2003-07-14  Simon Josefsson  <jas@extundo.com>
128562         * modules/mempcpy: New file.
128563         * MODULES.html.sh (func_all_modules): Add mempcpy.
128565 2003-07-14  Simon Josefsson  <jas@extundo.com>
128567         * m4/mempcpy.m4: New file.
128569 2003-07-14  Simon Josefsson  <jas@extundo.com>
128571         * lib/mempcpy.h: New file.
128572         * lib/mempcpy.c: New file.
128574 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128576         * modules/getdate, modules/posixtm: Depend on mktime.
128578 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128580         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
128581         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
128582         unicodeio.c, unicodeio.h, unlocked-io.h:
128583         Switch from LGPL to GPL.
128585 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128587         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
128588         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
128589         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
128590         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
128591         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
128592         updated automatically by ../config/srclist-update.  This changes
128593         their license from LPGL to GPL.
128595 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128597         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
128598         assumed to refer to the root of the most recent stable gettext version.
128599         * config/srclistvars.sh: Add defaults for eggert.
128600         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
128601         Match "This program" as well as "The program".  This is needed
128602         for gettext.
128604 2003-07-14  Jim Meyering  <jim@meyering.net>
128606         Don't emit diagnostics.  Let callers do that.
128607         * lib/save-cwd.c: Don't include "error.h".
128608         (save_cwd): Don't call error.  Ensure that errno is valid
128609         when returning nonzero.
128611         * lib/save-cwd.h (restore_cwd): Update prototype.
128612         * lib/save-cwd.c (restore_cwd): Remove two parameters.
128613         Simplify.  Don't call error upon failure.  Let callers do that.
128614         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
128615         when auditing is enabled.  But don't bother updating the #if.
128617 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
128619         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
128620         it breaks C++ compilation.
128621         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
128623 2003-07-10  Simon Josefsson  <jas@extundo.com>
128625         * modules/strchrnul (Makefile.am): Add strchrnul.h.
128627 2003-07-10  Jim Meyering  <jim@meyering.net>
128629         * m4/clock_time.m4: Remove trailing blank.
128630         * m4/intmax_t.m4: Likewise.
128632 2003-07-10  Jim Meyering  <jim@meyering.net>
128634         * lib/vasnprintf.c: Remove trailing blanks.
128635         Make cpp indentation consistent.
128637 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128639         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
128640         posixver.c, strftime.c, strnlen.c, strverscmp.c:
128641         Switch from LGPL to GPL.
128643 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128645         * config/srclist.txt: Sort sublists.  Add
128646         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
128647         that differ from gnulib for one reason or another; we'd like this list
128648         to be smaller but for now let's document what we have.
128650 2003-07-08  Paul Eggert  <eggert@twinsun.com>
128652         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
128653         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
128654         and sweeter "eval x=$x".
128655         * config/srclist.txt: Get lib/argp* from glibc.
128657 2003-07-07  Paul Eggert  <eggert@twinsun.com>
128659         * lib/mktime.c: Fix some boundary cases and remove need for floating
128660         point.
128662         Issue a compile-time diagnostic if time_t is floating point, or if
128663         two's complement arithmetic is not in effect, or if arithmetic
128664         right shift does not propagate the sign.  These assumptions were
128665         all in the original code but they weren't checked.
128667         (TIME_T_MIDPOINT, verify): New macros.
128668         (__isleap): Remove; it has integer overflow problems.
128669         (leapyear): New function, without those problems.
128670         (ydhms_tm_diff): Remove; splitting into two parts.
128671         (ydhms_diff): New function, containing the arithmetic part of
128672         the old ydhms_tm_diff function.  Issue a compile-time
128673         diagnostic if we are not using C99 integer division.
128674         Avoid casts when possible.
128675         (guess_time_tm): New function, containing the checking part of
128676         the old ydhms_tm_diff function.  Return the new value, rather than
128677         the difference between it and the old.  Accept a new argument T
128678         so that *T specifies the old value.  Check for overflow in the result.
128680         (__mktime_internal): Use a time_t offset, not a long int offset.
128681         This undoes the 2003-06-04 change, which is no longer needed now
128682         that we have better overflow checking.
128683         (localtime_offset): Likewise.
128685         (__mktime_internal): Avoid harmful overflow on hosts where time_t
128686         and long are 64-bit but int is only 32-bit.
128687         (ydhms_diff): Use long int to store year1 and yday1.
128688         Issue a compile-time diagnostic if long int is not wide enough.
128690         (__mktime_internal): Use long int to store adjusted year and yday.
128691         Use plain C rather than preprocessor commands, if that doesn't
128692         affect efficiency.
128693         Check for overflow (and try to repair) after each probe
128694         rather than checking only at the very end.  This avoids some bugs
128695         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
128696         does not equal GMT offset at maximum time).
128697         Use integer to check for overflow rather than floating point; this
128698         is more portable to non-IEEE hosts, and is a tad faster.
128699         When we detect that we are oscillating between two values,
128700         don't check whether tm_isdst has the requested value, since
128701         we already know the answer.  When tm_isdst has the wrong value,
128702         use a different heuristic to find the right one, based on the
128703         extreme values actually observed in practice in tz2003a,
128704         rather than the (overly optimistic) "previous 3 calendar quarters".
128706         (not_equal_tm, print_tm, check_result): Use "const T" rather than
128707         "T const" to accommodate glibc style.
128708         (check_result): Use less-confusing report format.  "long" -> "long int.
128709         (main): Likewise.
128710         Don't loop if the iteration overflows time_t.
128711         Allow a negative step in the iteration.
128713 2003-07-06  Karl Berry  <karl@gnu.org>
128715         * config/depcomp: update from automake.
128716         * config/config.sub: update from prep.
128718 2003-07-03  Karl Berry  <karl@gnu.org>
128720         * config/config.guess: update from prep.
128722 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128724         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
128725         xreadlink.c now includes it unconditionally.
128727 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128729         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
128730         having it depend on HAVE_SYS_TYPES_H.
128732 2003-07-01  Bruno Haible  <bruno@clisp.org>
128734         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
128735         <sys/types.h> should be sufficient.
128736         Reported by Paul Eggert.
128738 2003-06-26  Karl Berry  <karl@gnu.org>
128740         * config/depcomp: update from automake.
128742 2003-06-26  Bruno Haible  <bruno@clisp.org>
128744         * modules/human: Depend on module stdbool.
128746 2003-06-25  Bruno Haible  <bruno@clisp.org>
128748         * modules/readlink: New file.
128749         * modules/xreadlink: Depend on it.
128750         * MODULES.html.sh (func_all_modules): Add readlink.
128752 2003-06-25  Bruno Haible  <bruno@clisp.org>
128754         * m4/readlink.m4: New file.
128756 2003-06-25  Bruno Haible  <bruno@clisp.org>
128758         * lib/readlink.c: New file.
128760 2003-06-22  Karl Berry  <karl@gnu.org>
128762         * config/srclist.txt: update mkinstalldirs from automake.
128763         * config/mkinstalldirs: update.
128765 2003-06-22  Bruno Haible  <bruno@clisp.org>
128767         Portability to mingw32.
128768         * m4/ssize_t.m4: New file, from GNU gettext.
128769         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
128770         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
128772 2003-06-22  Bruno Haible  <bruno@clisp.org>
128774         * modules/safe-read: Add m4/ssize_t.m4.
128775         * modules/xreadlink: Add m4/ssize_t.m4.
128777 2003-06-20  Bruno Haible  <bruno@clisp.org>
128779         Assume C89, so PARAMS isn't needed.
128780         * lib/unicodeio.h (PARAMS): Remove.
128781         * lib/unicodeio.c: Don't use PARAMS.
128783 2003-06-18  Karl Berry  <karl@gnu.org>
128785         * config/config.{guess,sub}: update from prep.
128787 2003-06-18  Jim Meyering  <jim@meyering.net>
128789         Merge changes from coreutils.
128790         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
128791         Remove explicit declarations of xmalloc and realloc.
128792         Include xalloc.h.
128793         (read_utmp): Remove anachronistic cast of xmalloc.
128795 2003-06-17  Paul Eggert  <eggert@twinsun.com>
128797         Assume C89, so PARAMS isn't needed.
128798         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
128799         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
128800         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
128801         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
128802         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
128803         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
128804         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
128805         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
128806         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
128807         lib/xstrtod.h, lib/xstrtol.h: Likewise.
128808         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
128809         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
128810         no longer needed. Anyway, config.h should always be included before any
128811         other file.
128813 2003-06-11  Simon Josefsson  <jas@extundo.com>
128815         * modules/sysexits: New file.
128816         * MODULES.html.sh (func_all_modules): Add sysexits.
128818 2003-06-11  Simon Josefsson  <jas@extundo.com>
128820         * lib/sysexit_.h: New file.
128822 2003-06-11  Derek Price  <derek@ximbiot.com>
128824         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
128825         necessary.
128827 2003-06-11  Bruno Haible  <bruno@clisp.org>
128829         * m4/sysexits.m4: New file.
128831 2003-06-10  Simon Josefsson  <jas@extundo.com>
128833         * lib/argp.h: New file, from glibc.
128834         * lib/argp-ba.c: New file, from glibc.
128835         * lib/argp-eexst.c: New file, from glibc.
128836         * lib/argp-fmtstream.c: New file, from glibc.
128837         * lib/argp-fmtstream.h: New file, from glibc.
128838         * lib/argp-fs-xinl.c: New file, from glibc.
128839         * lib/argp-help.c: New file, from glibc.
128840         * lib/argp-namefrob.h: New file, from glibc.
128841         * lib/argp-parse.c: New file, from glibc.
128842         * lib/argp-pv.c: New file, from glibc.
128843         * lib/argp-pvh.c: New file, from glibc.
128844         * lib/argp-xinl.c: New file, from glibc.
128846 2003-06-10  Simon Josefsson  <jas@extundo.com>
128848         * modules/strchrnul: New file.
128850 2003-06-10  Simon Josefsson  <jas@extundo.com>
128852         * modules/argp: New file.
128854 2003-06-10  Simon Josefsson  <jas@extundo.com>
128856         * m4/strchrnul.m4: New file.
128858 2003-06-10  Simon Josefsson  <jas@extundo.com>
128860         * lib/strchrnul.h: New file.
128861         * lib/strchrnul.c: New file.
128863 2003-06-10  Bruno Haible  <bruno@clisp.org>
128865         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
128867 2003-06-07  Karl Berry  <karl@gnu.org>
128869         * config/config.{guess,sub}: update from prep.
128871 2003-06-07  Jim Meyering  <jim@meyering.net>
128873         * modules/strtod: Use $(...) notation, not @...@ for
128874         AC_REPLACE'd variables.
128875         * modules/localcharset: Likewise.
128877 2003-06-07  Jim Meyering  <jim@meyering.net>
128879         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
128880         in place of my name in the copyright comment.
128881         Remove definition and uses of __P.
128883         From coreutils.
128884         * lib/stat.c: Don't declare xmalloc explicitly.
128885         Instead, include "xalloc.h".
128886         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
128887         xrealloc, and xcalloc return values.
128888         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
128889         Improve comment.
128890         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
128892 2003-06-07  Bruno Haible  <bruno@clisp.org>
128894         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
128895         avoid AC_CONFIG_LINKS.
128896         * modules/fnmatch (Makefile.am): Use explicit creation rule for
128897         fnmatch.h, to avoid AC_CONFIG_LINKS.
128898         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
128900 2003-06-07  Bruno Haible  <bruno@clisp.org>
128902         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
128903         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
128904         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128905         directory.
128906         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
128907         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128908         directory.
128910 2003-06-06  Jim Meyering  <jim@meyering.net>
128912         Merge from coreutils.
128913         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
128914         Consolidate declarations and initializations of *_base* locals.
128916         Merge from coreutils.
128917         This avoids a core dump on systems without GNU putenv,
128918         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
128919         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
128920         (unsetenv): New static function, from GNU libc.
128921         (rpl_putenv): Use it.
128923         * lib/modechange.c: Remove trailing blanks.
128925         Merge from coreutils.
128926         * lib/fsusage.c: Remove declaration of statfs.
128927         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
128929         * lib/posixtm.c: Include <stdbool.h> unconditionally.
128931 2003-06-06  Jim Meyering  <jim@meyering.net>
128933         * lib/stdbool_.h: Renamed from stdbool.h.in.
128935 2003-06-06  Jim Meyering  <jim@meyering.net>
128936             Bruno Haible  <bruno@clisp.org>
128938         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
128939         Adjust Makefile.am snippet not to redirect directly to target.
128940         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
128942 2003-06-05  Paul Eggert  <eggert@twinsun.com>
128944         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
128945         mismatch, look in future quarters as well as past.  This fixes a
128946         bug when processing fall-backwards gaps immediately after a long
128947         period of daylight-saving time.
128949         * lib/mktime.c: Assume freestanding C89 or better.
128950         (HAVE_LIMITS_H): Remove.  Assume it's 1.
128951         (__P): Remove; not used.
128952         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
128953         (mktime, not_equal_tm, print_tm, check_result,
128954         main): Use prototypes.  Use const * where appropriate.
128955         (main): Fix typo in testing code that uncovered by above changes.
128956         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
128958 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128960         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
128961         locale.h, localeconv.  This merges changes from coreutils.
128963         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
128964         It can be removed after the next Autoconf is released.
128965         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
128966         needed.
128968 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128970         * lib/mktime.c: Fix Debian bug 177940
128971         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
128972         (localtime_offset): Now long int, not time_t, because we want it
128973         to be guaranteed to be signed.  All uses changed.
128974         (__mktime_internal): If overflow would occur when adding offset,
128975         don't add it.
128977         Merge 'human' changes from coreutils.  Rewrite to support
128978         locale-specific notations like thousands separators.
128979         * lib/human.c: Simplify authorship notice.
128980         Include human.h immediately after config.h.
128981         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
128982         <limits.h>: Do not include, since human.h does.
128983         (SIZE_MAX, UINTMAX_MAX): New macros.
128984         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
128985         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
128986         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
128987         (power_letter): Renamed from suffixes.
128988         (generate_suffix_backwards): Remove.
128989         (adjust_value): Now takes int style (because of human.h changes)
128990         and long double value (for greater precision on some platforms).
128991         (group_number): New function.
128992         (human_readable): Use it.  Use integer options, not enum.
128993         Put the options before the sizes in the arg list.
128994         Support all the new options.
128995         The old human_readable function has been removed;
128996         use inttostr.h instead.
128997         (human_readable, default_block_size, humblock):
128998         Use uintmax_t, not int, for block sizes.
128999         (human_readable_inexact, block_size_types): Remove.
129000         (block_size_opts): New constant.
129001         (human_options): Renamed from human_block_size, with new signature
129002         that allows block sizes up to UINTMAX_MAX.  All callers changed.
129003         * lib/human.h: Add copyright and authorship notice.
129004         Include <limits.h> and <stdbool.h> unconditionally.
129005         (PARAMS): Remove.  All uses removed.
129006         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
129007         (enum human_inexact_style): Remove tag; now a nameless enum.
129008         (human_floor, human_ceiling, human_round_to_even): Now have
129009         values 2, 0, 1 rather than -1, 1, 0.
129010         (human_group_digits, human_suppress_point_zero, human_autoscale,
129011         human_base_1024, human_SI, human_B): New constants.
129012         (human_readable_inexact, human_block_size): Remove.
129013         (human_readable): Size args are now uintmax_t, not int.
129014         (human_options): New decl.
129016         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
129017         unnecessary now that we assume C89 or better.  This change
129018         imported from coreutils.
129020         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129021         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
129022         in the 2003-05-30 sync from glibc.
129024         .h files should stand alone, but we shouldn't include <sys/types.h>
129025         if we can get away with just <stddef.h>.
129027         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
129028         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
129029         rather than <sys/types.h>, as we merely need size_t.
129030         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
129031         to get size_t.
129032         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
129033         Include <stdio.h>, to get FILE.
129034         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
129035         memcasecmp.h has included <stddef.h> and all we need is size_t.
129036         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
129037         our interface, instead of including <sys/types.h>
129039 2003-06-04  Paul Eggert  <eggert@twinsun.com>
129041         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
129042         now, as glibc mktime is buggy on non-glibc systems.
129044 2003-06-03  Karl Berry  <karl@gnu.org>
129046         * config/config.sub: update from prep.
129048 2003-06-02  Paul Eggert  <eggert@twinsun.com>
129050         [from coreutils]
129051         Fix some minor time-related bugs with POSIX time arguments.
129052         Some valid time stamps were being rejected (notably -1, and
129053         time stamps before 1900 on 64-bit hosts).  And some invalid
129054         time stamps were being accepted, e.g. September 31.
129056         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
129057         that we can return (time_t) -1 successfully.
129058         * lib/posixtm.c: Likewise.
129059         [HAVE_STDBOOL_H]: Include <stdbool.h>.
129060         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
129061         (t): Remove static var.
129062         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
129063         of static var.  All uses changed.
129064         (year): Do not reject years before 1900; they can occur with
129065         64-bit time_t.
129066         (posix_time_parse): Do not check for out-of-range components;
129067         that is now the caller's responsibility, since our checks were
129068         only approximations.
129069         (posixtime): Use mktime to check for out-of-range components,
129070         since it knows them exactly.
129071         If mktime returns (time_t) -1, check whether an error actually occurred
129072         by invoking localtime on -1.
129073         (main) [TEST_POSIXTIME]: Check for input data errors, and report
129074         posixtime failures better.
129075         Improve the test data (in comments only).
129077 2003-06-02  Karl Berry  <karl@gnu.org>
129079         * config/mkinstalldirs (version): new variable.
129080         (--version): new option.
129081         (usage): improve message.
129083 2003-05-30  Karl Berry  <karl@gnu.org>
129085         * lib/mktime.c: update from libc.
129087 2003-05-30  Bruno Haible  <bruno@clisp.org>
129089         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
129090         * config/config.rpath: Upgrade to gettext-0.12.1.
129092 2003-05-30  Bruno Haible  <bruno@clisp.org>
129094         * m4/gettext.m4: Upgrade to gettext-0.12.1.
129095         * m4/nls.m4: New file, from gettext-0.12.1.
129096         * m4/po.m4: New file, from gettext-0.12.1.
129097         * m4/progtest.m4: Upgrade to gettext-0.12.1.
129099 2003-05-30  Bruno Haible  <bruno@clisp.org>
129101         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
129102         * lib/localcharset.h: Likewise.
129103         * lib/localcharset.c: Likewise.
129105 2003-05-29  Karl Berry  <karl@gnu.org>
129107         * config/config.rpath: update from gettext.
129109 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129111         Assume the headers required for C89 freestanding compilers.
129112         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
129113         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
129114         * m4/human.m4 (gl_HUMAN): Likewise.
129115         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
129116         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
129117         * m4/userspec.m4 (gl_USERSPEC): Likewise.
129118         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
129119         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
129120         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
129122 2003-05-28  Paul Eggert  <eggert@twinsun.com>
129124         Assume the headers required for C89 freestanding compilers.
129125         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
129126         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
129127         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
129128         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
129129         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
129130         define, since <limits.h> is guaranteed to do that.
129131         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
129132         * lib/exclude.c: Include <stdbool.h> unconditionally.
129133         * lib/tempname.c: Include <stddef.h> unconditionally.
129134         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
129135         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
129136         <stddef.h> does that.
129137         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
129138         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
129139         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
129140         needed.
129141         * lib/xstrtol.c: Likewise.
129142         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
129143         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
129145         * lib/addext.c (addext): Use assignment rather than cast, to avoid
129146         warnings on some platforms.
129148         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
129149         arbitrarily.
129151 2003-05-26  Jim Meyering  <jim@meyering.net>
129153         Merge in a change from coreutils:
129154         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
129155         that is guaranteed to be `no'.  Use `no_such_member' to indicate
129156         that condition, rather than `-1' which is slightly misleading.
129157         Change the name of the cache variable to have the gl_ prefix.
129158         Prompted by a patch from Richard Dawe for DJGPP.
129160 2003-05-24  Karl Berry  <karl@gnu.org>
129162         * config/config.guess: update from prep.
129164 2003-05-22  Karl Berry  <karl@gnu.org>
129166         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
129168 2003-05-20  Karl Berry  <karl@gnu.org>
129170         * config/config.guess: update from prep.
129172 2003-05-18  Karl Berry  <karl@gnu.org>
129174         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
129175         might actually be set by the user.
129177         * config/depcomp, install-sh, mdate-sh: update from automake.
129179 2003-05-17  Bruno Haible  <bruno@clisp.org>
129181         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
129182         invalid expansion for AC_EGREP_CPP.
129183         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
129184         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
129185         Suggested by Akim Demaille <akim@epita.fr> in
129186         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
129188 2003-05-12  Jim Meyering  <jim@meyering.net>
129190         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
129191         the space-padded-by-default conversion specifiers, %e, %k, %l.
129193 2003-05-12  Bruno Haible  <bruno@clisp.org>
129195         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
129196         the string is longer than 4 KB.
129198 2003-05-11  Karl Berry  <karl@gnu.org>
129200         * config/config.{guess,sub}: update from prep.
129202 2003-05-09  Bruno Haible  <bruno@clisp.org>
129204         * modules/error: Add m4/strerror_r.m4 to file list.
129206 2003-05-03  Bruno Haible  <bruno@clisp.org>
129208         Upgrade to Unicode-4.0.
129209         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
129210         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
129211         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
129212         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
129213         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
129214         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
129215         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
129216         Change width of U+E0100..U+E01EF from 1 to 0.
129218 2003-04-25  Jim Meyering  <jim@meyering.net>
129220         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
129221         of type size_t, not int.
129223 2003-04-25  Bruno Haible  <bruno@clisp.org>
129225         * lib/copy-file.c: Include <stddef.h>, for size_t.
129227 2003-04-21  Paul Eggert  <eggert@twinsun.com>
129229         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
129230         code which expansion is under static control.  Patch imported from
129231         Akim Demaille's patch to Bison; see
129232         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
129234 2003-04-14  Bruno Haible  <bruno@clisp.org>
129236         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
129238 2003-04-11  Jim Meyering  <jim@meyering.net>
129240         Merge changes from Coreutils.
129242         2003-03-22  Jim Meyering  <jim@meyering.net>
129244         * lib/strftime.c (widen): Cast alloca return value to proper type.
129246         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
129248         From GNU libc.
129249         * lib/strftime.c (my_strftime): Handle very large width
129250         specifications for numeric values correctly.  Improve checks for
129251         overflow.
129253         2003-01-19  Jim Meyering  <jim@meyering.net>
129255         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
129256         definitions.
129257         (nl_get_alt_digit) [! defined my_strftime]: Define.
129258         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
129259         _nl_get_alt_digit and _nl_get_walt_digit.
129261         * lib/strftime.c (my_strftime): Merge in locale-related changes from
129262         libc. These changes have no effect outside of _LIBC.
129264 2003-04-10  Bruno Haible  <bruno@clisp.org>
129266         * modules/findprog: New file.
129267         * MODULES.html.sh (func_all_modules): Add it.
129269 2003-04-10  Bruno Haible  <bruno@clisp.org>
129271         * m4/findprog.m4: New file.
129272         * m4/eaccess.m4: New file.
129274 2003-04-10  Bruno Haible  <bruno@clisp.org>
129276         * lib/findprog.h: New file, from GNU gettext.
129277         * lib/findprog.c: New file, from GNU gettext.
129279 2003-04-05  Jim Meyering  <jim@meyering.net>
129281         Merge changes from Coreutils.
129283         * lib/exclude.h (PARAMS): Remove definition and uses.
129284         * lib/exclude.c: Remove uses of `PARAMS'.
129286         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
129287         Add test-cases for DOS filenames. Declare program_name.
129288         (main): Set up program_name.  Patch by Rich Dawe.
129290         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
129291         error from mntctl.
129292         Use mntctl's return value to drive the entry-processing loop, since
129293         we can't rely on the value of the vmt_length member in the last
129294         entry.  On some systems doing so could result in exhausting
129295         virtual memory.  Based in part on a patch from Mike Jetzer.
129297 2003-04-04  Bruno Haible  <bruno@clisp.org>
129299         * modules/linebreak: New file.
129300         * MODULES.html.sh (func_all_modules): Add it.
129302 2003-04-04  Bruno Haible  <bruno@clisp.org>
129304         * m4/linebreak.m4: New file.
129306 2003-04-04  Bruno Haible  <bruno@clisp.org>
129308         * lib/linebreak.h: New file, from GNU gettext.
129309         * lib/linebreak.c: New file, from GNU gettext with slight
129310         modifications.
129311         * lib/lbrkprop.h: New file, from GNU gettext.
129313 2003-04-03  Bruno Haible  <bruno@clisp.org>
129315         * modules/utf8-ucs4: New file.
129316         * modules/utf16-ucs4: New file.
129317         * modules/ucs4-utf8: New file.
129318         * modules/ucs4-utf16: New file.
129319         * MODULES.html.sh (func_all_modules): Add them.
129321 2003-04-03  Bruno Haible  <bruno@clisp.org>
129323         * m4/utf-ucs4.m4: New file.
129324         * m4/ucs4-utf.m4: New file.
129326 2003-04-03  Bruno Haible  <bruno@clisp.org>
129328         * lib/utf8-ucs4.h: New file, from GNU gettext.
129329         * lib/utf16-ucs4.h: New file, from GNU gettext.
129330         * lib/ucs4-utf8.h: New file, from GNU gettext.
129331         * lib/ucs4-utf16.h: New file, from GNU gettext.
129333 2003-04-02  Bruno Haible  <bruno@clisp.org>
129335         * modules/binary-io: New file.
129336         * MODULES.html.sh (func_all_modules): Add it.
129338 2003-04-02  Bruno Haible  <bruno@clisp.org>
129340         * lib/binary-io.h: New file, from GNU gettext.
129342 2003-04-01  Bruno Haible  <bruno@clisp.org>
129344         * modules/pathname: New file.
129345         * MODULES.html.sh (func_all_modules): Add it.
129347 2003-04-01  Bruno Haible  <bruno@clisp.org>
129349         * lib/pathname.h: New file, from GNU gettext.
129350         * lib/concatpath.c: New file, from GNU gettext.
129352 2003-03-30  Bruno Haible  <bruno@clisp.org>
129354         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
129356 2003-03-30  Bruno Haible  <bruno@clisp.org>
129358         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
129359         function chown() doesn't exist.
129361 2003-03-28  Bruno Haible  <bruno@clisp.org>
129363         * modules/copy-file: New file.
129364         * MODULES.html.sh (func_all_modules): Add it.
129366 2003-03-28  Bruno Haible  <bruno@clisp.org>
129368         * m4/copy-file.m4: New file.
129370 2003-03-28  Bruno Haible  <bruno@clisp.org>
129372         * lib/copy-file.h: New file, from GNU gettext.
129373         * lib/copy-file.c: New file, from GNU gettext.
129375 2003-03-18  Jim Meyering  <jim@meyering.net>
129377         * lib/quote.c (quote_n): Fix typo in comment.
129379 2003-03-18  Bruno Haible  <bruno@clisp.org>
129381         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
129382         checking.
129383         * m4/onceonly_2_57.m4: Likewise.
129385 2003-03-17  Bruno Haible  <bruno@clisp.org>
129387         * m4/onceonly.m4: Require autoconf 2.54 or newer.
129388         (m4_quote): Remove macro.
129389         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
129391 2003-03-14  Jim Meyering  <jim@meyering.net>
129393         Merge changes from Coreutils.
129394         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
129395         to be const, in order to avoid warnings.
129396         (obstack_room): Likewise.
129397         (obstack_empty_p): Likewise.
129399 2003-03-14  Bruno Haible  <bruno@clisp.org>
129401         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
129402         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
129404 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129406         Merge changes from Bison.
129407         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
129408         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
129409         when compiling Bison 1.875's `bitset bset = obstack_alloc
129410         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
129411         * lib/hash.c: Include <stdbool.h> unconditionally.
129413 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129415         * m4/onceonly.m4 (m4_quote): New macro.
129416         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
129417         Quote AC_FOREACH variable-expansions properly.
129419 2003-03-13  Paul Eggert  <eggert@twinsun.com>
129421         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
129423 2003-03-09  Paul Eggert  <eggert@twinsun.com>
129425         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
129426         Reported by Bruce Becker; see:
129427         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
129429 2003-03-03  Paul Eggert  <eggert@twinsun.com>
129430             Bruno Haible  <bruno@clisp.org>
129432         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
129433         Reported by John Hughes, see
129434         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
129436 2003-02-20  Bruno Haible  <bruno@clisp.org>
129438         * MODULES.html.sh (func_all_modules): Add poll.
129440 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129442         * modules/poll: New file.
129444 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129446         * lib/poll_.h: New file.
129447         * lib/poll.c: New file.
129449 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
129451         * m4/poll.m4: New file.
129453 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129455         * modules/mathl: New file.
129457 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129459         * lib/mathl.h: New file.
129460         * lib/acosl.c: New file.
129461         * lib/asinl.c: New file.
129462         * lib/atanl.c: New file.
129463         * lib/ceill.c: New file.
129464         * lib/cosl.c: New file.
129465         * lib/expl.c: New file.
129466         * lib/floorl.c: New file.
129467         * lib/frexpl.c: New file.
129468         * lib/ldexpl.c: New file.
129469         * lib/logl.c: New file.
129470         * lib/sincosl.c: New file.
129471         * lib/sinl.c: New file.
129472         * lib/sqrtl.c: New file.
129473         * lib/tanl.c: New file.
129474         * lib/trigl.c: New file.
129475         * lib/trigl.h: New file.
129477 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
129479         * m4/mathl.m4: New file.
129481 2003-02-18  Bruno Haible  <bruno@clisp.org>
129483         * MODULES.html.sh (func_all_modules): Add mathl.
129485 2003-02-17  Bruno Haible  <bruno@clisp.org>
129487         * modules/mkdtemp: New module.
129488         * MODULES.html.sh (func_all_modules): Add it.
129490 2003-02-17  Bruno Haible  <bruno@clisp.org>
129492         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
129494 2003-02-17  Bruno Haible  <bruno@clisp.org>
129496         * lib/mkdtemp.h: New file, from GNU gettext.
129497         * lib/mkdtemp.c: New file, from GNU gettext.
129499 2003-02-02  Jim Meyering  <jim@meyering.net>
129501         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
129502         e.g. glibc-2.2.93.
129504 2003-01-31  Bruno Haible  <bruno@clisp.org>
129506         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
129507         'rpl_rename'.
129508         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
129509         'rpl_strnlen'.
129510         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
129511         'rpl_strtod'.
129512         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
129513         'rpl_utime'.
129515 2003-01-31  Bruno Haible  <bruno@clisp.org>
129517         * lib/rename.c: #undef rename before defining rpl_rename.
129518         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
129520 2003-01-30  Bruno Haible  <bruno@clisp.org>
129522         * modules/vasnprintf, modules/vasprintf: New modules.
129523         * MODULES.html.sh (func_all_modules): Add them.
129525 2003-01-30  Bruno Haible  <bruno@clisp.org>
129527         * m4/signed.m4: New file, from GNU gettext.
129528         * m4/longdouble.m4: New file, from GNU gettext.
129529         * m4/wchar_t.m4: New file, from GNU gettext.
129530         * m4/wint_t.m4: New file, from GNU gettext.
129531         * m4/vasnprintf.m4: New file.
129532         * m4/vasprintf.m4: New file.
129534 2003-01-30  Bruno Haible  <bruno@clisp.org>
129536         * lib/printf-args.h: New file, from GNU gettext.
129537         * lib/printf-args.c: New file, from GNU gettext.
129538         * lib/printf-parse.h: New file, from GNU gettext.
129539         * lib/printf-parse.c: New file, from GNU gettext.
129540         * lib/vasnprintf.h: New file, from GNU gettext.
129541         * lib/vasnprintf.c: New file, from GNU gettext.
129542         * lib/asnprintf.c: New file, from GNU gettext.
129543         * lib/vasprintf.h: New file, from GNU gettext with modifications.
129544         * lib/vasprintf.c: New file, from GNU gettext.
129545         * lib/asprintf.c: New file, from GNU gettext.
129547 2003-01-29  Bruno Haible  <bruno@clisp.org>
129549         * modules/stpncpy: New module.
129550         * MODULES.html.sh (func_all_modules): Add it.
129552 2003-01-29  Bruno Haible  <bruno@clisp.org>
129554         * m4/stpncpy.m4: New file.
129556 2003-01-29  Bruno Haible  <bruno@clisp.org>
129558         * lib/stpncpy.h: New file, from GNU gettext with modifications.
129559         * lib/stpncpy.c: New file, from GNU gettext with modifications.
129561 2003-01-28  Bruno Haible  <bruno@clisp.org>
129563         * modules/c-ctype: New module.
129564         * MODULES.html.sh (func_all_modules): Add it.
129566 2003-01-28  Bruno Haible  <bruno@clisp.org>
129568         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
129569         Paul Eggert.
129570         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
129571         Paul Eggert.
129573 2003-01-27  Bruno Haible  <bruno@clisp.org>
129575         * modules/xsetenv: New module.
129576         * MODULES.html.sh (func_all_modules): Add it.
129578 2003-01-27  Bruno Haible  <bruno@clisp.org>
129580         * lib/xsetenv.h: New file, from GNU gettext.
129581         * lib/xsetenv.c: New file, from GNU gettext.
129583 2003-01-23  Jim Meyering  <jim@meyering.net>
129585         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
129586         from working on systems without dirfd (at least Irix and OSF1/Tru64).
129588 2003-01-23  Bruno Haible  <bruno@clisp.org>
129590         * modules/minmax: New module.
129591         * MODULES.html.sh (func_all_modules): Add it.
129593 2003-01-23  Bruno Haible  <bruno@clisp.org>
129595         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
129596         Eggert.
129598 2003-01-22  Bruno Haible  <bruno@clisp.org>
129600         * modules/exit: New module.
129601         * MODULES.html.sh (func_all_modules): Add it.
129603 2003-01-22  Bruno Haible  <bruno@clisp.org>
129605         * lib/exit.h: New file, from GNU gettext.
129607 2003-01-19  Bruno Haible  <bruno@clisp.org>
129609         * gnulib-tool: Recognize option --extract-maintainer.
129610         (func_get_maintainer): New function.
129611         * modules/*: Add Maintainer entry.
129613 2003-01-16  Jim Meyering  <jim@meyering.net>
129615         * m4/regex.m4: The `regex' struct is both input and output.
129616         Initialize it before each use.  Patch by Tim Waugh.
129618 2003-01-16  Bruno Haible  <bruno@clisp.org>
129620         * MODULES.html.sh: Add a table of contents. Add the module name as
129621         leftmost column. Add hyperlinks.
129623 2003-01-15  Bruno Haible  <bruno@clisp.org>
129625         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
129627 2003-01-15  Bruno Haible  <bruno@clisp.org>
129629         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
129630         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
129631         suffix.
129633 2003-01-15  Bruno Haible  <bruno@clisp.org>
129635         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
129637 2003-01-15  Bruno Haible  <bruno@clisp.org>
129639         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
129640         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
129642 2003-01-14  Jim Meyering  <jim@meyering.net>
129644         * lib/same.c (same_name): Tweak a comment.
129646 2003-01-14  Bruno Haible  <bruno@clisp.org>
129648         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
129649         when a string comparison is sufficient.
129651 2003-01-14  Bruno Haible  <bruno@clisp.org>
129653         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
129654         'unsigned int'.
129656 2003-01-14  Bruno Haible  <bruno@clisp.org>
129658         * lib/hash-pjw.c: Add comment about low quality of this function.
129660 2003-01-13  Bruno Haible  <bruno@clisp.org>
129662         * modules/stpcpy: Distribute lib/stpcpy.h.
129663         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
129665 2003-01-13  Bruno Haible  <bruno@clisp.org>
129667         * modules/*: Add a description.
129668         * modules/strpbrk: Fix Makefile.am snippet.
129669         * modules/strtoimax: Fix dependencies.
129670         * modules/strtoumax: Likewise.
129672 2003-01-13  Bruno Haible  <bruno@clisp.org>
129674         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
129675         * modules/alloca (Makefile.am): All object files depend on alloca.h.
129676         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
129678 2003-01-13  Bruno Haible  <bruno@clisp.org>
129680         * gnulib-tool (func_create_testdir): Store config/* files in the main
129681         directory.
129682         * config.rpath: Move to ...
129683         * config/config.rpath: ... here.
129684         * modules/gettext: Contains config/config.rpath, not config.rpath.
129685         * modules/iconv: Likewise.
129687 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129689         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129690         to avoid collisions with libcurses and libreadline.
129692         * m4/getstr.m4: Remove.
129693         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
129695 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129697         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129698         to avoid collisions with libcurses and libreadline.
129700         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
129701         * lib/getstr.h, getstr.c: Remove.
129702         * lib/getline.c: Include "getline.h", to check interface.
129703         Move body of old getstr.c here: this defines MIN_CHUNK and
129704         declares getdelim2, which is renamed from getstr.
129705         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
129707         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
129708         All uses changed.
129709         * lib/linebuffer.h: Likewise.
129710         (readline): Remove backward-compatibility macro.
129712 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129714         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129715         to avoid collisions with libcurses and libreadline.
129716         * getstr: Remove.
129717         * MODULES.html.sh: Remove getstr.
129718         * modules/getline: Depend on unlocked-io, not getstr.
129720 2003-01-12  Jim Meyering  <jim@meyering.net>
129722         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
129724 2003-01-10  Bruno Haible  <bruno@clisp.org>
129726         * modules/alloca: Change Makefile.am requirements. Simplify Include
129727         requirements. Add lib/alloca_.h to file list.
129729 2003-01-10  Bruno Haible  <bruno@clisp.org>
129731         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
129733 2003-01-10  Bruno Haible  <bruno@clisp.org>
129735         * lib/alloca_.h: New file.
129736         * lib/getdate.y: Unconditionally include alloca.h.
129737         * lib/makepath.c: Likewise.
129738         * lib/setenv.c: Likewise.
129739         * lib/userspec.c: Likewise.
129741 2003-01-09  Karl Berry  <karl@gnu.org>
129743         * MODULES.html.sh: include `dirname $0` in PATH, to find
129744         gnulib-tool.
129746 2003-01-09  Bruno Haible  <bruno@clisp.org>
129748         * modules/stdbool: Change configure.ac, Makefile.am requirements.
129749         Simplify Include requirements. Add lib/stdbool.h.in to file list.
129751 2003-01-09  Bruno Haible  <bruno@clisp.org>
129753         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
129755 2003-01-09  Bruno Haible  <bruno@clisp.org>
129757         * lib/stdbool.h.in: New file.
129759 2003-01-09  Bruno Haible  <bruno@clisp.org>
129761         * gnulib-tool (func_all_modules): Ignore files ending in ~.
129762         * MODULES.html.sh: Likewise.
129764 2003-01-08  Jim Meyering  <jim@meyering.net>
129766         * lib/full-write.c: Undefine and define-away `const' after inclusion
129767         of errno.h, not before.  Suggestion from Bruno Haible.
129769 2003-01-08  Bruno Haible  <bruno@clisp.org>
129771         * modules/full-read: Depend on full-write.
129773 2003-01-08  Bruno Haible  <bruno@clisp.org>
129775         * lib/safe-read.c: Include specification header first, to ensure its
129776         selfcontainedness.
129777         * lib/full-write.c: Likewise.
129779 2003-01-07  Jim Meyering  <jim@meyering.net>
129781         * lib/full-write.c: Rework so that it may serve to define full_read,
129782         too.
129783         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
129785 2003-01-07  Bruno Haible  <bruno@clisp.org>
129787         * lib/strtoimax.c: Include <stdint.h> as an alternative to
129788         <inttypes.h>.
129789         * lib/xstrtol.h: Likewise.
129790         * lib/xstrtoimax.c: Likewise.
129791         * lib/xstrtoumax.c: Likewise.
129792         * lib/human.h: Likewise.
129794         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
129795         on systems that have <inttypes.h> but not <stdint.h>.
129797 2003-01-07  Bruno Haible  <bruno@clisp.org>
129799         * MODULES.html.sh: Add copyright notice.
129800         (missed_files): Omit CVS directory entries.
129801         (func_module): Make it work with sed-3.02.
129802         * MODULES.txt: Remove file.
129804 2003-01-06  Jim Meyering  <jim@meyering.net>
129806         * lib/version-etc.c: Update year in translatable copyright string.
129808 2003-01-03  Karl Berry  <karl@gnu.org>
129810         * config/config.{guess,sub}: update from prep.
129812 2003-01-02  Karl Berry  <karl@gnu.org>
129814         * doc/COPYING.DOC: belatedly updated to 1.2.
129816 2003-01-01  Karl Berry  <karl@gnu.org>
129818         * gnulib-tool (func_verify_module): report module name $module in
129819         error message, not $1.
129820         * gnulib-tool (create-testdir): don't complain if destdir couldn't
129821         be created, only if it doesn't exist.
129822         * gnulib-tool (last_checkin_date): don't expand the $Date here.
129824 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129826         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
129828 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129830         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
129831         memcmp if strcoll doesn't work.
129833 2002-12-31  Bruno Haible  <bruno@clisp.org>
129835         * lib/utime.c (utime_null): No need to call ftruncate if the file was
129836         nonempty.
129838 2002-12-31  Bruno Haible  <bruno@clisp.org>
129840         * lib/memcoll.c (STRCOLL): New macro.
129841         (memcoll): Use it.
129843 2002-12-31  Bruno Haible  <bruno@clisp.org>
129845         * lib/localcharset.h: New file.
129846         * lib/localcharset.c: Include it.
129847         * lib/unicodeio.c: Likewise.
129849 2002-12-31  Bruno Haible  <bruno@clisp.org>
129851         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
129852         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
129854 2002-12-31  Bruno Haible  <bruno@clisp.org>
129856         * lib/getline.h: Include <stddef.h>, for size_t.
129858         * lib/unicodeio.h: Include <stddef.h>, for size_t.
129859         * lib/unicodeio.c: Don't include <stddef.h>.
129861 2002-12-31  Bruno Haible  <bruno@clisp.org>
129863         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
129864         HAVE_TM_ZONE.
129866 2002-12-24  Karl Berry  <karl@gnu.org>
129868         * config/config.guess: update from prep.
129870 2002-12-24  Bruno Haible  <bruno@clisp.org>
129872         General infrasructure.
129873         * m4/README: Rewritten.
129874         * m4/onceonly.m4: New file.
129875         * m4/onceonly_2_57.m4: New file.
129877         Module atexit.
129878         * m4/atexit.m4: New file.
129880         Module strtod.
129881         * m4/strtod.m4: New file.
129883         Module strtol.
129884         * m4/strtol.m4: New file.
129886         Module strtoul.
129887         * m4/strtoul.m4: New file.
129889         Module memchr.
129890         * m4/memchr.m4: New file.
129892         Module memcmp.
129893         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
129894         (jm_FUNC_MEMCMP): Invoke it.
129896         Module memcpy.
129897         * m4/memcpy.m4: New file.
129899         Module memmove.
129900         * m4/memmove.m4: New file.
129902         Module memset.
129903         * m4/memset.m4: New file.
129905         Module strcspn.
129906         * m4/strcspn.m4: New file.
129908         Module strpbrk.
129909         * m4/strpbrk.m4: New file.
129911         Module strstr.
129912         * m4/strstr.m4: New file.
129914         Module strerror.
129915         * m4/strerror.m4: New file.
129917         Module mktime.
129918         * m4/mktime.m4: Renamed from jm-mktime.m4.
129919         (gl_PREREQ_MKTIME): New macro.
129920         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
129922         Module malloc.
129923         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
129924         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
129925         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
129927         Module realloc.
129928         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
129929         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
129930         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
129932         Module strftime.
129933         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
129934         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
129935         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
129936         gl_TM_GMTOFF.
129937         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
129939         Module xalloc.
129940         * m4/xalloc.m4: New file.
129942         Module alloca.
129943         * m4/alloca.m4: New file.
129945         Module putenv.
129946         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
129947         (jm_FUNC_PUTENV): Invoke it.
129949         Module setenv.
129950         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
129951         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
129952         when invoked twice.
129953         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
129954         gt_FUNC_SETENV.
129956         Module memrchr.
129957         * m4/memrchr.m4: New file.
129959         Module stpcpy.
129960         * m4/stpcpy.m4: New file.
129962         Module strcase.
129963         * m4/strcase.m4: New file.
129965         Module strdup.
129966         * m4/strdup.m4: New file.
129968         Module strnlen.
129969         * m4/strnlen.m4: New file.
129971         Module strndup.
129972         * m4/strndup.m4: New file.
129974         Module xstrtod.
129975         * m4/xstrtod.m4: New file.
129977         Module xstrtol.
129978         * m4/xstrtol.m4: New file.
129980         Module getdate.
129981         * m4/getdate.m4: New file.
129983         Module unlocked-io.
129984         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
129985         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
129986         * m4/jm-glibc-io.m4n: Remove file.
129988         Module long-options.
129989         * m4/long-options.m4: New file.
129991         Module md5.
129992         * m4/md5.m4: New file.
129994         Module sha.
129995         * m4/sha.m4: New file.
129997         Module getstr.
129998         * m4/getstr.m4: New file.
130000         Module getline.
130001         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
130002         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
130003         <sys/types.h>, for size_t. Use the function name gnu_getline, not
130004         simply getline. Infoke gl_PREREQ_GETLINE.
130006         Module obstack.
130007         * m4/obstack.m4: New file.
130009         Module hash.
130010         * m4/hash.m4: New file.
130012         Module readtokens.
130013         * m4/readtokens.m4: New file.
130015         Module strverscmp.
130016         * m4/strverscmp.m4: New file.
130018         Module stdbool.
130019         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
130020         OSF/1.
130022         Module strtoll.
130023         * m4/strtoll.m4: New file.
130025         Module strtoull.
130026         * m4/strtoull.m4: New file.
130028         Module strtoimax.
130029         * m4/strtoimax.m4: New file.
130031         Module strtoumax.
130032         * m4/strtoumax.m4: New file.
130034         Module xstrtoimax.
130035         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
130036         jm_AC_PREREQ_XSTRTOIMAX.
130037         Moved the strtol prerequisites to strtol.m4.
130038         Moved the strtoll prerequisites to strtoll.m4.
130039         Moved the strtoimax prerequisites to strtoimax.m4.
130041         Module xstrtoumax.
130042         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
130043         jm_AC_PREREQ_XSTRTOUMAX.
130044         Moved the strtoul prerequisites to strtoul.m4.
130045         Moved the strtoull prerequisites to strtoull.m4.
130046         Moved the strtoumax prerequisites to strtoumax.m4.
130048         Module chown.
130049         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
130050         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
130052         Module dup2.
130053         * m4/dup2.m4: New file.
130055         Module ftruncate.
130056         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
130057         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
130059         Module getgroups.
130060         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
130061         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
130063         Module gettimeofday.
130064         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
130065         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
130066         gl_PREREQ_GETTIMEOFDAY.
130068         Module mkdir.
130069         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
130070         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
130072         Module mkstemp.
130073         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
130074         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
130075         jm_AC_TYPE_UINTMAX_T.
130076         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
130078         Module stat.
130079         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
130080         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
130082         Module lstat.
130083         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
130084         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
130086         Module timespec.
130087         * m4/timespec.m4 (gl_TIMESPEC): New macro.
130088         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
130089         * m4/st_mtim.m4: Indentation.
130091         Module nanosleep.
130092         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
130093         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
130094         gl_PREREQ_NANOSLEEP.
130096         Module regex.
130097         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
130098         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
130099         (gl_REGEX): New macro.
130101         Module rename.
130102         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
130103         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
130105         Module rmdir.
130106         * m4/rmdir.m4: New file.
130108         Module utime.
130109         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
130110         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
130111         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
130113         Module dirname.
130114         * m4/dirname.m4: New file.
130116         Module getopt.
130117         * m4/getopt.m4: New file.
130119         Module unistd-safer.
130120         * m4/unistd-safer.m4: New file.
130122         Module fnmatch.
130123         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
130124         declaration.
130125         (gl_PREREQ_FNMATCH_EXTRA): New macro.
130126         (gl_FUNC_FNMATCH_POSIX): New macro.
130127         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
130128         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
130129         simply fnmatch.
130131         Module exclude.
130132         * m4/exclude.m4: New file.
130134         Module human.
130135         * m4/human.m4: New file.
130137         Module acl.
130138         * m4/acl.m4: Nop.
130140         Module backupfile.
130141         * m4/backupfile.m4: New file.
130142         * m4/d-ino.m4: Indentation.
130144         Module fsusage.
130145         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
130146         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
130147         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
130149         Module dirfd.
130150         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
130151         requirements.
130153         Module euidaccess.
130154         * m4/euidaccess.m4: New file.
130156         Module file-type.
130157         * m4/file-type.m4: New file.
130159         Module fileblocks.
130160         * m4/fileblocks.m4: New file.
130162         Module filemode.
130163         * m4/filemode.m4: New file.
130165         Module isdir.
130166         * m4/isdir.m4: New file.
130168         Module lchown.
130169         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
130170         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
130172         Module makepath.
130173         * m4/makepath.m4: New file.
130175         Module modechange.
130176         * m4/modechange.m4: New file.
130178         Module mountlist.
130179         * m4/mountlist.m4: New file.
130180         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
130181         Indentation.
130183         Module path-concat.
130184         * m4/path-concat.m4: New file.
130186         Module pathmax.
130187         * m4/pathmax.m4: New file.
130189         Module same.
130190         * m4/same.m4: New file.
130192         Module save-cwd.
130193         * m4/save-cwd.m4: New file.
130195         Module savedir.
130196         * m4/savedir.m4: New file.
130198         Module xgetcwd.
130199         * m4/xgetcwd.m4: New file.
130200         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
130202         Module xreadlink.
130203         * m4/xreadlink.m4: New file.
130205         Module safe-read.
130206         * m4/safe-read.m4: New file.
130208         Module safe-write.
130209         * m4/safe-write.m4: New file.
130211         Module closeout.
130212         * m4/closeout.m4: New file.
130214         Module stdio-safer.
130215         * m4/stdio-safer.m4: New file.
130217         Module getpass.
130218         * m4/getpass.m4: New file.
130220         Module getugroups.
130221         * m4/getugroups.m4: New file.
130223         Module group-member.
130224         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
130225         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
130227         Module idcache.
130228         * m4/idcache.m4: New file.
130230         Module userspec.
130231         * m4/userspec.m4: New file.
130233         Module gettime.
130234         * m4/clock_time.m4: New file.
130235         * m4/gettime.m4: New file.
130237         Module settime.
130238         * m4/settime.m4: New file.
130240         Module posixtm.
130241         * m4/posixtm.m4: New file.
130243         Module gethostname.
130244         * m4/gethostname.m4: New file.
130246         Module canon-host.
130247         * m4/canon-host.m4: New file.
130249         Module gettext.
130250         * m4/codeset.m4: New file, from gettext-0.11.5.
130251         * m4/gettext.m4: New file, from gettext-0.11.5.
130252         * m4/glibc21.m4: New file, from gettext-0.11.5.
130253         * m4/iconv.m4: New file, from gettext-0.11.5.
130254         * m4/intdiv0.m4: New file, from gettext-0.11.5.
130255         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
130256         * m4/inttypes.m4: New file, from gettext-0.11.5.
130257         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
130258         * m4/isc-posix.m4: New file, from gettext-0.11.5.
130259         * m4/lcmessage.m4: New file, from gettext-0.11.5.
130260         * m4/lib-ld.m4: New file, from gettext-0.11.5.
130261         * m4/lib-link.m4: New file, from gettext-0.11.5.
130262         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
130263         * m4/progtest.m4: New file, from gettext-0.11.5.
130264         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
130265         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
130266         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
130268         Module localcharset.
130269         * m4/localcharset.m4: New file.
130271         Module hard-locale.
130272         * m4/hard-locale.m4: New file.
130274         Module mbswidth.
130275         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
130276         onceonly macros.
130277         * m4/mbrtowc.m4: Add comment.
130279         Module memcasecmp.
130280         * m4/memcasecmp.m4: New file.
130282         Module memcoll.
130283         * m4/memcoll.m4: New file.
130285         Module unicodeio.
130286         * m4/unicodeio.m4: New file.
130288         Module rpmatch.
130289         * m4/rpmatch.m4: New file.
130291         Module yesno.
130292         * m4/yesno.m4: New file.
130294         Module exitfail.
130295         * m4/exitfail.m4: New file.
130297         Module c-stack.
130298         * m4/c-stack.m4 (gl_C_STACK): New macro.
130299         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
130301         Module error.
130302         * m4/error.m4 (gl_ERROR): New macro.
130303         (jm_PREREQ_ERROR): Use onceonly macros.
130305         Module fatal.
130306         * m4/fatal.m4: New file.
130308         Module getloadavg.
130309         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
130310         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
130312         Module getpagesize.
130313         * m4/getpagesize.m4: New file.
130315         Module getusershell.
130316         * m4/getusershell.m4: New file.
130318         Module physmem.
130319         * m4/physmem.m4: New file.
130321         Module posixver.
130322         * m4/posixver.m4: New file.
130324         Module quotearg.
130325         * m4/quotearg.m4: New file.
130327         Module quote.
130328         * m4/quote.m4: New file.
130330         Module readutmp.
130331         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
130333         Module sig2str.
130334         * m4/sig2str.m4: New file.
130336         Other.
130337         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
130338         ulonglong.m4.
130339         * m4/intmax_t.m4: New file.
130340         * m4/d-type.m4: Indentation.
130341         * m4/jm-macros.m4: Update.
130342         * m4/prereq.m4 (jm_PREREQ): Update.
130343         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
130344         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
130345         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
130346         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
130347         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
130348         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
130349         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
130350         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
130351         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
130352         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
130353         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
130354         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
130355         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
130356         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
130357         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
130358         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
130359         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
130360         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
130361         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
130363 2002-12-24  Bruno Haible  <bruno@clisp.org>
130365         * MODULES.txt: Update according to m4/ changes.
130367         Module gettext.
130368         * config.rpath: New file, from gettext-0.11.5.
130370         * modules/*: New module descriptions.
130371         * gnulib-tool: New file.
130372         * MODULES.html.sh: New file.
130374 2002-12-21  Karl Berry  <karl@gnu.org>
130376         * doc/fdl.texi: update to version 1.2.
130378 2002-12-19  Karl Berry  <karl@gnu.org>
130380         * config/config.guess: update from prep.
130382 2002-12-18  Bruno Haible  <bruno@clisp.org>
130384         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
130385         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
130387 2002-12-17  Bruno Haible  <bruno@clisp.org>
130389         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
130390         stdlib.h, string.h.
130392 2002-12-17  Bruno Haible  <bruno@clisp.org>
130394         * lib/canon-host.c (strdup): Remove unused declaration.
130396         * lib/fsusage.c: Include full_read.h.
130397         (get_fs_usage): Use full_read instead of safe_read.
130399         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
130401 2002-12-12  Karl Berry  <karl@gnu.org>
130403         * config/config.guess: update from prep.
130405 2002-12-11  Bruno Haible  <bruno@clisp.org>
130407         * m4/setenv.m4: New file, from gettext-0.11.5.
130409 2002-12-11  Bruno Haible  <bruno@clisp.org>
130411         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
130412         not unsetenv().
130413         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
130414         modifications:
130416         2002-12-11  Bruno Haible  <bruno@clisp.org>
130418                 * setenv.c (alloca): Fall back to malloc.
130419                 (freea): New macro.
130420                 (setenv): Use freea() to free memory allocated with alloca().
130422         2002-11-13  Bruno Haible  <bruno@clisp.org>
130424                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
130425                 function declarations.
130426                 * unsetenv.c (unsetenv): Likewise.
130428         2002-03-04  Bruno Haible  <bruno@clisp.org>
130430                 Portability to AIX 4.3.3.
130431                 * unsetenv.c: New file, extracted from setenv.c.
130432                 * setenv.c: Move the unsetenv() function to unsetenv.c.
130434         2001-12-20  Bruno Haible  <bruno@clisp.org>
130436                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
130437                 use malloc instead. For SunOS 4.
130439         2001-12-11  Bruno Haible  <bruno@clisp.org>
130441                 * setenv.c: Declare alloca.
130442                 (compar_fn_t): New typedef.
130443                 (KNOWN_VALUE, STORE_VALUE): Use it.
130445         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
130446         setenv.h.
130448 2002-12-10  Paul Eggert  <eggert@twinsun.com>
130450         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
130451         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
130452         Choose values that are less likely to collide with system fnmatch
130453         options.
130454         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
130455         defined (e.g., a pure POSIX system).
130456         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
130457         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
130459 2002-12-06  Paul Eggert  <eggert@twinsun.com>
130461         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
130462         a pain in practice to deal with generated m4 files.  This change
130463         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
130465         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
130466         and jm-glibc-io.m4, as they are no longer a special case.
130467         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
130468         kludge and the auto-generation stuff.  Check only whether the
130469         functions are declared, not whether they exist, since older hosts
130470         that don't declare the functions can't use the optimization anyway.
130472 2002-12-06  Jim Meyering  <jim@meyering.net>
130474         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
130476         Merge in changes from libc's misc/error.c, in preparation
130477         for the merge of gnulib's changes back into libc.
130479         * lib/error.c (_): Define only if not already defined.
130480         Move definition to follow all #include directives.
130481         Include unlocked-io.h only if !_LIBC.
130482         [_LIBC]: Include <libio/libioP.h>.
130483         [USE_IN_LIBIO]: Include <libio/iolibio.h>
130484         (fflush): Tweak definition to use INTUSE.
130485         (putc): Define.
130487 2002-12-05  Paul Eggert  <eggert@twinsun.com>
130489         * lib/alloca.c [defined emacs]: Include "lisp.h".
130490         (xalloc_die) [defined emacs]: New macro.
130491         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
130492         [! defined emacs]: Include <xalloc.h>.
130493         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
130494         (pointer): Typedef to POINTER_TYPE *.
130495         (malloc): Remove decl; we now always use xmalloc.
130496         (alloca): Use old-style definition, since Emacs needs this.
130497         Check for arithmetic overflow when computing combined size.
130499 2002-12-04  Paul Eggert  <eggert@twinsun.com>
130501         Do not generate unlocked-io.h automatically, since it's easier to
130502         maintain it by hand.
130504         * lib/unlocked-io.h: New file, from GNU diffutils,
130505         but with proper copyright notice and attribution.
130506         * lib/gen-uio: Remove.
130507         * lib/Makefile.am: Add copyright notice.
130508         (libfetish_a_SOURCES): Add unlocked-io.h.
130509         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
130510         (DISTCLEANFILES, io_functions): Remove macros.
130511         (EXTRA_DIST): Remove gen_uio.
130512         (unlocked-io.h): Remove rule.
130514 2002-12-04  Jim Meyering  <jim@meyering.net>
130516         Reflect the fact that stat.c and lstat.c are no longer generated.
130517         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
130518         (DISTCLEANFILES): Likewise.
130519         (EXTRA_DIST): Likewise.
130520         (all_local): Don't depend on stat.c or lstat.c.
130521         (stat.c, lstat.c): Remove rules.
130522         (EXTRA_DIST): Remove xstat.in.
130524         * lib/xstat.in: Remove file.  Contents moved into stat.c.
130525         * lib/stat.c: New file.  Contents mostly from xstat.in.
130526         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
130527         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
130529         * lib/safe-read.c: Rework so that it may serve to define safe_write,
130530         too.
130531         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
130533 2002-12-03  Jim Meyering  <jim@meyering.net>
130535         * lib/safe-read.c, safe-write.c: Change variable names and comments,
130536         but not semantics, to minimize the differences between these two files.
130537         (safe_read): Change comment to mention SAFE_READ_ERROR.
130539         * lib/safe-read.c (IS_EINTR): Define.
130540         (safe_read): Use IS_EINTR in place of in-function cpp directives.
130542 2002-12-02  Jim Meyering  <jim@meyering.net>
130544         * lib/safe-read.c (EINTR): Define.
130545         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
130546         (INT_MAX): Provide fallback.
130547         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
130549         * lib/safe-read.h (SAFE_READ_ERROR): Define.
130551 2002-12-02  Bruno Haible  <bruno@clisp.org>
130553         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
130554         Define, taken from safe-read.c.
130555         (INT_MAX): Provide fallback.
130556         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
130557         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
130559         * lib/safe-read.c (EINTR): Remove definition.
130560         (safe_read): Don't use EINTR if it is absent.
130562 2002-12-01  Jim Meyering  <jim@meyering.net>
130564         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
130565         zero.
130566         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
130568 2002-11-27  Paul Eggert  <eggert@twinsun.com>
130570         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
130571         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
130572         with `if (! (value < limit)) abort ();', for readability.
130574 2002-11-26  Karl Berry  <karl@gnu.org>
130576         * lib/strdup.c: copy from libc again, with jim's ok.
130577         * lib/.cppi-disable: re-add strdup.c
130579 2002-11-25  Karl Berry  <karl@gnu.org>
130581         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
130582         instead of "strtol.c".
130584 2002-11-25  Karl Berry  <karl@gnu.org>
130586         * config/install-sh: update from automake for variable quoting, $0 in
130587         error msgs, etc.
130589         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
130590         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
130591         entry.
130593 2002-11-25  Jim Meyering  <jim@meyering.net>
130595         * lib/mktime.c: Sync from libc, now that it has the latest fix.
130597 2002-11-24  Karl Berry  <karl@gnu.org>
130599         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
130600         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
130602 2002-11-24  Jim Meyering  <jim@meyering.net>
130604         Update from coreutils:
130606         * lib/mktime.c: Merge in changes from libc.
130608         Avoid a link-time failure on some Linux systems.
130609         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
130610         (otherwise).
130611         (__mon_yday): Declare with the STATIC attribute.
130612         (__mktime_internal): Likewise.
130613         Based on a report from Greg Schafer.
130615 2002-11-23  Jim Meyering  <jim@meyering.net>
130617         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
130618         Use `unsigned', not `int', as type of index.
130620         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
130622         * lib/fsusage.c: Remove unneeded parentheses around operands of
130623         `defined'.
130625 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130627         * lib/quotearg.h: Allow multiple inclusion by surrounding with
130628         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
130629         so that we can be included first.
130630         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
130631         * lib/quotearg.c: Include quotearg.h immediately after config.h.
130632         No need to include stddef.h or sys/types.h any more.
130633         Surround local include files with "", not "<>".
130634         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
130635         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
130636         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
130637         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
130638         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
130639         (ISPRINT): Remove; no longer needed now that we assume C89.
130641         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
130642         Preserve errno.
130644         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
130645         quotearg_char): Use SIZE_MAX rather than
130646         (size_t) -1 when we are talking about "infinity".
130648         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
130650 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130652         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
130653         hint that one should use `if (! x) abort ();' rather than `assert
130654         (x);', and anyway it's one less thing to worry about configuring.
130655         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
130656         hash_rehash, hash_insert): Use abort rather than assert.
130658 2002-11-22  Bruno Haible  <bruno@clisp.org>
130660         * lib/safe-read.h: Assume C89. Add comments.
130661         (safe_read): Change return type to size_t.
130662         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
130663         byte counts > SSIZE_MAX correctly.
130664         * lib/safe-write.h: New file.
130665         * lib/safe-write.c: New file.
130666         * lib/full-read.h: New file.
130667         * lib/full-read.c: New file.
130668         * lib/full-write.h: Assume C89. Add comments.
130669         * lib/full-write.c: Include safe-write.h.
130670         (full_write): Rewritten to use safe_write.
130671         Suggested by Jim Meyering and Paul Eggert.
130673 2002-11-21  Jim Meyering  <jim@meyering.net>
130675         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
130677         Merge in changes from the coreutils.
130679         2002-09-25  Paul Eggert  <eggert@twinsun.com>
130680         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
130681         <stdint.h>.
130682         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
130683         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
130684         int.  Work more efficiently if X is the same width as uintmax_t.
130685         Do not compare X to -1, to avoid bogus compiler warning.
130686         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
130687         Don't assume that f_frsize and f_bsize are the same type.
130689         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
130690         warning on FreeBSD.
130692         * lib/makepath.c (make_path): Restore umask *before* creating the final
130693         component.
130694         (make_path): Minor reformatting.
130696         * lib/xmalloc.c: Adjust to work with new autoconf macros,
130697         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
130698         HAVE_MALLOC/HAVE_REALLOC.
130700         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
130701         dummy ones.  At least on GNU/Linux systems, `auto' means something
130702         else.
130703         From Michael Stone.
130705 2002-11-21  Bruno Haible  <bruno@clisp.org>
130707         Remove case insensitive option matching.
130708         * lib/argmatch.h (argcasematch): Remove declaration.
130709         (ARGCASEMATCH): Remove macro.
130710         (__xargmatch_internal): Remove case_sensitive argument.
130711         (XARGMATCH): Update.
130712         (XARGCASEMATCH): Remove macro.
130713         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
130714         case_sensitive argument.
130715         (argcasematch): Remove function.
130716         (__xargmatch_internal): Remove case_sensitive argument.
130717         (main): Use XARGMATCH instead of XARGCASEMATCH.
130719         * lib/xmalloc.c: Change compile-time error message. Add comment about
130720         required autoconf version.
130722 2002-11-20  Paul Eggert  <eggert@twinsun.com>
130724         Merge argmatch cleanups from Bison.  Assume C89.
130726         * lib/argmatch.c: Include config.h here, not in argmatch.h.
130727         Include stdlib.h, for EXIT_FAILURE.
130728         Always include <string.h>, since we assume C89.
130729         (EXIT_FAILURE): Remove pre-C89 bug workaround.
130730         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
130731         Include <stddef.h> instead, since it's all we need for size_t.
130732         (PARAMS): Remove.  All uses removed.
130733         (ARRAY_CARDINALITY): Do not bother to #undef.
130734         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
130735         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130736         Remove unnecessary parentheses.
130737         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130738         Insert necessary parentheses.
130739         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
130740         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
130742 2002-11-19  Bruno Haible  <bruno@clisp.org>
130744         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
130745         * lib/mbswidth.h: Include <stddef.h>, for size_t.
130747         * lib/mbswidth.h (PARAMS): Remove macro.
130748         (mbswidth, mbsnwidth): Use ANSI C function declarations.
130749         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
130751         * lib/gcd.h (PARAMS): Remove macro.
130752         (gcd): Use ANSI C function declarations.
130753         * lib/gcd.c (gcd): Likewise.
130755 2002-11-15  Bruno Haible  <bruno@clisp.org>
130757         * lib/strcspn.c: Include <stddef.h>.
130758         (strcspn): Use ANSI C function declaration. Change return type to
130759         size_t. Use NULL.
130760         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
130761         (strpbrk): Use NULL.
130762         * lib/strpbrk.h (PARAMS): Remove macro.
130763         (strpbrk): Use ANSI C function declaration.
130764         * lib/strstr.c: Don't include <sys/types.h>.
130765         * lib/strstr.h (PARAMS): Remove macro.
130766         (strstr): Use ANSI C function declarations.
130768 2002-11-14  Karl Berry  <karl@gnu.org>
130770         * config/mkinstalldirs: `do' on separate line, instead of
130771         `for var; do'.
130773 2002-11-06  Bruno Haible  <bruno@clisp.org>
130775         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
130776         * lib/gcd.c (gcd): Likewise.
130778 2002-11-05  Bruno Haible  <bruno@clisp.org>
130780         * lib/gcd.h: New file, from gettext-0.11.5.
130781         * lib/gcd.c: New file, from gettext-0.11.5.
130783 2002-11-05  Bruno Haible  <bruno@clisp.org>
130785         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130786         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130787         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130788         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130790         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
130791         <libintl.h>.
130792         * lib/makepath.c: Include gettext.h instead of <locale.h> and
130793         <libintl.h>.
130795         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
130796         * lib/human.c: Include gettext.h instead of <libintl.h>.
130797         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
130798         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
130799         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
130800         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
130801         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
130802         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
130803         (textdomain): Remove definition.
130804         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
130806         * lib/long-options.c: Remove include of <libintl.h> and definition of
130807         _.
130808         * lib/same.c: Remove include of <libintl.h> and definition of _.
130810 2002-11-04  Owen Taylor  <otaylor@redhat.com>
130812         * lib/config.charset: A few additions for Solaris.
130814 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130816         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
130817         * lib/localcharset.c (locale_charset): Declare as extern "C".
130819 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130821         * lib/config.charset: msdos in uk_UA uses CP1125.
130823 2002-11-04  Bruno Haible  <bruno@clisp.org>
130825         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
130826         * lib/strcase.h: New file, from GNU gettext-0.11.5.
130827         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
130828         * lib/strstr.h: New file, from GNU gettext-0.11.5.
130829         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
130831 2002-11-04  Bruno Haible  <bruno@clisp.org>
130833         * lib/localcharset.c (locale_charset): Don't return an empty string.
130835 2002-11-04  Bruno Haible  <bruno@clisp.org>
130837         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
130838         aliases.
130840 2002-11-04  Bruno Haible  <bruno@clisp.org>
130842         * lib/config.charset: Update for newest glibc. Add canonical names
130843         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
130845 2002-11-04  Bruno Haible  <bruno@clisp.org>
130847         * lib/config.charset: Add support for NetBSD.
130849 2002-11-04  Bruno Haible  <bruno@clisp.org>
130851         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
130853 2002-11-01  Bruno Haible  <bruno@clisp.org>
130855         * configure.in: Add AC_CONFIG_AUX_DIR call.
130856         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
130857         test/Makefile.
130858         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
130860 2002-09-28  Karl Berry  <karl@gnu.org>
130862         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
130863         installed automake until the next release, since changes have been
130864         made.
130866 2002-09-25  Karl Berry  <karl@gnu.org>
130868         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
130869         * lib/getopt*: copy from libc/posix.
130870         * lib/gettext.h: copy from gettext.
130871         * lib/.cppi-disable: add strdup.c, gettext.h.
130873 2002-09-25  Karl Berry  <karl@gnu.org>
130875         * config/srclist.txt: enable gettext.h check.
130876         * config/config.{guess,sub}: update from prep.
130877         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
130878                 from automake 1.6.3.
130879         See srclist*.
130881 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
130883         * regex.c (PATFETCH): Remove the translating fetch.
130884         (PATFETCH_RAW): Rename to PATFETCH.
130885         (set_image_of_range): New fun.
130886         (SET_RANGE_TABLE_WORK_AREA): Use it.
130887         (regex_compile): Don't translate the pattern chars so eagerly.
130888         Only do it when inserting an `exactn' bytecode or when handling
130889         a char-range.
130890         (mutually_exclusive_p): Avoid empty statement.
130892 2002-07-06  Jim Meyering  <meyering@lucent.com>
130894         * m4/README: Don't mention Makefile.am.in.
130895         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
130897 2002-07-01  Jim Meyering  <meyering@lucent.com>
130899         * lib/c-stack.c: Include sys/time.h.
130900         From Volker Borchert.
130902 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130904         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
130906 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130908         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
130909         New macro.  Use it uniformly instead of
130910         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
130911         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
130912         reported by Vin Shelton.
130914 2002-06-22  Paul Eggert  <eggert@twinsun.com>
130916         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
130917         Do not assume SA_SIGINFO behavior.
130918         Bug reported by Jim Meyering on NetBSD 1.5.2.
130920 2002-06-22  Jim Meyering  <meyering@lucent.com>
130922         * m4/c-stack.m4: New file, from diffutils-2.8.2.
130923         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
130925         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
130926         now that configure.ac uses AC_GNU_SOURCE.
130927         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
130928         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
130930         Update to latest tools.  Suggestions from Paul Eggert.
130931         * m4/stdbool.m4: New file, from diffutils-2.8.2.
130932         * m4/gnu-source.m4: Update from diffutils-2.8.2.
130933         * m4/fnmatch.m4: Likewise.
130934         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
130935         to AC_HEADER_STDBOOL
130937 2002-06-22  Jim Meyering  <meyering@lucent.com>
130939         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
130940         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
130942 2002-06-22  Jim Meyering  <meyering@lucent.com>
130944         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
130946         * lib/exitfail.c, exitfail.h: Likewise.
130947         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
130949         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
130950         of fnmatch.h.
130951         (EXTRA_DIST): Add fnmatch_loop.c.
130952         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
130954         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
130955         * lib/fnmatch.c: Update from diffutils-2.8.2.
130956         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
130957         * lib/fnmatch.h: Remove file.
130959 2002-06-21  Jim Meyering  <meyering@lucent.com>
130961         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
130962         * m4/mbrtowc.m4: Likewise.
130964         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
130965         * m4/mbswidth.m4: Reflect name change:
130966         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
130967         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
130969         * m4/lib-link.m4: Update from gettext-0.11.2.
130970         * m4/gettext.m4: Likewise.
130972         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
130973         From Alfred M. Szmidt.
130975 2002-06-18  Paul Eggert  <eggert@twinsun.com>
130977         * lib/file-type.h: Report an error if neither S_ISREG nor
130978         S_IFREG is defined, instead of using a test specific to glibc
130979         2.2.  This should be safe, since POSIX requires S_ISREG and
130980         Unix Version 7 had S_IFREG.  We don't need to check for
130981         <sys/types.h> since we don't use any symbols that it defines.
130983 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
130985         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
130986         $@-t, so that each temporary file name is unique and valid in the first
130987         8 characters, for operation under DOS.
130989 2002-06-15  Paul Eggert  <eggert@twinsun.com>
130991         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
130993 2002-06-15  Jim Meyering  <meyering@lucent.com>
130995         Work even with DJGPP 2.03, which lacks support for symlinks.
130996         From Richard Dawe.
130997         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
130998         is defined.
130999         * lib/lchown.c (S_ISLNK): Likewise.
131001 2002-06-15  Jim Meyering  <meyering@lucent.com>
131003         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
131004         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
131005         have been included before this file.
131007 2002-06-14  Jim Meyering  <meyering@lucent.com>
131009         * lib/file-type.h: Use the version from diffutils-2.8.2.
131010         * lib/file-type.c: Likewise.
131012 2002-06-07  Jim Meyering  <meyering@lucent.com>
131014         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
131015         They're needed at least for NetBSD 1.5.2.
131016         ($statxfs_includes): Include those same headers.
131017         ($statxfs_includes): Include sys/vfs.h if available.
131018         ($statxfs_includes): Likewise for sys/statvfs.h.
131019         Check for the following members in both structs statfs and statvfs:
131020         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
131022 2002-06-01  Jim Meyering  <meyering@lucent.com>
131024         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
131025         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
131027 2002-05-28  Jim Meyering  <meyering@lucent.com>
131029         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
131030         Reported by Volker Borchert.
131032 2002-05-27  Jim Meyering  <meyering@lucent.com>
131034         Fix a problem seen only on nonconforming systems whereby ls.c's
131035         use of localtime, and then of gettimeofday would cause trouble:
131036         the localtime call used to initialize rpl_gettimeofday's save
131037         mechanism would clobber ls's current local time information so
131038         that in any long listing the first file would always be listed
131039         with date 1970-01-01.  Analysis by Volker Borchert.
131041         * lib/gettimeofday.c (localtime): Undefine.
131042         (rpl_localtime): New function.
131044 2002-05-27  Jim Meyering  <meyering@lucent.com>
131046         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
131047         localtime.
131049         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
131050         use the replacement function; it wouldn't resolve at link time.
131051         Reported by Volker Borchert.
131053 2002-05-22  Jim Meyering  <meyering@lucent.com>
131055         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
131056         file-type.h.
131057         * lib/file-type.h: New file.
131058         * lib/file-type.c (file_type): New file/function.  Extracted from
131059         diffutils.
131061 2002-04-30  Jim Meyering  <meyering@lucent.com>
131063         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
131065 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131067         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
131069 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131071         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
131072         Do not check for alloca.h (no longer used) or stdbool.h (was never
131073         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
131075 2002-04-29  Paul Eggert  <eggert@twinsun.com>
131077         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
131079 2002-04-29  Jim Meyering  <meyering@lucent.com>
131081         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
131082         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
131083         Use AC_FUNC_STRNLEN here instead.
131085         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
131086         With autoconf-2.53a, it's part of AC_PROG_CC.
131088 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131090         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
131091         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
131093 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131095         * lib/sig2str.h, lib/sig2str.c: New files.
131096         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
131098 2002-04-28  Paul Eggert  <eggert@twinsun.com>
131100         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
131101         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
131102         of 127, since 64 is the largest conceivable number for ancient
131103         nonstandard hosts.
131104         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
131106 2002-04-28  Jim Meyering  <meyering@lucent.com>
131108         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
131110 2002-04-24  Jim Meyering  <meyering@lucent.com>
131112         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
131113         (jm_PREREQ): Use it.
131115         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
131116         mach/mach.h fcntl.h.
131117         Check for this function: setlocale.
131119 2002-04-24  Jim Meyering  <meyering@lucent.com>
131121         * lib/gettext.h: New file, from Gettext.
131122         * lib/Makefile.am (INCLUDES): Remove -I../intl.
131123         (libfetish_a_SOURCES): Add gettext.h.
131125 2002-04-16  Jim Meyering  <meyering@lucent.com>
131127         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
131128         ut_pid, ut_id, ut_exit.
131130 2002-04-16  Jim Meyering  <meyering@lucent.com>
131132         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
131133         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
131134         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
131136 2002-04-12  Jim Meyering  <meyering@lucent.com>
131138         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
131139         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
131140         existence of the getmntinfo function.  Needed for Darwin 5.3.
131142         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
131143         This is necessary at least on Darwin 5.3.
131145         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
131146         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
131147         strnlen.o in the library, and that makes some versions of ranlib
131148         object.
131150 2002-04-12  Jim Meyering  <meyering@lucent.com>
131152         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
131154 2002-04-09  Jim Meyering  <meyering@lucent.com>
131156         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
131157         to be more precise.  Rather than saying we're checking whether the
131158         function `works', say what we're testing.
131159         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
131160         Reported by Bruno Haible.
131162 2002-03-10  Jim Meyering  <meyering@lucent.com>
131164         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
131165         Suggestion from Santiago Vila.
131167 2002-03-08  Jim Meyering  <meyering@lucent.com>
131169         * lib/rename.c: Mention that this wrapper is needed also on
131170         mips-dec-ultrix4.4 systems.
131172 2002-03-02  Jim Meyering  <meyering@lucent.com>
131174         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
131175         not HAVE_CLOCK_SETTIME.
131177 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131179         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
131180         Check for clock_settime.
131182 2002-02-27  Paul Eggert  <eggert@twinsun.com>
131184         * lib/nanosleep.h: Rename to....
131185         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
131187         * lib/gettime.c: New file.
131188         * lib/settime.c: New file.
131189         * lib/stime.c: Remove.
131191         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
131192         timespec.h.  Remove nanosleep.h.
131194 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131196         * m4/acl.m4: New file.
131197         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
131198         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
131200 2002-02-25  Paul Eggert  <eggert@twinsun.com>
131202         * lib/acl.c, lib/acl.h: New files.
131203         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
131205 2002-02-24  Jim Meyering  <meyering@lucent.com>
131207         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
131208         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
131209         cause trouble.  Reported by Nelson Beebe.
131211 2002-02-23  Paul Eggert  <eggert@twinsun.com>
131213         * lib/path-concat.c (xpath_concat): Reorder code to pacify
131214         compilers that don't know that xalloc_die never returns.
131216 2002-02-20  Jim Meyering  <meyering@lucent.com>
131218         * lib/getdate.c: Regenerate using bison-1.33.
131220 2002-02-17  Jim Meyering  <meyering@lucent.com>
131222         * config/config.guess (main): Don't use `head -1'; it's no longer
131223         portable. Use `sed 1q' instead.
131225 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
131227         * m4/codeset.m4: Upgrade to gettext-0.11.
131228         * m4/gettext.m4: Upgrade to gettext-0.11.
131229         * m4/glibc21.m4: Upgrade to gettext-0.11.
131230         * m4/iconv.m4: Upgrade to gettext-0.11.
131231         * m4/isc-posix.m4: Upgrade to gettext-0.11.
131232         * m4/lcmessage.m4: Upgrade to gettext-0.11.
131233         * m4/lib-ld.m4: New file, from gettext-0.11.
131234         * m4/lib-link.m4: New file, from gettext-0.11.
131235         * m4/lib-prefix.m4: New file, from gettext-0.11.
131236         * m4/progtest.m4: Upgrade to gettext-0.11.
131238 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131240         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
131241         (jm_PREREQ): Use it.
131243 2002-02-15  Paul Eggert  <eggert@twinsun.com>
131245         * lib/posixver.c, lib/posixver.h: New files.
131246         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131248 2002-02-02  Paul Eggert  <eggert@twinsun.com>
131249             Bruno Haible  <bruno@clisp.org>
131251         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
131252         (fwrite_success_callback): New declaration.
131253         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
131254         print_unicode_char. Call failure callback instead of error.
131255         (fwrite_success_callback): New function.
131256         (exit_failure_callback): New function.
131257         (fallback_failure_callback): New function.
131258         (print_unicode_char): Call unicode_to_mb.
131260 2002-01-26  Jim Meyering  <meyering@lucent.com>
131262         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
131263         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
131265 2002-01-26  Jim Meyering  <meyering@lucent.com>
131267         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
131269 2002-01-22  Paul Eggert  <eggert@twinsun.com>
131271         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
131273 2002-01-22  Jim Meyering  <meyering@lucent.com>
131275         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
131276         Otherwise, some versions of automake would omit the rule that makes
131277         Makefile from Makefile.in.
131279 2002-01-21  Paul Eggert  <eggert@twinsun.com>
131281         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
131282         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
131283         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
131284         (memcoll): Set errno to zero if there is no error.
131286         * lib/quotearg.c (quotearg_buffer_restyled):
131287         Fix bug with quoting buffers containing NUL when backslashing escapes.
131288         This bug was exposed by the other changes in this patch.
131289         (quotearg_n_options): New arg ARGSIZE.
131290         All callers changed.
131291         (quoting_options_from_style): New function.
131292         (quotearg_n_style): Use it.
131293         (quotearg_n_style_mem): New function.
131295         * lib/quotearg.h (quotearg_n_style_mem): New function.
131297 2002-01-19  Jim Meyering  <meyering@lucent.com>
131299         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
131300         Remove useless quotes: DF_PROG="df".
131301         * m4/strnlen.m4: New file.
131303 2002-01-16  Paul Eggert  <eggert@twinsun.com>
131305         * lib/backupfile.c (ISDIGIT): Comment fix.
131306         * lib/getdate.y (ISDIGIT): Likewise.
131307         * lib/posixtm.c (ISDIGIT, year): Likewise.
131308         * lib/strverscmp.c (ISDIGIT): Likewise.
131309         * lib/userspec.c (ISDIGIT): Likewise.
131311 2002-01-16  Jim Meyering  <meyering@lucent.com>
131313         * lib/getdate.y: Add three semicolons, each just before a closing
131314         brace. Bison (as of version 1.31) no longer papers over that mistake.
131316 2002-01-05  Jim Meyering  <meyering@lucent.com>
131318         * lib/version-etc.c (version_etc_copyright): Update copyright year.
131320 2001-12-19  Paul Eggert  <eggert@twinsun.com>
131322         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
131323         not silently exit merely because the output buffer happens to
131324         have nothing pending.
131326 2001-12-18  Paul Eggert  <eggert@twinsun.com>
131328         See the big note in ../ChangeLog.
131329         * lib/human.c (suffixes): Prefer K to k for 1024.
131330         (generate_suffix_backwards): New function.
131331         (human_readable_inexact): Use it.
131332         * lib/xstrtol.c (__xstrtol): If there is no number but there
131333         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
131334         Accept 'K' as well as 'k'.
131336 2001-12-15  Jim Meyering  <meyering@lucent.com>
131338         * lib/regex.h (__restrict_arr): Update from libc.
131340         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
131341         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
131342         (STREQ): Define.
131344 2001-12-14  Jim Meyering  <meyering@lucent.com>
131346         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
131347         Suggestion from Bruno Haible.
131349 2001-12-10  Jim Meyering  <meyering@lucent.com>
131351         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
131352         xrealloc, Instead, include "xalloc.h".
131353         (initbuffer): Don't cast xmalloc return value to char*.
131354         (readline): Reword comment.
131355         Don't cast xrealloc return value to char*
131356         Return NULL, not 0.
131358 2001-12-09  Jim Meyering  <meyering@lucent.com>
131360         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
131361         about `signed and unsigned type in conditional expression'.
131362         * lib/posixtm.c (posix_time_parse): Likewise.
131364         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
131366         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
131367         to avoid a pedantic warning.
131369         * lib/getstr.c: Don't include assert.h.
131370         (getstr): Remove warning-evoking assertions.
131371         Return -1 if offset parameter is out of bounds.
131372         Change the type of a local from int to size_t.
131374         * lib/strftime.c (my_strftime_localtime_r): Include this function
131375         definition in the `#if ! HAVE_TM_GMTOFF' block.
131377         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
131378         Include xalloc.h instead.
131380 2001-12-02  Jim Meyering  <meyering@lucent.com>
131382         * lib/tempname.c: Don't declare getenv, thus reverting the change of
131383         2001-11-18.  It's no longer necessary, now that stdlib.h is always
131384         included.
131386         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
131387         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
131389 2001-11-30  Akim Demaille  <akim@epita.fr>
131391         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
131392         before being defined.
131394 2001-11-27  Paul Eggert  <eggert@twinsun.com>
131396         * lib/quotearg.h (quotearg_n, quotearg_n_style):
131397         First arg is int, not unsigned.
131398         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
131399         (SIZE_MAX, UINT_MAX): New macros.
131400         (quotearg_n_options): Abort if N is negative.
131401         Avoid overflow check on hosts where size_t is 64 bits and int
131402         is 32 bits, as overflow is impossible there.
131403         Fix off-by-one typo that caused unnecessary reallocation.
131405 2001-11-27  Jim Meyering  <meyering@lucent.com>
131407         * lib/tempname.c: Merge with version from libc.
131408         * lib/regex.c: Likewise.
131410         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
131411         systems for which STDC_HEADERS is 0, it was not included, resulting in
131412         a warning about an integer-to-pointer conversion problem with getenv.
131413         Reported by Volker Borchert.
131415 2001-11-26  Jim Meyering  <meyering@lucent.com>
131417         * lib/gtod.h: Remove file.
131418         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
131419         * lib/gettimeofday.c: Don't include gtod.h.
131420         (GTOD_init): Remove function.
131421         (rpl_gettimeofday): Do its job here instead, rather than aborting.
131422         Suggestion from Volker Borchert.
131424 2001-11-23  Jim Meyering  <meyering@lucent.com>
131426         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
131427         it.
131428         * lib/hash.c (struct hash_table): Define it here instead.
131430 2001-11-22  Jim Meyering  <meyering@lucent.com>
131432         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
131434 2001-11-20  Jim Meyering  <meyering@lucent.com>
131436         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
131437         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
131439 2001-11-19  Jim Meyering  <meyering@lucent.com>
131441         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
131442         directory.  Use "conftestXXXXXX" as the template.
131443         Suggestion from Paul Eggert.
131445         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
131446         immediately, so the test doesn't mistakenly hit the max-open-files
131447         limit.
131449 2001-11-18  Paul Eggert  <eggert@twinsun.com>
131451         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
131452         (TEMPORARIES): New macro.
131453         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
131454         removes an artificial limitation (e.g. HP-UX 10.20, where
131455         TMP_MAX is 17576).
131457 2001-11-18  Jim Meyering  <meyering@lucent.com>
131459         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
131461 2001-11-18  Jim Meyering  <meyering@lucent.com>
131463         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
131464         on SunOS 4.
131466         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
131467         files will be created before anything else.
131469 2001-11-17  Paul Eggert  <eggert@twinsun.com>
131471         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
131472         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
131474 2001-11-17  Jim Meyering  <meyering@lucent.com>
131476         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
131477         Prompted by a report from Bob Proulx.
131479         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
131480         Instead, require UTILS_FUNC_MKSTEMP.
131482 2001-11-17  Jim Meyering  <meyering@lucent.com>
131484         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
131485         Now, that's done as part of AC_FUNC_STRTOD.
131487 2001-11-17  Jim Meyering  <meyering@lucent.com>
131489         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
131490         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
131491         rather than group writable.  Patch by Juan F. Codagnone.
131493         * lib/readtokens.c: Remove explicit declarations of xmalloc and
131494         xrealloc, Instead, include "xalloc.h".
131496         * lib/mountlist.c: Include unlocked-io.h after all system headers.
131497         Remove explicit declarations of xmalloc, xrealloc,
131498         and xstrdup.  Instead, include "xalloc.h".
131500         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
131501         unlocked-io.h.
131502         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
131503         Likewise.
131504         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
131506         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
131507         Reported by Padraig Brady.
131509         * lib/mkstemp.c: #undef mkstemp.
131510         Include config.h.
131511         (rpl_mkstemp): Rename from mkstemp.
131512         Protoize.
131514 2001-11-16  Jim Meyering  <meyering@lucent.com>
131516         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
131517         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
131518         determine the amount of total physical memory, use pstat_getstatic.
131519         HPUX-11 doesn't define _SC_PHYS_PAGES.
131520         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
131521         If sysconf couldn't be used to determine the amount of available
131522         physical memory, use both pstat_getstatic and pstat_getdynamic.
131523         Based on a patch from Bob Proulx.
131525 2001-11-10  Jim Meyering  <meyering@lucent.com>
131527         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
131528         (jm_PREREQ): Use it.
131530 2001-11-09  Jim Meyering  <meyering@lucent.com>
131532         * m4/jm-macros.m4: Require autoconf-2.52f.
131533         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
131534         Use these AC_-prefixed names, not the AM_-prefixed ones.
131536         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
131538 2001-11-05  Jim Meyering  <meyering@lucent.com>
131540         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
131542 2001-11-04  Jim Meyering  <meyering@lucent.com>
131544         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
131545         $DEFS.
131547 2001-11-03  Jim Meyering  <meyering@lucent.com>
131549         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
131550         of AC_DEFUN.
131552         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
131553         know the name of the variable in the macro definition.
131555 2001-11-03  Jim Meyering  <meyering@lucent.com>
131557         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
131558         in argmatch_to_argument call.
131560         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
131561         argument.
131563         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
131564         e.g., a fault due to an attempt to free a NULL pointer.
131566 2001-11-01  Jim Meyering  <meyering@lucent.com>
131568         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
131569         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
131571 2001-11-01  Jim Meyering  <meyering@lucent.com>
131573         * lib/dirfd.c, lib/dirfd.h: New files.
131574         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
131576         * lib/hash.c (hash_print) [TESTING]: Clean up.
131578 2001-10-22  Paul Eggert  <eggert@twinsun.com>
131580         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
131581         to avoid a warning if -Wall.
131583 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
131585         * README: New file
131586         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
131587         (per RMS's instructions, this is now the canonical source)
131588         * lgpl/, gpl/: New directories.
131590 2001-10-21  Paul Eggert  <eggert@twinsun.com>
131592         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
131594 2001-10-21  Jim Meyering  <meyering@lucent.com>
131596         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
131597         this code would end up calling gettext even in packages built
131598         with --disable-nls.
131599         * lib/getopt.c (_): Likewise.
131600         * lib/regex.c (_): Likewise.
131602 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131604         * m4/error.m4 (jm_PREREQ_ERROR):
131605         Do not invoke AC_CHECK_FUNCS with strerror_r, as
131606         AC_FUNC_STRERROR_R does that.
131607         Check for strerror declaration.
131609         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
131610         are supposed to have them these days.
131611         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
131612         Merge changes from latest Autoconf CVS.
131613         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
131614         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
131615         POSIX decided to standardize on the int flavor of strerror_r.
131617 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131619         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
131620         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
131621         Use strerror_r that is only a macro, even if it is not a function.
131622         (strerror): Check for HAVE_DECL_STRERROR before declaring.
131623         (private_strerror): Use prototypes, not old-style function definition.
131624         (print_errno_message): New function.
131625         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
131626         char*-flavored one.
131627         (error_tail, error, error_at_line): Use it.
131629 2001-10-11  Jim Meyering  <meyering@lucent.com>
131631         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
131632         and quote_n (1, ... to avoid clobbering a buffer.
131634 2001-10-05  Jim Meyering  <meyering@lucent.com>
131636         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
131637         hash-pjw.h.
131638         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
131639         * lib/hash-pjw.h: New file.
131641 2001-09-30  Jim Meyering  <meyering@lucent.com>
131643         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
131644         `struct fsstat' has the `f_fstypename' member.
131645         Use that to define FS_TYPE, which is now used to make
131646         the getfsstat link test tighter.
131648 2001-09-30  Jim Meyering  <meyering@lucent.com>
131650         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
131651         Include <sys/ucred.h>, for Apple Darwin.
131652         Include sys/mount.h and sys/fs_types.h only if available.
131653         (FS_TYPE): Define.
131654         (read_filesystem_list): Use FS_TYPE.
131656 2001-09-29  Paul Eggert  <eggert@twinsun.com>
131658         * lib/exclude.c (excluded_filename): 0 -> false, since it's
131659         a boolean context.
131661 2001-09-29  Jim Meyering  <meyering@lucent.com>
131663         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131664         [one-argument getmntent function]): Include stdio.h before mntent.h.
131665         SunOS 4.1.x needs it for the declaration of `FILE'.
131666         Patch by Volker Borchert.
131668         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131669         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
131670         sys/fs_types.h, and make the link-test for getfsstat guard #include
131671         directives with appropriate #if HAVE_*_H tests so that we can
131672         detect getfsstat on Apple Darwin1.3.7 systems.
131673         Reported by Nelson Beebe.
131674         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
131676 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131678         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131679         #defines strtoimax.  Also treat the other strto* functions
131680         like strtoimax.
131682         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131683         Check for strtoul and strtoumax,
131684         as those declarations are made even in the signed case.
131685         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
131686         Likewise, for strtol and strtoimax.
131688 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131690         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131691         #defines strtoimax.  Also treat the other strto* functions
131692         like strtoimax.
131694         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
131695         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
131696         (strtoimax, strtoumax): Do not declare if already defined as a macro.
131698 2001-09-26  Jim Meyering  <meyering@lucent.com>
131700         Most macros in unlocked-io.h had the wrong number of arguments.
131701         * lib/gen-uio: New script.
131702         (USE_UNLOCKED_IO): Define to 1 if not already defined.
131703         * lib/unlocked-io.hin: Remove file.
131704         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
131705         rather than trying to embed it here.
131706         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
131707         Reported by Padraig Brady.
131709 2001-09-25  Volker Borchert  <bt@teknon.de>
131711         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
131712         `result'.
131714 2001-09-24  Jim Meyering  <meyering@lucent.com>
131716         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
131718 2001-09-23  Jim Meyering  <meyering@lucent.com>
131720         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
131721         instead of the mere test for existence of mntent.h.  The latter
131722         would get a false-positive on AIX 3.4 systems.
131723         In the outer getmntent if-block, don't die if neither of the getmntent
131724         tests succeeds.  Instead, just fall through and continue with the
131725         remaining tests.
131727 2001-09-23  Jim Meyering  <meyering@lucent.com>
131729         * lib/mountlist.c: Remove useless parentheses in #if directives.
131730         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
131731         the deprecated MOUNTED symbol is no longer defined in mntent.h.
131733 2001-09-22  Jim Meyering  <meyering@lucent.com>
131735         * m4/gettext.m4: New file.  From gettext.
131736         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
131737         * m4/progtest.m4: Likewise
131738         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
131739         * m4/glibc21.m4: Likewise.
131741         * m4/libintl.m4: Remove.  No longer used.
131743 2001-09-22  Jim Meyering  <meyering@lucent.com>
131745         * lib/localcharset.c: Update from latest gettext.
131746         * lib/config.charset: Likewise.
131748 2001-09-20  Jim Meyering  <meyering@lucent.com>
131750         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
131751         strtoimax.
131752         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
131753         strtoumax.
131755 2001-09-20  Jim Meyering  <meyering@lucent.com>
131757         * lib/xstrtol.c (strtoimax): Guard declaration with
131758         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
131759         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
131760         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
131761         (strtoumax): Likewise, for completeness (it wasn't necessary).
131763 2001-09-17  Paul Eggert  <eggert@twinsun.com>
131765         * lib/strtoimax.c (HAVE_LONG_LONG):
131766         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
131767         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
131768         to work around bug in IBM C compiler.
131770 2001-09-17  Jim Meyering  <meyering@lucent.com>
131772         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
131773         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
131774         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
131775         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
131776         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
131777         whenever the right hand side need not be expanded by the shell.
131779 2001-09-16  Paul Eggert  <eggert@twinsun.com>
131781         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
131782         library.  It's not correct, as some older glibcs are buggy.
131783         fnmatch wasn't fixed until glibc 2.2.
131785         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
131786         special shell magic here.
131788 2001-09-16  Jim Meyering  <meyering@lucent.com>
131790         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
131791         * m4/jm-macros.m4: Require it.
131793 2001-09-16  Jim Meyering  <meyering@lucent.com>
131795         * lib/mkdir.c: New file.
131797 2001-09-15  Jim Meyering  <meyering@lucent.com>
131799         * m4/jm-macros.m4: Check for help2man.
131801 2001-09-11  Jim Meyering  <meyering@lucent.com>
131803         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
131804         The body, by Paul Eggert, was moved here from configure.in.
131805         * m4/jm-macros.m4: Require UTILS_HOST_OS.
131807 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131809         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
131810         (jm_PREREQ): Use it.
131812 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131814         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
131815         Use ssize_t, not int, to store result of readlink.
131816         Check for ssize_t overflow as well as size_t overflow,
131817         as POSIX says the result of readlink is implementation-defined
131818         when ssize_t overflows.
131819         Remove unnecessary cast to char*.
131820         Use free+malloc instead of realloc, as the storage doesn't need
131821         to be preserved and it's clearer and can be more efficient that way.
131822         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
131823         * lib/xreadlink.h (xreadlink): Update prototype.
131825 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131827         * lib/xgetcwd.c: Revert some of the previous change; intead,
131828         fix the HAVE_GETCWD_NULL code to behave more like the
131829         !HAVE_GETCWD_NULL code used to.
131831         Include "xalloc.h".
131832         (xgetcwd): Do not return NULL when memory is exhausted; instead,
131833         invoke xalloc_die.
131835 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131837         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
131838         sys/param.h, as pathmax.h includes them.
131840 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131842         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
131843         (jm_PREREQ_XGETCWD): New macro.
131845         * m4/getcwd.m4: New file.
131847 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131849         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
131850         like the HAVE_GETCWD_NULL code.
131851         Include pathmax.h if not HAVE_GETCWD.
131852         Do not include xalloc.h.
131853         (INITIAL_BUFFER_SIZE): New symbol.
131854         Do not use xmalloc / xrealloc, since the caller is responsible for
131855         handling errors.  Preserve errno around `free' during failure.
131856         Do not overrun buffer when using getwd.
131858 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131860         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
131861         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
131862         getcwd (NULL, 0).
131864 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131866         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
131867         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
131868         spotted by Jim Meyering.
131870 2001-09-03  Jim Meyering  <meyering@lucent.com>
131872         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
131873         failure.
131875 2001-09-02  Jim Meyering  <meyering@lucent.com>
131877         * lib/error.c: Update from GNU libc.
131879 2001-09-01  Jim Meyering  <meyering@lucent.com>
131881         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
131882         Used by df.
131884 2001-09-01  Jim Meyering  <meyering@lucent.com>
131886         * lib/xreadlink.c: New file.
131887         * lib/xreadlink.h: New file.
131888         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
131889         xreadlink.h.
131891         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
131892         doesn't conflict with sparc Solaris 7's definition in
131893         /usr/include/sys/int_types.h.
131895         * lib/exclude.c: Use `""', not `<>' to #include non-system header
131896         files.
131897         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
131898         and strncasecmp as r-values.  Unixware didn't have declarations.
131900 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131902         * lib/xstrtol.h: Add copyright notice.
131903         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
131904         LONGINT_INVALID_SUFFIX_CHAR.
131906 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131908         * lib/xstrtol.c (strtoimax): New decl.
131910 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131912         * lib/xgetcwd.c: Don't include pathmax.h.
131913         Include stdlib.h and unistd.h if available.
131914         Include xalloc.h.
131915         (xmalloc, xstrdup, free): Remove decls.
131916         (xgetcwd): Don't assume sizes fit in unsigned.
131917         Check for overflow when computing sizes.
131918         Simplify reallocation code.
131920 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131922         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
131923         a directory's st_size can have an arbitrary value, so the old
131924         usage could waste an arbitrary amount of memory.  All uses
131925         changed.
131926         * lib/savedir.h: Update prototype.
131928 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131930         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
131932         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
131933         old strtoimax.c.
131935         Also, make the following further changes to make this file's
131936         configuration more similar to that of strtol.c:
131937         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
131938         (strtoumax, uintmax_t, strtoull, strtol): Remove.
131939         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
131940         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
131941         changed to signed values.
131943         And make the following changes as well:
131944         Fix copyright notice, as 1999 was missing.
131945         (verify): New macro.
131946         (strtoimax): Check sizes at compile-time, not run-time.
131947         Prefer strtol to strtoll if both work.
131948         (main): Remove; it was not that useful and was a pain to maintain.
131950         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
131952 2001-08-31  Jim Meyering  <meyering@lucent.com>
131954         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
131955         Use an initial, malloc'd, buffer of length 128 rather than
131956         a statically allocated one of length 1024.
131958 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131960         Simplify code, partly by assuming autoconf 2.52 semantics.
131962         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
131964         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
131965         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
131966         All uses removed.
131967         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
131968         Move AC_REQUIRE to next-to-top level, to avoid confusion.
131969         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
131970         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
131971         jm_AC_HEADER_INTTYPES_H.
131972         * m4/jm-macros.m4 (jm_MACROS): Likewise.
131974         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
131976         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131977         Quote first arg of AC_DEFUN.
131978         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
131979         since they are needed to parse the include file even if we need
131980         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
131981         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
131982         but with opposite signedness.
131984 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131986         Merge 'exclude' changes from tar 1.13.22.
131987         This fixes one or two unlikely storage allocation overflow bugs,
131988         but doesn't change user-visible behavior otherwise.
131990 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131992         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
131993         (jm_PREREQ_EXCLUDE): New macro.
131995 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131997         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
131998         tm to be declared.
132000 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132002         * lib/hash.c: Remove '2001' from copyright notice.
132004 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132006         * lib/full-write.h: New file.
132007         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
132008         * lib/full-write.c: Correct credits, as cccp.c no longer
132009         exists and anyway it was so heavily changed from the old cccp
132010         code as to be unrecognizable.  Include full-write.h.
132011         (full_write): Return size_t, with short writes meaning failure.
132012         All callers changed.  This fixes a bug with large buffers
132013         on 64-bit hosts.
132014         * lib/utime.c: Include full-write.h.
132016 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132018         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
132019         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
132020         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
132021         Include if available.
132022         (<xalloc.h>): Include
132023         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
132024         (verify): New macro.  Use it to verify that EXCLUDE macros do not
132025         collide with FNM macros.
132026         (struct patopts): New struct.
132027         (struct exclude): Use it, as exclude patterns now come with options.
132028         (new_exclude): Support above changes.
132029         (new_exclude, add_exclude_file):
132030         Initial size must now be a power of two to simplify overflow checking.
132031         (free_exclude, fnmatch_no_wildcards): New function.
132032         (excluded_filename): No longer requires options arg, as the options
132033         are determined by add_exclude.  Now returns bool, not int.
132034         (excluded_filename, add_exclude):
132035         Add support for the fancy new exclusion options.
132036         (add_exclude, add_exclude_file): Now takes int options arg.
132037         Check for arithmetic overflow when computing sizes.
132038         (add_exclude_file): xrealloc might modify errno, so don't
132039         realloc until after errno might be used.
132041         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
132042         New macros.
132043         (free_exclude): New decl.
132044         (add_exclude, add_exclude_file): Now takes int options arg.
132045         (excluded_filename): No longer requires options arg, as the options
132046         are determined by add_exclude.  Now returns bool, not int.
132048 2001-08-30  Paul Eggert  <eggert@twinsun.com>
132050         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
132052 2001-08-27  Jim Meyering  <meyering@lucent.com>
132054         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
132056         * lib/version-etc.c (N_): Remove definition.
132057         Revert most of last change.
132058         Instead, simply don't mark the `Copyright...' string for translation.
132059         Based on advice from Paul Eggert.
132061         * lib/strtoxmax.c: Tweak comment.
132063 2001-08-26  Jim Meyering  <meyering@lucent.com>
132065         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
132067         * m4/xstrtoimax.m4: New file.
132068         * m4/xstrtoumax.m4: Add comments explaining why we
132069         AC_REPLACE_FUNCS(strtol).
132071 2001-08-26  Jim Meyering  <meyering@lucent.com>
132073         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
132074         of copyright with `%s' so translators don't get an untranslated
132075         message in 2002.
132076         (COPYRIGHT_YEAR): Define.
132077         (version_etc): Use fprintf rather than fputs.
132078         Suggestion from Ulrich Drepper.
132080         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
132082         * lib/strtoll.c: New file, from GNU libc.
132083         * lib/xstrtoimax.c: New file.
132085         * lib/xstrtol.h: Add xstrtoimax.
132086         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
132087         * lib/strtoimax.c: New file.  Likewise, but first define
132088         STRTOUXMAX_SIGNED.
132090         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
132091         ...
132092         * lib/strtoxmax.c: ... then renamed to this.
132094 2001-08-18  Paul Eggert  <eggert@twinsun.com>
132096         * m4/inttypes.m4: Add AC_PREREQ(2.13).
132097         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
132098         (jm_AC_TYPE_INTMAX_T): New macro.
132099         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
132101         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
132103         * m4/longlong.m4: Renamed from ulonglong.m4.
132104         * m4/inttypes.m4: Renamed from inttypes_h.m4.
132105         * m4/uintmax_t.m4: Removed.
132107 2001-08-13  Paul Eggert  <eggert@twinsun.com>
132109         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
132110         Port to Solaris 8, where 'sed' requires a space after the 'r'
132111         command, and where sh dislikes "$/".  Clean up the spacing a bit.
132112         Redirect output to $tmp just once.
132114 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
132116         * lib/addext.c (<errno.h>): Include.
132117         (errno): Declare if not defined.
132118         (addext): Work correctly when pathconf returns -1 and leaves
132119         errno alone because there is no limit.  Also, work even if
132120         pathconf returns a value greater than SIZE_MAX.
132122 2001-08-12  Jim Meyering  <meyering@lucent.com>
132124         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
132125         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
132126         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
132127         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
132128         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
132129         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
132130         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
132131         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
132132         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
132133         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
132134         utime.m4, utimes.m4, xstrtoumax.m4:
132135         Quote the first argument in each use of AC_DEFUN.
132137 2001-08-12  Jim Meyering  <meyering@lucent.com>
132139         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
132140         Simply `return getcwd (NULL, 0);'.
132141         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
132142         Use 1300 as initial value for length, not PATH_MAX.
132144         * lib/pathmax.h: Clean up cpp syntax.
132146 2001-08-12  Jim Meyering  <meyering@lucent.com>
132148         * lib/gettimeofday.c: New file.
132149         * lib/gtod.h: New file.
132150         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
132152 2001-08-05  Jim Meyering  <meyering@lucent.com>
132154         * m4/jm-macros.m4: Require autoconf-2.52.
132156 2001-08-04  Jim Meyering  <meyering@lucent.com>
132158         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
132159         stmt, to get in sync with glibc.
132161 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132163         The following changes are from gettext 0.10.39 as maintained by
132164         Bruno Haible.
132166         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
132167         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
132168         with inverted sense.  All uses changed.
132170         * lib/mbswidth.c: Don't include <limits.h>.
132171         Include <stdlib.h> and <string.h> unconditionally.
132172         (iswcntrl, mbsinit, ISCNTRL): New macros.
132173         (mbsnwidth): Use K&R style function declarations.
132174         Don't bother checking for MB_LEN_MAX == 1, since the compiler
132175         can optimize it when MB_CUR_MAX == 1.
132176         The width of control characters is zero, not 1.
132178 2001-08-03  Paul Eggert  <eggert@twinsun.com>
132180         The following changes are from gettext 0.10.39 as maintained by
132181         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
132183         * m4/codeset.m4: Upgrade to serial AM1.
132184         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
132185         all uses changed.  Quote first arg of AC_DEFUN.
132186         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
132188         * m4/iconv.m4: Upgrade to serial AM2.
132189         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
132190         Add --with-libconv-prefix.
132191         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
132192         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
132193         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
132194         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
132195         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
132197         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
132198         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
132199         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
132200         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
132201         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
132202         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
132203         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
132204         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
132205         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
132207         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
132208         string.h any more.
132210         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
132211         not the default value.
132213         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
132214         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
132215         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
132216         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
132217         Also check for iswcntrl, used for wcwidth fallback.
132218         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
132219         to Autoconf 2.13.
132221 2001-08-03  Jim Meyering  <meyering@lucent.com>
132223         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
132224         as it was in the original.  Reported by Paul Eggert.
132226 2001-07-16  Jim Meyering  <meyering@lucent.com>
132228         * m4/gettimeofday.m4: New file.
132229         Prompted by a report from Bernhard Baehr.
132231 2001-07-15  Jim Meyering  <meyering@lucent.com>
132233         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
132234         stuff. Now it's in ../Makefile.cfg.
132236 2001-07-15  Jim Meyering  <meyering@lucent.com>
132238         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
132239         (BUILT_SOURCES): Add unlocked-io.h.
132240         (io_functions): Define.
132241         (unlocked-io.h): New rule.
132242         (DISTCLEANFILES): Add unlocked-io.h.
132243         (all-local): Depend on unlocked-io.h, to ensure it is created.
132245         * lib/unlocked-io.hin: New file
132247         * lib/regex.c: Update from glibc.
132249 2001-07-05  Jim Meyering  <meyering@lucent.com>
132251         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
132252         recommendation.
132253         (libfetish_a_SOURCES): Put all .h files here instead.
132254         Remove a thus-exposed (better checks in automake) duplicate and
132255         two unnecessary .h files.
132257 2001-07-04  Jim Meyering  <meyering@lucent.com>
132259         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
132260         that generates jm-glibc-io.m4 so that it doesn't trigger any make
132261         distcheck failure.
132263 2001-07-02  Jim Meyering  <meyering@lucent.com>
132265         The following changes were prompted by suggestions from Bruno Haible.
132267         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
132268         is now generated.
132269         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
132270         definition of EXTRA_DIST.
132271         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
132272         ensure that the generated file is created/updated whenever the list
132273         of $(unlocked_functions) is changed.
132274         (jm-glibc-io.m4): New rule.
132275         (unlocked-io.h): New rule -- currently unused.
132277 2001-06-24  Jim Meyering  <meyering@lucent.com>
132279         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
132280         unmatched right bracket, rather than kludging it with an extra,
132281         falsely-matching quote in a comment.  Patch by Akim Demaille.
132283 2001-06-11  Jim Meyering  <meyering@lucent.com>
132285         * lib/regex.c: Update from GNU libc.
132287 2001-05-27  Jim Meyering  <meyering@lucent.com>
132289         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
132290         Check for ut_type in struct utmp.
132292 2001-05-27  Jim Meyering  <meyering@lucent.com>
132294         * lib/readutmp.h (UT_TYPE): Define.
132296 2001-05-24  Jim Meyering  <meyering@lucent.com>
132298         * lib/argmatch.c: Include "quote.h".
132299         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
132300         quote function.  Reported by Göran Uddeborg.
132302 2001-05-22  Jim Meyering  <meyering@lucent.com>
132304         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
132305         now that we use the package-supplied version unconditionally.
132306         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
132308 2001-05-21  Jim Meyering  <meyering@lucent.com>
132310         * m4/regex.m4: Change a couple backticks to single quotes to avoid
132311         shell syntax errors.
132313 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132315         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
132317 2001-05-20  Paul Eggert  <eggert@twinsun.com>
132319         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
132320         Don't bother to check library strftime, since
132321         we'll be using our own my_strftime function anyway.
132322         Define my_strftime instead of strftime.
132324 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
132326         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
132327         which is not yet declared.
132329 2001-05-15  Jim Meyering  <meyering@lucent.com>
132331         * m4/regex.m4: Use proper quoting so brackets appear in the test
132332         program.
132333         Reported by, and with help from, Bruno Haible.
132335 2001-05-13  Jim Meyering  <meyering@lucent.com>
132337         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
132338         undefined.
132340 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132342         dirname code cleanup.  base_name now behaves more compatibly
132343         with POSIX basename when given file names that have trailing
132344         slashes, and similarly for dir_name.  Add new primitives
132345         base_len and dir_len.  Put the directory-name-related decls
132346         into dirname.h.
132348         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
132349         * lib/backupfile.c (base_name): Likewise.
132350         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
132351         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
132352         * lib/makepath.c (strip_trailing_slashes): Likewise.
132353         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
132354         ISSLASH): Likewise.
132355         * lib/rename.c (strip_trailing_slashes): Likewise.
132356         * lib/same.c (base_name): Likewise.
132357         * lib/stripslash.c (ISSLASH): Likewise.
132359         * lib/addext.c: Include <dirname.h> after size_t is defined.
132360         * lib/backupfile.c: Likewise.
132362         * lib/addext.c (addext): Use base_len to trim redundant
132363         trailing slashes instead of doing it ourselves.
132364         But do not trim the last slash if it is not redundant.
132366         * lib/backupfile.c (find_backup_file_name,
132367         max_backup_version): Use base_len instead of rolling it ourselves.
132368         Handle the case of "" and (on DOS) "C:" correctly.
132370         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
132371         needed. Include <string.h>, <dirname.h>.
132372         (base_name): Allow file names ending in slashes, other than names
132373         that are all slashes.  In this case, return the basename followed
132374         by the slashes.  This is more general, and can be used in places
132375         where the original base_name purposely had an assertion failure.
132376         (base_len): New function.
132378         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
132379         Do not include <assert.h>; no longer needed.
132380         Include xalloc.h.
132381         (memrchr): Remove decl.
132382         (dir_name_r): Remove.
132383         (dir_len): Renamed from dirlen.  All callers changed.
132384         Rewrite in terms of base_name, for simplicity and consistency.
132385         (dir_name): Never return NULL.  All callers changed.
132386         Do not include <stdlib.h> in test program; no longer needed.
132387         return 0; is fine for test program.
132389         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
132390         New macros.
132391         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
132393         * lib/path-concat.c (path_concat): Use base_len to compute
132394         base length, not strlen; this means we cannot rely on memcpy
132395         to null-terminate.
132397         * lib/same.c (STREQ): Remove.
132398         (same_name): Handle the case where the basename ends in trailing '/'.
132400         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
132401         a slash was stripped.  Do not strip the last slash after a
132402         file system prefix.
132404 2001-05-11  Paul Eggert  <eggert@twinsun.com>
132406         * lib/Makefile.am (libfetish_a_SOURCES):
132407         Add strftime.c, since we now compile it on all hosts.
132409         * lib/strftime.c (my_strftime):
132410         Define to nstrftime if emacs, but only if my_strftime is not defined.
132411         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
132412         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
132413         Add one more extra argument: a nanoseconds value.
132414         All uses changed.
132415         (ns): New macro.
132416         (my_strftime function): Add %N format.
132417         (emacs_strftimeu): Renamed from emacs_strftime,
132418         with extra ut argument.
132420 2001-05-09  Paul Eggert  <eggert@twinsun.com>
132422         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
132424 2001-04-21  Jim Meyering  <meyering@lucent.com>
132426         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
132427         doesn't interfere.
132429 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
132431         * m4/ftruncate.m4: Check for chsize.
132432         Link with ftruncate.o unconditionally if ftruncate is missing.
132433         This was required when cross-compiling to i586-mingw32msvc.
132435 2001-04-08  Jim Meyering  <meyering@lucent.com>
132437         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
132438         recomputed; that's necessary when the offset spans a DST transition.
132439         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
132441 2001-04-02  Jim Meyering  <meyering@lucent.com>
132443         * lib/regex.h, regex.c: Update from GNU libc.
132445 2001-03-24  Jim Meyering  <meyering@lucent.com>
132447         * m4/jm-macros.m4: Require autoconf-2.49d.
132449 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
132451         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
132453 2001-03-19  Paul Eggert  <eggert@twinsun.com>
132455         * lib/version-etc.c (version_etc_copyright): Update to 2001.
132457 2001-03-17  Jim Meyering  <meyering@lucent.com>
132459         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
132460         now that the version in autoconf is equivalent.
132461         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
132463         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
132464         Suggestion from Akim Demaille.
132466         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
132467         (jm_PREREQ_TEMPNAME): New function.
132469 2001-03-16  Paul Eggert  <eggert@twinsun.com>
132471         * lib/tempname.c (uint64_t): Define to uintmax_t if
132472         not defined, and if UINT64_MAX is not defined.
132473         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
132474         Reported by John David Anglin.
132476 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
132478         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
132479         resolve alias if codeset is empty.
132480         * lib/config.charset (BeOS): Use wildcard syntax.
132482 2001-03-13  Jim Meyering  <meyering@lucent.com>
132484         * lib/path-concat.c (path_concat)
132485         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
132486         concatenating e.g., `C:' and `foo'.
132487         From Bruno Haible.
132489 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132491         * lib/localcharset.c (locale_charset): Don't use
132492         setlocale(LC_CTYPE,NULL). Don't return NULL.
132493         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
132495 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
132497         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
132498         support for DOS/DJGPP.
132500 2001-03-01  Paul Eggert  <eggert@twinsun.com>
132502         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
132503         lacks mkstemp.  Compile our own tempname.c if we compile our own
132504         mkstemp.c, as mkstemp relies on tempname.
132506 2001-03-01  Jim Meyering  <meyering@lucent.com>
132508         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
132509         AH_VERBATIM really does output its argument verbatim.
132511 2001-02-28  Paul Eggert  <eggert@twinsun.com>
132513         * lib/Makefile.am (libfetish_a_SOURCES):
132514         Add dup-safer.c, fopen-safer.c.
132515         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
132517         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
132518         * lib/unistd-safer.h: New files.
132520 2001-02-25  Paul Eggert  <eggert@twinsun.com>
132522         The mkstemp replacement is taken from glibc 2.2.2, with some
132523         portability fixes for use outside glibc, as follows:
132525         * lib/tempname.c (struct_stat64): New macro.
132526         (direxists, __gen_tempname): Use it.
132527         This avoids a portability problem with Solaris 8.
132529         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
132530         (<stddef.h>, <stdint.h>, <string.h>):
132531         Include only if STDC_HEADERS || _LIBC.
132532         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
132533         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
132534         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
132535         (__set_errno): Define this macro if <errno.h> doesn't.
132536         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
132537         Define these macros if <stdio.h> doesn't.
132538         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
132539         Define these macros if <sys/stat.h>
132540         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
132541         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
132542         __xstat64): Define if not _LIBC.
132543         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
132544         (__gen_tempname): Invoke gettimeofday only if
132545         HAVE_GETTIMEOFDAY || _LIBC;
132546         otherwise, fall back on plain "time".
132547         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
132549         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
132551         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
132553 2001-02-18  Paul Eggert  <eggert@twinsun.com>
132555         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
132557 2001-02-17  Paul Eggert  <eggert@twinsun.com>
132559         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
132560         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
132561         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
132562         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
132564 2001-02-17  Paul Eggert  <eggert@twinsun.com>
132566         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
132567         Remove workaround macros for hosts that have mbrtowc but not
132568         mbstate_t, as we now insist on proper declarations for both
132569         before using mbrtowc.
132571 2001-02-17  Jim Meyering  <meyering@lucent.com>
132573         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
132574         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
132575         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
132576         UnixWare 7.1.1.
132578         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
132579         rather than AC_CACHE_VAL.
132581 2001-02-17  Jim Meyering  <meyering@lucent.com>
132583         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
132584         around included file name.
132586         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
132588         * lib/strftime.c: Update from GNU libc (the only changes were to
132589         comments).
132591 2001-02-17  Jim Meyering  <meyering@lucent.com>
132593         * lib/regex.c: Update from libc.
132595 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
132597         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
132598         clash.
132600 2001-02-16  Paul Eggert  <eggert@twinsun.com>
132602         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
132603         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
132604         Reported by Mark Hounschell via Paul Eggert.
132606 2001-02-07  Jim Meyering  <meyering@lucent.com>
132608         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
132610 2001-02-05  Jim Meyering  <meyering@lucent.com>
132612         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
132613         it includes the patch required for `large file' support with at least
132614         HP-UX's 10.20 /bin/cc.
132616 2001-02-03  Jim Meyering  <meyering@lucent.com>
132618         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
132619         AS_IF, now that it works once again (mysteriously).
132620         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132622 2001-01-30  Jim Meyering  <meyering@lucent.com>
132624         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
132625         * m4/chown.m4: Rename conftestchown to conftest.chown.
132626         * m4/rename.m4: s/conftestdir/conftest.d1/ and
132627         s/conftestdir2/conftest.d2/.
132628         * m4/utimes.m4: s/conftestdata/conftest.data/
132629         Inspired by Pavel Roskin's change in autoconf.
132631 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
132633         * lib/config.charset: Update for FreeBSD 4.2.
132635 2001-01-27  Jim Meyering  <meyering@lucent.com>
132637         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
132638         a use of AS_IF.
132639         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132641 2001-01-26  Jim Meyering  <meyering@lucent.com>
132643         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
132644         quotearg.c includes it.
132646 2001-01-26  Jim Meyering  <meyering@lucent.com>
132648         * lib/quotearg.c: Include stddef.h.
132649         * lib/quote.c: Include stddef.h.
132650         Reported by Axel Kittenberger.
132652         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
132653         line in double quotes so that it evokes a better diagnostic.
132654         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
132655         Reported by Axel Kittenberger.
132657 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
132659         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
132660         as if it was a `charset'.
132662 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132664         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
132665         has const.
132667 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132669         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
132670         to avoid a warning.  Add back 'const' to inptr.
132672 2001-01-20  Jim Meyering  <meyering@lucent.com>
132674         Be sure that headers are checked before used in code compiled
132675         for the type checks.
132676         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
132677         In place of that, invoke jm_CHECK_ALL_TYPES.
132678         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
132679         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
132680         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
132681         The check for ssize_t was mistakenly run before the test for unistd.h.
132683         The configure-time check for stdbool.h was missing.
132684         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
132685         (jm_PREREQ_HASH): New function.
132687 2001-01-17  Jim Meyering  <meyering@lucent.com>
132689         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
132690         for autoconf-2.49c.
132691         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
132693 2001-01-16  Jim Meyering  <meyering@lucent.com>
132695         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
132696         From Bruno Haible.
132698 2001-01-14  Jim Meyering  <meyering@lucent.com>
132700         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
132701         foo and bar.  Create conftestdir/ in the script, not in the C code.
132702         Remove directories in the script, not in the C code.
132703         Remove conftestdir{,2} before trying to create the directory.
132704         Make the entire configure script fail if the mkdir fails.
132706 2001-01-14  Jim Meyering  <meyering@lucent.com>
132708         * lib/rename.c: New file.  From Volker Borchert.
132709         Include stdlib.h, string.h or strings.h, and xalloc.h.
132710         Use strip_trailing_slashes rather than open-coding it.
132712 2001-01-03  Paul Eggert  <eggert@twinsun.com>
132714         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
132716 2001-01-03  Jim Meyering  <meyering@lucent.com>
132718         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
132719         of local `inptr' to avoid warning with some system declarations of
132720         iconv.
132722 2001-01-02  Volker Borchert  <bt@teknon.de>
132724         * m4/rename.m4: New file.
132725         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
132727 2001-01-01  Jim Meyering  <meyering@lucent.com>
132729         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
132730         even on systems with utmpx.h.  It's necessary for the declaration of
132731         utmp's ut_user member.  Reported by Andreas Jaeger.
132733         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
132734         available. They are required for the declarations of getgrgid and
132735         getpwuid resp.
132736         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
132737         Reported by Andreas Jaeger.
132739 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
132741         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
132742         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
132743         so `make install' also works in VPATH builds.
132745 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
132747         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
132748         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
132749         can be used in subdirectories.
132751 2000-12-29  Paul Eggert  <eggert@twinsun.com>
132753         * lib/modechange.c: Do not assume that mode_t uses the
132754         traditional octal encoding.  E.g. "chmod 1 FOO" should set
132755         the other-execute bit of FOO even if S_IXOTH != 1.
132757         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
132758         WOTH, XOTH, ALLM): New macros.
132759         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
132760          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
132761         Use them.
132762         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
132763         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
132764         (mode_compile):
132765         No need to use uintmax_t; unsigned long is long enough.
132766         Don't bother to get suffix since we don't use it.
132768 2000-12-26  Jim Meyering  <meyering@lucent.com>
132770         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
132771         better with autoheader.
132773 2000-12-24  Jim Meyering  <meyering@lucent.com>
132775         * lib/hash.c (is_prime): Return explicit boolean values.
132776         (hash_get_first): Return NULL to appease Irix5.6's 89.
132777         Reported by Nelson Beebe.
132779 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
132781         * lib/localcharset.c (locale_charset): Add support for Win32.
132783 2000-12-18  Paul Eggert  <eggert@twinsun.com>
132785         * lib/physmem.h, lib/physmem.c: New files.
132787         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
132788         (noinst_HEADERS): Add physmem.h.
132790         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
132791         't' for compatibility with Solaris 8 sort.
132793 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
132795         * lib/config.charset: Add support for BeOS.
132797 2000-12-17  Jim Meyering  <meyering@lucent.com>
132799         * m4/dos.m4 (jm_AC_DOS): New file and macro.
132800         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
132802 2000-12-16  Jim Meyering  <meyering@lucent.com>
132804         This bug had a serious impact on chown: `chown N:M FILE' (for integer
132805         N and M) would have treated it like `chown N:N FILE'.
132807         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
132809 2000-12-16  Jim Meyering  <meyering@lucent.com>
132811         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
132812         SHELLS_FILE to a file name that's useful on djgpp systems.
132813         Include stdlib.h.
132814         (ADDITIONAL_DEFAULT_SHELLS): Define.
132815         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
132816         Based mostly on a patch from Prashant TR.
132818 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
132820         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
132821         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
132822         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
132824 2000-12-08  Andreas Schwab  <schwab@suse.de>
132826         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
132827         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
132829 2000-12-07  Jim Meyering  <meyering@lucent.com>
132831         * lib/stripslash.c (ISSLASH): Define.
132832         (strip_trailing_slashes): Use ISSLASH rather than comparing against
132833         `/'.
132834         From Prashant TR.
132836         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
132837         (dir_name_r): Declare this function as static.
132838         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
132839         manifest itself on a name containing a mix of slashes and
132840         backslashes.
132841         Make this function work with names starting with a DOS-style
132842         drive letter and colon prefix.
132843         (dir_name): Append `.' if necessary.
132844         Based mostly on patches from Prashant TR and Eli Zaretskii.
132846         * lib/dirname.h (dir_name_r): Remove prototype.
132848 2000-12-06  Paul Eggert  <eggert@twinsun.com>
132850         * m4/off_t-format.m4: Remove this file.
132851         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
132853 2000-12-06  Jim Meyering  <meyering@lucent.com>
132855         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
132856         replacement strtoull, we may well need the replacement strtoul, too.
132857         Check for declarations of strtoul and strtoull.
132858         Check for strtol.  Mainly as a cue to cause automake to include
132859         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
132860         Check for limits.h -- strtol.c needs it.
132862 2000-12-05  Jim Meyering  <meyering@lucent.com>
132864         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
132866 2000-12-04  Jim Meyering  <meyering@lucent.com>
132868         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
132869         Also include memory.h, stdlib.h, unistd.h if appropriate.
132870         Reported by Andreas Jaeger (conflicting declaration of malloc).
132872 2000-12-02  Jim Meyering  <meyering@lucent.com>
132874         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
132875         * m4/jm-macros.m4 (jm_MACROS): require it.
132877 2000-12-02  Jim Meyering  <meyering@lucent.com>
132879         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
132881 2000-12-01  Paul Eggert  <eggert@twinsun.com>
132883         * lib/memrchr.c: Include <config.h> before any system include file.
132885 2000-11-30  Jim Meyering  <meyering@lucent.com>
132887         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
132889 2000-11-30  Jim Meyering  <meyering@lucent.com>
132891         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
132893 2000-11-29  Paul Eggert  <eggert@twinsun.com>
132895         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
132897 2000-11-26  Jim Meyering  <meyering@lucent.com>
132899         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
132901 2000-11-22  Paul Eggert  <eggert@twinsun.com>
132903         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
132904         size of (size_t) -1; it's not portable.
132906 2000-11-17  Jim Meyering  <meyering@lucent.com>
132908         * lib/strstr.c: Update from GNU libc.
132910 2000-11-17  Akim Demaille  <akim@epita.fr>
132912         * lib/obstack.h: Formatting changes.
132913         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
132914         prevent type checking.
132915         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
132916         cast the value to (void *): assigning a `foo *' to a `void *'
132917         variable is valid.
132918         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
132920 2000-11-16  Jim Meyering  <meyering@lucent.com>
132922         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
132924 2000-11-11  Jim Meyering  <meyering@lucent.com>
132926         * lib/error.c: Add a couple #includes, merging from GNU libc version.
132928 2000-11-10  Jim Meyering  <meyering@lucent.com>
132930         * lib/obstack.h: Update from GNU libc.
132931         * lib/obstack.c: Likewise.
132933 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
132935         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
132937 2000-11-06  Paul Eggert  <eggert@twinsun.com>
132939         * lib/getusershell.c (setusershell): Use rewind rather than
132940         fseek/fseeko, to avoid configuration hassles with fseeko.
132941         Don't bother opening SHELLS_FILE if shellstream is NULL;
132942         it's not necessary.
132944 2000-11-05  Jim Meyering  <meyering@lucent.com>
132946         * lib/makepath.h (make_dir): Declare.
132947         * lib/makepath.c (make_dir): Remove `static' attribute.
132948         Tweak a comment.
132950 2000-11-04  Jim Meyering  <meyering@lucent.com>
132952         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
132954 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
132956         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
132957         last one in a bucket, advance to the next bucket.
132959 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
132961         * lib/fnmatch.c: Do not comment out all the code if we are using
132962         the GNU C library, because in some cases we are replacing buggy
132963         code in the GNU C library itself.
132965 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
132967         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
132968         (regex_compile): Catch bogus \(\1\).
132970 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132972         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
132973         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
132974         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
132976 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132978         * lib/error.h, getline.h, modechange.h:
132979         Remove "2000" from Copyright line, as the file hasn't been
132980         changed this year other than in the copyright notice.
132982         * lib/xalloc.h: Add "2000" to Copyright line, as this file
132983         was changed this year.
132985 2000-10-29  Jim Meyering  <meyering@lucent.com>
132987         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
132988         renaming.
132989         * m4/ls-mntd-fs.m4: Likewise
132991 2000-10-29  Jim Meyering  <meyering@lucent.com>
132993         * lib/xstat.in: Fix grammar in comment.
132995 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
132997         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
132998         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
132999         doesn't define __restrict_arr.
133001 2000-10-28  Jim Meyering  <meyering@lucent.com>
133003         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
133004         (jm_PREREQ_MEMCHR): New function.
133006 2000-10-28  Jim Meyering  <meyering@lucent.com>
133008         * lib/memchr.c: Update from libc.
133009         Adjust for portability:
133010         [HAVE_STDLIB_H]: Include stdlib.h.
133011         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
133012         Undef __memchr, too.
133013         [!weak_alias]: Define __memchr to memchr.
133015         * lib/regex.c: Update from libc.
133016         * lib/regex.h: Likewise.
133017         * lib/getopt1.c: Likewise.
133018         * lib/memcmp.c: Likewise.
133020         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
133021         Avoid using fseek, when possible -- it's broken by design.
133022         Patch by Ulrich Drepper.
133024 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
133026         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
133027         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
133028         Giving in to popular pressure to shut up the compiler with casts.
133030 2000-10-26  Jim Meyering  <meyering@lucent.com>
133032         * lib/strftime.c: Update from libc.
133034 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
133036         * regex.c: More `unsigned char' -> `re_char' changes.
133037         Also change several `int' into `re_wchar_t'.
133038         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
133039         (PUSH_FAILURE_POINTER): Don't cast any more.
133040         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
133041         We want GCC to complain, since this piece of code makes
133042         re_match non-reentrant, which *should* be fixed.
133043         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
133044         (EXTEND_BUFFER): Use RETALLOC.
133045         (SET_LIST_BIT): Don't cast.
133046         (re_wchar_t): New type.
133047         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
133048         that those two functions will always properly return.
133049         (IMMEDIATE_QUIT_CHECK): Cast to void.
133050         (analyse_first): Use recursion rather than an explicit stack.
133051         (re_compile_fastmap): Can't fail anymore.
133052         (re_search_2): Don't check re_compile_fastmap for failure.
133053         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
133054         Now also sets the new value (passed in a new argument).
133055         (re_match_2_internal): Use it.
133056         Also, use a new var `reg' of type size_t when looping through regs
133057         rather than reuse the inappropriate `mcnt'.
133059 2000-10-25  Jim Meyering  <meyering@lucent.com>
133061         * lib/obstack.c: Update from libc.
133063 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
133065         * regex.c (regex_compile): Change the way of handling a range from
133066         a char less than 256 to a char not less than 256.
133068 2000-10-24  Andrew Innes  <andrewi@gnu.org>
133070         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
133071         NT-Emacs only.
133072         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
133073         so that re_search functions only quit when callers expect them to.
133075 2000-10-23  Jim Meyering  <meyering@lucent.com>
133077         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
133078         wrong.  That set_locale call must not have any side effects.
133079         From Paul Eggert.
133081 2000-10-22  Jim Meyering  <meyering@lucent.com>
133083         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
133084         [CYCLIC]: Remove now-unused definition.
133086         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
133087         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
133088         Suggestion from Ulrich Drepper.
133090 2000-10-21  Jim Meyering  <meyering@lucent.com>
133092         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
133093         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
133094         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
133096 2000-10-21  Jim Meyering  <meyering@lucent.com>
133098         * lib/dirname.c (memrchr): Declare if necessary.
133099         (dir_name): Remove the restriction that there be no
133100         trailing slashes.  Now, this code skips past them, effectively
133101         ignoring them.
133102         [TEST_DIRNAME] (main): New unit tests.
133104         * lib/memrchr.c: New file from GNU libc.
133105         Undef __memrchr, too.
133106         [!weak_alias]: Define __memrchr to memrchr.
133107         Guard weak_alias use with `#ifdef weak_alias'.
133109 2000-10-21  Jim Meyering  <meyering@lucent.com>
133111         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
133112         (dir_name): Use dir_name_r.
133113         * lib/dirname.h (dir_name_r): Declare it.
133115 2000-10-17  Jim Meyering  <meyering@lucent.com>
133117         * lib/quote.h (PARAMS): Define and use.
133118         Reported by Akim Demaille.
133120         * lib/getopt.c: Update from libc.
133122 2000-10-16  Jim Meyering  <meyering@lucent.com>
133124         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
133125         setlocale.
133126         From Jan Fedak.
133128 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
133130         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
133132 2000-09-25  Jim Meyering  <meyering@lucent.com>
133134         * lib/md5.h (rol): Define (from GnuPG).
133136         * lib/sha.c: Give credit (GnuPG) where due.
133137         (M): Use rol rather than open-coding it.
133138         Add a FIXME comment.
133140 2000-09-21  Jim Meyering  <meyering@lucent.com>
133142         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
133143         Reported by Michael Stone.
133145 2000-09-20  Jim Meyering  <meyering@lucent.com>
133147         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
133148         (noinst_HEADERS): Add sha.h.
133149         Based on code from Scott G. Miller and from GnuPG.
133151 2000-09-18  Jim Meyering  <meyering@lucent.com>
133153         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
133154         LIBS. Otherwise, everyone ends up linking with -lelf for some
133155         configurations.
133156         Reported by Mike Stone.
133158 2000-09-15  Jim Meyering  <meyering@lucent.com>
133160         * lib/regex.c: Update from libc.
133162 2000-09-10  Jim Meyering  <meyering@lucent.com>
133164         * lib/getopt.c (_getopt_internal): Update from glibc.
133166 2000-09-09  Jim Meyering  <meyering@lucent.com>
133168         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
133169         think it should be used as a general replacement for isascii.
133170         * lib/fnmatch.c: Likewise.
133171         * lib/mbswidth.c: Likewise
133172         * lib/regex.c: Likewise.
133174         Don't use atoi.
133175         * lib/userspec.c: Include sys/param.h and limits.h.
133176         Include xstrtol.h.
133177         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
133178         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
133179         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
133180         UID, GID.  Check range.
133182 2000-09-06  Jim Meyering  <meyering@lucent.com>
133184         * lib/getopt.c (_getopt_internal): Update from glibc.
133186 2000-08-30  Jim Meyering  <meyering@lucent.com>
133188         * lib/strftime.c: Merge in changes from GNU libc.
133190 2000-08-26  Jim Meyering  <meyering@lucent.com>
133192         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
133193         * m4/fpending.m4: New file.
133195 2000-08-26  Jim Meyering  <meyering@lucent.com>
133197         * lib/closeout.c: Include "__fpending.h".
133198         (close_stdout_status): Return right away if there's nothing to flush.
133200         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
133201         * lib/__fpending.c: New file.
133202         * lib/__fpending.h: New file.
133204 2000-08-20  Jim Meyering  <meyering@lucent.com>
133206         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
133207         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
133208         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
133210 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
133212         Improve fileutils installation on systems where running
133213         programs (like install) can't be unlinked.
133214         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
133215         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
133217 2000-08-07  Paul Eggert  <eggert@twinsun.com>
133219         Standardize on "memory exhausted" instead of "Memory exhausted"
133220         or "virtual memory exhausted".
133221         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
133222         "virtual memory exhausted".
133223         * lib/same.c (same_name): Invoke xalloc_die instead of printing
133224         our own message.
133225         * lib/userspec.c (parse_user_spec): Likewise.
133226         * lib/bumpalloc.h: comment fix
133227         * lib/same.c, userspec.c: Include xalloc.h.
133229         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
133230         not char *const and pointing to a constant array.
133231         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
133232         (xrealloc): Comment fix.
133234         * lib/userspec.c (parse_user_spec):
133235         Don't translate a message until just before returning,
133236         to avoid unnecessary translation.
133238 2000-08-07  Jim Meyering  <meyering@lucent.com>
133240         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
133241         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
133242         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
133243         getgroups.c, gethostname.c, getopt.h, group-member.c,
133244         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
133245         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
133246         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
133247         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
133248         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
133249         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
133250         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
133251         yesno.c: Back out Copyright date changes for each file with no change
133252         this year.  This eases coordination with other programs using the same
133253         source code modules.  From Paul Eggert.
133255 2000-08-06  Paul Eggert  <eggert@twinsun.com>
133257         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
133258         not char, for compatibility with glibc 2.1.3 strftime.c.
133260 2000-08-03  Greg McGary  <greg@mcgary.org>
133262         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
133263         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
133264         (EXTEND_BUFFER): Use them.
133266 2000-08-01  Jim Meyering  <meyering@lucent.com>
133268         * lib/dirname.c (ISSLASH): Define.
133269         (BACKSLASH_IS_PATH_SEPARATOR): Define.
133270         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
133271         both `\' and `/' may be use as path separators.
133272         Based on a patch from Prashant TR.
133274 2000-07-31  Paul Eggert  <eggert@twinsun.com>
133276         * lib/quotearg.c (quotearg_n_options): Don't make the initial
133277         slot vector a constant, since it might get modified.
133279 2000-07-31  Jim Meyering  <meyering@lucent.com>
133281         * lib/xmalloc.c: Use `virtual memory exhausted', not
133282         `Memory exhausted'.
133283         * lib/obstack.c (print_and_abort): Likewise.
133285 2000-07-30  Paul Eggert  <eggert@twinsun.com>
133287         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
133288         buffer, so that the caller can always quote one small
133289         component of a "memory exhausted" message in slot 0.
133290         From a suggestion by Jim Meyering.
133292 2000-07-30  Jim Meyering  <meyering@lucent.com>
133294         * lib/makepath.c (make_path): Quote the other instance, too.
133296         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
133297         (STATIC_BUF_SIZE): Define.
133298         (quotearg_n_options): Use only statically allocated storage when
133299         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
133300         than STATIC_BUF_SIZE.
133302 2000-07-29  Jim Meyering  <meyering@lucent.com>
133304         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
133305         * lib/dirname.c (dir_name): Likewise.
133307         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
133308         `/'.
133310         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
133311         (dir_name): Assert that there are no trailing slashes.
133313 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
133315         * lib/mbswidth.h (mbswidth): Add a flags argument.
133316         (mbswidth): New declaration.
133317         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
133318         * lib/mbswidth.c (mbswidth): Add a flags argument.
133319         (mbsnwidth): New function.
133321 2000-07-24  Jim Meyering  <meyering@lucent.com>
133323         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
133325 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133327         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
133329 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133331         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
133332         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
133333         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
133334         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
133335         invoke multibyte primitives.
133337 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133339         * lib/quotearg.c:
133340         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
133341         so that mbstate_t is always defined.
133343         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
133344         be 1 in at least one GCC installation, and this configuration
133345         error is likely to be common.  Ignoring MB_LEN_MAX hurts
133346         performance on hosts that have mbrtowc but have only unibyte
133347         locales, but I assume these hosts are rare.
133349 2000-07-23  Paul Eggert  <eggert@twinsun.com>
133351         * lib/mbswidth.c (_XOPEN_SOURCE):
133352         Don't define; this causes problems on Solaris 7.
133353         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
133355 2000-07-23  Jim Meyering  <meyering@lucent.com>
133357         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
133358         too: getgrgid, getpwuid, getuid.
133360 2000-07-23  Jim Meyering  <meyering@lucent.com>
133362         * lib/basename.c (base_name): Add an assertion.
133364 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
133366         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
133367         shadow its mbsinit function.
133369 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133371         * lib/mbswidth.h: New file.
133372         * lib/mbswidth.c: New file.
133373         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
133374         (noinst_HEADERS): Add mbswidth.h.
133376 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
133378         * lib/config.charset: Add support for FreeBSD. Improve support for
133379         HP-UX and IRIX 6.
133381 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
133383         * m4/mbswidth.m4: New file.
133384         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
133386 2000-07-15  Jim Meyering  <meyering@lucent.com>
133388         * lib/makepath.c: Include quote.h.
133389         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
133390         corresponding argument in a `quote (...)' call.
133391         Give better diagnostics.
133393         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
133394         (noinst_HEADERS): Add quote.h.
133396         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
133397         from tar's src/misc.c.
133398         * lib/quote.h: New file.  Prototypes for same.
133400 2000-07-14  Paul Eggert  <eggert@twinsun.com>
133402         From a suggestion by Bruno Haible.
133403         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
133404         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
133405         to decide whether to define the BeOS workaround macro;
133406         this adjusts to the change to AC_MBSTATE_T.
133408 2000-07-14  Jim Meyering  <meyering@lucent.com>
133410         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
133411         jm_AC_TYPE_UINTMAX_T.
133413 2000-07-13  Paul Eggert  <eggert@twinsun.com>
133415         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
133417         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
133418         quotearg_buffer_restyled): Add support for
133419         clocale_quoting_style.  Undo previous change to
133420         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
133421         and "{RIGHT QUOTATION MARK}" msgids.
133423 2000-07-10  Paul Eggert  <eggert@twinsun.com>
133425         From a suggestion by Bruno Haible.
133426         * m4/mbstate_t.m4 (AC_MBSTATE_T):
133427         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
133428         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
133429         and mbstate_t, to a single-part test that simply defines mbstate_t.
133430         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
133431         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
133433 2000-07-10  Jim Meyering  <meyering@lucent.com>
133435         * m4/strerror_r.m4: Mirror the correction made in autoconf.
133437         * m4/gnu-source.m4: Output to confdefs.h directly.
133438         Suggestion from Akim Demaille.
133440 2000-07-09  Paul Eggert  <eggert@twinsun.com>
133442         The old behavior of quoting `like this' doesn't look good with
133443         newer, ISO-style fonts.  See:
133444         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
133446         Instead, quote "like this" by default.  Let the translator
133447         tailor the locale-specific quoting behavior by providing
133448         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
133450         * lib/quotearg.c (N_): New macro.
133451         (gettext_default): New function.
133452         (quotearg_buffer_restyled): Use
133453         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
133454         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
133456 2000-07-09  Jim Meyering  <meyering@lucent.com>
133458         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
133459         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
133461         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
133462         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
133464 2000-07-09  Jim Meyering  <meyering@lucent.com>
133466         * lib/Most files: Update copyright dates to include 2000.
133468 2000-07-08  Jim Meyering  <meyering@lucent.com>
133470         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
133471         if not defined.
133472         (xgethostname): Remove now-unnecessary #ifdef.
133473         Move declaration of `err' into loop where it's used.
133475 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133476         and Bruno Haible  <haible@clisp.cons.org>
133478         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
133479         only if the test for an object-type mbstate_t fails.  This
133480         prevents us from mistakenly reporting that mbstate_t is a
133481         system object type after we "#define mbstate_t int" to work
133482         around its lack.
133484 2000-07-05  Paul Eggert  <eggert@twinsun.com>
133485         and Bruno Haible  <haible@clisp.cons.org>
133487         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
133489 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133491         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
133492         to strerror_r.
133493         Include <ctype.h> for use of isalpha.
133495 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133497         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
133498         by allocating a larger buffer. Test the gethostname return value for
133499         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
133500         returns an error and ENAMETOOLONG isn't defined.
133502 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
133504         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
133505         dimension.
133507 2000-07-04  Jim Meyering  <meyering@lucent.com>
133509         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
133510         of the deprecated AC_CHECKING.
133512 2000-07-04  Jim Meyering  <meyering@lucent.com>
133514         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
133515         Reported by Bruno Haible.
133517 2000-07-04  Jim Meyering  <meyering@lucent.com>
133519         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
133520         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
133521         lacks mbrtowc.
133523 2000-07-03  Paul Eggert  <eggert@twinsun.com>
133525         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
133526         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
133528 2000-07-03  Paul Eggert  <eggert@twinsun.com>
133529         and Bruno Haible  <haible@clisp.cons.org>
133531         * lib/quotearg.c (mbrtowc):
133532         Assign to *pwc, and return 1 only if result is nonzero.
133533         (iswprint): Use ISPRINT when substituting our own mbrtowc.
133535 2000-07-03  Jim Meyering  <meyering@lucent.com>
133537         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
133539 2000-07-03  Jim Meyering  <meyering@lucent.com>
133541         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
133542         This is necessary to get a definition of e.g., UTMP_FILE on
133543         HP-UX 10.20.
133544         From Bob Proulx.
133546 2000-07-02  Jim Meyering  <meyering@lucent.com>
133548         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
133550         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
133551         AC_LIBOBJ(function_name).
133552         * m4/chown.m4: Likewise.
133553         * m4/fnmatch.m4: Likewise.
133554         * m4/ftruncate.m4: Likewise.
133555         * m4/getgroups.m4: Likewise.
133556         * m4/getline.m4: Likewise.
133557         * m4/group-member.m4: Likewise.
133558         * m4/jm-macros.m4: Likewise.
133559         * m4/lstat.m4: Likewise.
133560         * m4/malloc.m4: Likewise.
133561         * m4/memcmp.m4: Likewise.
133562         * m4/nanosleep.m4: Likewise.
133563         * m4/putenv.m4: Likewise.
133564         * m4/realloc.m4: Likewise.
133565         * m4/regex.m4: Likewise.
133566         * m4/stat.m4: Likewise.
133567         * m4/strftime.m4: Likewise.
133569 2000-07-02  Jim Meyering  <meyering@lucent.com>
133571         * lib/quotearg.c (mbstate_t): Don't define here.
133573 2000-07-02  Jim Meyering  <meyering@lucent.com>
133575         * lib/nanosleep.c (SIGCONT): Define if not already defined.
133577 2000-07-01  Jim Meyering  <meyering@lucent.com>
133579         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
133581 2000-07-01  Jim Meyering  <meyering@lucent.com>
133583         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
133584         problem.
133586 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133588         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
133589         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
133591 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133593         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
133594         per change in ../m4/ls-mntd-fs.m4.
133595         (read_filesystem_list): Ignore symbolic links.
133597 2000-06-29  Jim Meyering  <meyering@lucent.com>
133599         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
133600         for declaration of strcmp.
133602         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
133604         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
133605         Avoid warning by casting result to `char *' to remove `const'.
133607 2000-06-28  Jim Meyering  <meyering@lucent.com>
133609         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
133610         included by quotearg.c, for which we perform this test.  From
133611         Bruno Haible.
133613 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133615         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
133616         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
133617         <utmpx.h> exists, put readutmp.o into LIBOBJS.
133619 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133621         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
133623 2000-06-26  Paul Eggert  <eggert@twinsun.com>
133625         savedir now sets errno on failure and invokes xmalloc to get memory.
133626         Fix a couple of other minor bugs while we're at it.
133628         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
133629         (NAMLEN): Remove macro.
133630         (malloc, realloc): Remove decls.
133631         (stpcpy): Likewise.
133632         ("xalloc.h"): Include.
133633         (NAME_SIZE_DEFAULT): New macro.
133634         (savedir): Use xmalloc / xrealloc to allocate memory.
133635         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
133636         Skip "" directory entries.
133637         Use strlen to calculate directory entry length, since the old method
133638         is rarely used these days and isn't worth supporting.
133639         Don't use a pointer after freeing it.
133640         Check for integer overflow when calculating allocation size.
133641         Use memcpy to copy entries, instead of stpcpy.
133642         Set errno properly when returning NULL.
133643         Check for readdir error.
133645 2000-06-26  Jim Meyering  <meyering@lucent.com>
133647         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
133649 2000-06-25  Jim Meyering  <meyering@lucent.com>
133651         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
133652         Linux header bug when _XOPEN_SOURCE is defined to 500.
133654 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133656         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
133657         deficiency.
133659 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133661         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
133662         Include xalloc.h.
133663         Don't include <stdlib.h>.  Don't declare malloc, realloc.
133665 2000-06-24  Jim Meyering  <meyering@lucent.com>
133667         * m4/strerror_r.m4: Revive this file -- to try out an experimental
133668         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
133669         for which strerror does return char*, but which lacks a conveniently
133670         accessible declaration of the function.  If the compile-test says
133671         strerror_r doesn't work, then resort to a `run'-test that works on
133672         BeOS and segfaults on DEC Unix.
133674 2000-06-24  Jim Meyering  <meyering@lucent.com>
133676         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
133678 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133680         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
133681         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
133683 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133685         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
133686         (mbrtowc, mbstate_t): Define substitutes if
133687         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
133688         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
133689         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
133691 2000-06-23  Jim Meyering  <meyering@lucent.com>
133693         * m4/afs.m4: Add missing AC_MSG_RESULT.
133694         Reported by Bruno Haible.
133696         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
133697         Suggestion from Bruno Haible.
133699 2000-06-23  Jim Meyering  <meyering@lucent.com>
133701         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
133703 2000-06-21  Jim Meyering  <meyering@lucent.com>
133705         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
133707 2000-06-21  Jim Meyering  <meyering@lucent.com>
133709         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
133710         (noinst_HEADERS): Add getstr.h.
133712         * lib/getline.c (getstr): Move into a separate file.
133713         * lib/getstr.c (getstr): New file, extracted from getline.c, with
133714         the following changes: new parameter, delim2; both delim[12]
133715         parameters have type `int', not `char'.  The latter would lose
133716         with 8-bit delimiters.
133717         * lib/getstr.h: New file.
133719 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133721         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
133722         than 1024, return a memory chunk of least possible size, instead
133723         of size PATH_MAX + 2. In the loop, increment the size proportionally.
133724         Use free/xmalloc instead of xrealloc to avoid copying for very long
133725         paths.
133727 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133729         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
133730         the empty string.
133732 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133734         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
133735         address, not strdup.  Include <stdlib.h> and don't declare free().
133737 2000-06-19  Jim Meyering  <meyering@lucent.com>
133739         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
133741 2000-06-18  Jim Meyering  <meyering@lucent.com>
133743         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
133745         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
133746         `checking whether...' message to be consistent with that of the
133747         lstat test.
133749 2000-06-18  Jim Meyering  <meyering@lucent.com>
133751         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
133752         Besides, these days every porting target provides a mkdir function.
133754         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
133755         needed. (this snippet comes from src/system.h).
133757 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
133759         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
133761 2000-06-15  Paul Eggert  <eggert@twinsun.com>
133763         * lib/human.c (adjust_value): New function.
133764         (human_readable_inexact): Apply rounding style even when
133765         printing approximate values.
133767 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133769         * lib/human.c (human_readable_inexact): Allow an input block
133770         size that is not a multiple of the output block size, and vice versa.
133771         Reported by Piergiorgio Sartor.
133773 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133775         * lib/getdate.y (get_date): Apply relative times after time
133776         zone indicator, not before.  Reported by Todd A. Jacobs.
133778 2000-06-13  Jim Meyering  <meyering@lucent.com>
133780         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
133782         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
133784 2000-06-12  Paul Eggert  <eggert@twinsun.com>
133786         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
133788 2000-06-12  Jim Meyering  <meyering@lucent.com>
133790         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
133791         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
133792         optional argument.
133793         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
133794         the optional argument, `lib'.
133796 2000-06-08  Jim Meyering  <meyering@lucent.com>
133798         * m4/largefile.m4: Remove file (now that it's part of autoconf).
133800 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133802         Rewrite largefile configuration so that we don't need to run
133803         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
133804         AC_CANONICAL_HOST in configure.in -- jmm]
133806         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
133807         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
133808         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
133809         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
133810         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
133811         All uses changed.
133812         Instead of inspecting the output of getconf, try to compile the
133813         test program without and with the macro definition.
133814         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
133815         for getconf.  Instead, check for the needed flags by compiling
133816         test programs.
133818 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133820         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
133822 2000-06-04  Jim Meyering  <meyering@lucent.com>
133824         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
133825         SunOS 4.1.4 for which gid_t is an unsigned type.
133827 2000-06-03  Jim Meyering  <meyering@lucent.com>
133829         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
133830         now that autoconf requires that.
133832         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
133833         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
133834         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
133836 2000-06-03  Jim Meyering  <meyering@lucent.com>
133838         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
133840 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133842         * m4/glibc21.m4: New file.
133843         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
133845 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133847         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
133848         newer, don't install charset.alias.
133849         * lib/config.charset: Change the Linux/glibc rules so they become empty
133850         on glibc-2.1 or newer.
133852 2000-06-02  Jim Meyering  <meyering@lucent.com>
133854         * lib/mountlist.c: Back out last change.  Instead, do this...
133855         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
133856         me_dummy member using the same `ignore'-testing code.
133857         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
133858         fs_type strings.
133859         From Mark D. Roth.
133861 2000-05-29  Jim Meyering  <meyering@lucent.com>
133863         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
133864         mounts with the `ignore' attribute.  Based on a patch from
133865         Mark D. Roth.
133867 2000-05-28  Jim Meyering  <meyering@lucent.com>
133869         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
133870         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133871         * m4/stat.m4: Likewise.
133872         * m4/lstat.m4: Likewise.
133873         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
133875         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
133876         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
133878 2000-05-26  Jim Meyering  <meyering@lucent.com>
133880         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
133882 2000-05-24  Jim Meyering  <meyering@lucent.com>
133884         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
133885         autoconf requires that.
133886         * m4/lib-check.m4: Likewise.
133887         * m4/jm-macros.m4: Likewise.
133888         * m4/strftime.m4: Likewise.
133890         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
133891         AC_CHECK_DECLS, now that autoconf requires that.
133893 2000-05-22  Jim Meyering  <meyering@lucent.com>
133895         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133896         * m4/lstat.m4: Likewise.
133898 2000-05-22  Jim Meyering  <meyering@lucent.com>
133900         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
133902 2000-05-20  Jim Meyering  <meyering@lucent.com>
133904         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
133905         (jm_PREREQ): Use it.
133907 2000-05-18  Jim Meyering  <meyering@lucent.com>
133909         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
133910         back, too, since it may have been modified by allocate_entry.
133911         (hash_delete): Rewrite to use neither the assignment operator
133912         nor the comma operator in an if-expression.
133914 2000-05-15  Paul Eggert  <eggert@twinsun.com>
133916         * lib/closeout.c:
133917         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
133918         Remove; no longer needed.
133919         "quotearg.h": Add include.
133920         (file_name): Do not bother to explicitly initialize to NULL; it's less
133921         efficient on some hosts.
133922         (close_stdout_status): Remove test as to whether stdout was already
133923         closed; it breaks for the case "echo x | sort >&-".
133924         Quote file name colons.
133925         Do not assume that _("write error") lacks format strings.
133927 2000-05-15  Jim Meyering  <meyering@lucent.com>
133929         * lib/version-etc.c (version_etc_copyright): Update the copyright
133930         string used in all --version output.
133932 2000-05-14  Jim Meyering  <meyering@lucent.com>
133934         * lib/closeout.c (close_stdout_set_file_name): New function.
133935         (close_stdout_status): Use new file-scoped global.
133936         Return right away if fstat says the stdout file descriptor is invalid.
133937         * lib/closeout.h (close_stdout_set_file_name): Declare.
133939 2000-05-10  Jim Meyering  <meyering@lucent.com>
133941         * lib/closeout.c [default_exit_status]: New file-scoped variable.
133942         (close_stdout_set_status): New function.
133943         * lib/closeout.h (close_stdout_set_status): Declare.
133945 2000-05-09  Jim Meyering  <meyering@lucent.com>
133947         * m4/gettext.m4: Rename this...
133948         * m4/libintl.m4: ...to this.
133950 2000-05-08  Jim Meyering  <meyering@lucent.com>
133952         * lib/long-options.c: Don't include closeout.h.
133953         (parse_long_options): Don't call close_stdout for --version.
133955 2000-05-06  Paul Eggert  <eggert@twinsun.com>
133957         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
133958         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
133959         2.1.3 bug.  This avoids a clash when files like regex.c define
133960         _GNU_SOURCE.
133962 2000-05-06  Jim Meyering  <meyering@lucent.com>
133964         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
133965         (AC_REPLACE_FUNCS): Add strnlen.
133967         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
133968         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
133970         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
133971         AC_SEARCH_LIBS call for nanosleep.
133972         (LIB_NANOSLEEP): Set and AC_SUBST.
133974 2000-05-06  Jim Meyering  <meyering@lucent.com>
133976         * lib/strnlen.c: Undefine __strnlen and strnlen.
133977         [!weak_alias]: Define __strnlen to strnlen.
133979         * lib/atexit.c: New file, from libiberty.
133981 2000-05-06  Jim Meyering  <meyering@lucent.com>
133983         * lib/closeout.c (close_stdout_status): Also check for errors on the
133984         stderr stream.
133986 2000-05-05  Jim Meyering  <meyering@lucent.com>
133988         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
133989         AC_SEARCH_LIBS call for clock_gettime.
133990         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
133992         * m4/search-libs.m4: Update from autoconf.
133994         su doesn't work on Solaris 2.6.
133995         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
133996         <shadow.h>.  Reported by Dragos Harabor.
133998 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
134000         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
134001         memcpy instead of xmalloc, xrealloc, path_concat.
134002         (locale_charset): Treat empty environment variables as absent.
134003         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
134005 2000-05-04  Jim Meyering  <meyering@lucent.com>
134007         * lib/getopt.c: Update from glibc.
134008         * lib/obstack.c: Likewise.
134009         * lib/obstack.h: Likewise.
134010         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
134011         file
134013         * lib/regex.h: Likewise.
134014         * lib/strndup.c: Likewise.
134015         * lib/strnlen.c: New file, from glibc.
134017 2000-05-03  Jim Meyering  <meyering@lucent.com>
134019         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
134021 2000-05-02  Paul Eggert  <eggert@twinsun.com>
134023         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
134024         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
134025         compile-time test, rather than inspecting host and OS, to
134026         decide whether to define _LARGEFILE_SOURCE.
134028 2000-05-01  Jim Meyering  <meyering@lucent.com>
134030         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
134032         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
134033         Based on a patch from Bruno Haible.
134035 2000-05-01  Jim Meyering  <meyering@lucent.com>
134037         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
134039 2000-04-29  Jim Meyering  <meyering@lucent.com>
134041         * lib/path-concat.c: Declare strdup only if it's not defined.
134042         * lib/canon-host.c: Likewise.
134044 2000-04-28  Jim Meyering  <meyering@lucent.com>
134046         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
134047         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
134048         is included first, then limits.h is included by locale.h by libintl.h.
134049         From John David Anglin.
134051 2000-04-25  Jim Meyering  <meyering@lucent.com>
134053         * lib/makepath.c (S_IRWXUGO): Define.
134054         (make_path): Always perform explicit chmod if MODE specifies any
134055         of the `special' permission bits.  Prompted by a bug report against
134056         install from Mate Wierdl and Joost van Baal.
134058 2000-04-18  Jim Meyering  <meyering@lucent.com>
134060         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
134061         (jm_PREREQ): Use it.
134063 2000-04-18  Jim Meyering  <meyering@lucent.com>
134065         * lib/README: New file.
134067         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
134068         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
134070 2000-04-17  Jim Meyering  <meyering@lucent.com>
134072         Get it right :-)
134073         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
134074         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
134075         Suggestion from Akim Demaille.
134077 2000-04-17  Jim Meyering  <meyering@lucent.com>
134079         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
134080         the definition of it to rpl_strftime also defined-away the system's
134081         declaration.
134083 2000-04-15  Jim Meyering  <meyering@lucent.com>
134085         Use `C' to denote so-called `contiguous' files, the same way
134086         that tar does.
134087         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
134088         (ftypelet): Use S_ISCTG.
134089         From Michael Deutschmann.
134091 2000-04-14  Jim Meyering  <meyering@lucent.com>
134093         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
134094         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
134095         clobbered.
134097 2000-04-14  Jim Meyering  <meyering@lucent.com>
134099         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
134101 2000-04-13  Jim Meyering  <meyering@lucent.com>
134103         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
134104         AH_VERBATIM to insert required #ifndef into config.h.in.
134105         Suggestion from Akim Demaille.
134107 2000-04-12  Jim Meyering  <meyering@lucent.com>
134109         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
134110         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
134111         Christian Krackowizer.
134113         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
134114         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
134115         (AC_SYS_LARGEFILE): Require.
134116         (AM_C_PROTOTYPES): Require.
134118 2000-04-08  Jim Meyering  <meyering@lucent.com>
134120         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
134121         names don't conflict.  Reported by Eli Zaretskii.
134123 2000-04-07  Jim Meyering  <meyering@lucent.com>
134125         * lib/putenv.c: Move inclusion of errno.h so it follows that of
134126         sys/types.h, to work around system header problems on AIX 3.2.5.
134127         From Bruno Haible.
134129 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
134131         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
134132         bug.  Deal with the different error behavior of Irix iconv.
134134 2000-04-05  Paul Eggert  <eggert@twinsun.com>
134136         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
134137         IRIX if the installer said otherwise.
134139 2000-04-05  Jim Meyering  <meyering@lucent.com>
134141         Portability tweaks required for ultrix4.3.
134142         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
134143         (jm_CHECK_DECLS): Add getutent to the list of functions.
134144         (_jm_DECL_HEADERS): Add utmpx.h.
134145         From John David Anglin.
134147         * m4/strftime.m4: Back out the 2000-04-02 change.
134148         Instead of that change, simply undefine putenv in the test program.
134150 2000-04-05  Jim Meyering  <meyering@lucent.com>
134152         Portability tweaks required for ultrix4.3.
134153         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
134154         getutent.
134155         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
134156         * lib/canon-host.c: Declare strdup.
134157         * lib/path-concat.c: Likewise.
134158         From John David Anglin.
134160 2000-04-04  Jim Meyering  <meyering@lucent.com>
134162         Be more DOS 8.3-friendly.
134163         * lib/ref-add.sin: Renamed from ref-add.sed.in.
134164         * lib/ref-del.sin: Renamed from ref-del.sed.in.
134165         * lib/Makefile.am: Reflect renaming.
134166         Reported by Eli Zaretskii.
134168         Use a temporary file name that won't clash with `charset.alias'
134169         in the DOS 8.3 name space.
134170         * lib/Makefile.am (charset_tmp): Define.
134171         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
134172         (uninstall-local): Likewise.
134173         Reported by Eli Zaretskii.
134175 2000-04-03  Jim Meyering  <meyering@lucent.com>
134177         * m4/gettext.m4: Fix typo in comment.
134179         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
134180         textutils/configure.in).  Suggestion from Paul Eggert.
134181         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
134183 2000-04-02  Paul Eggert  <eggert@twinsun.com>
134185         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
134186         variable in the shell rather than using putenv, which isn't
134187         portable.  This avoids the configure-time inter-test dependency
134188         on the potentially-renamed putenv function.
134190 2000-03-30  Paul Eggert  <eggert@twinsun.com>
134192         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
134193         before checking struct stat.st_blksize, so that
134194         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
134196 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134198         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
134199         since strftime.c uses HAVE_STRFTIME to decide whether to use
134200         the underlying strftime.
134202 2000-03-29  Paul Eggert  <eggert@twinsun.com>
134204         * lib/time/strftime.c (my_strftime): Make sure we call the system
134205         strftime, not ourselves, when invoking the underlying strftime.
134207 2000-03-24  Jim Meyering  <meyering@lucent.com>
134209         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
134210         (charset_alias): Define.
134211         (install-exec-local): Factor out common code.
134212         (uninstall-local): Split lines longer than 80.
134213         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
134214         (SUFFIXES): Define.
134215         (.sed.in.sed): New rule.  Don't redirect directly to $@.
134216         (CLEANFILES): Add ref-add.sed and ref-del.sed.
134218 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
134220         * lib/config.charset: Output a line containing "Packages using this
134221         file".
134222         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
134223         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
134224         ref-del.sed): New rules.
134226 2000-03-17  Jim Meyering  <meyering@lucent.com>
134228         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
134229         Otherwise, include <strings.h>
134231 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
134233         * lib/unicodeio.c (utf8_wctomb): New function.
134234         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
134235         format instead of in UCS-4 with platform dependent endianness.
134237 2000-03-10  Jim Meyering  <meyering@lucent.com>
134239         * m4/lib-check.m4: Look for getspnam in -lgen, too.
134240         From Marco Franzen.
134242 2000-03-07  Paul Eggert  <eggert@twinsun.com>
134244         * lib/savedir.c (savedir): Work even if directory size is
134245         negative; this can happen with some screwy NFS configurations.
134247 2000-03-06  Jim Meyering  <meyering@lucent.com>
134249         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
134250         if it's NULL (because we ran out of memory).  From Bruno Haible.
134252 2000-03-05  Jim Meyering  <meyering@lucent.com>
134254         * lib/localcharset.c ("path-concat.h"): Include.
134255         (get_charset_aliases): Use path_concat instead of ANSI string
134256         concatenation.
134258         * lib/unicodeio.h (PARAMS): Define.
134259         Use it to guard prototype.
134261 2000-03-04  Jim Meyering  <meyering@lucent.com>
134263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
134264         for lib/localcharset.c.
134266 2000-03-04  Jim Meyering  <meyering@lucent.com>
134268         * lib/Makefile.am (install-exec-local): Create $(libdir) before
134269         installing into it.
134270         (uninstall-local): Uncomment this rule so `make distcheck' works
134271         once again.
134273         * lib/unicodeio.c (<errno.h>): Include it.
134274         (errno): Declare if not defined.
134276         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
134278         * lib/config.charset: New version, incorporating remarks from a linux
134279         i18n mailing list.  From Bruno Haible.
134281 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
134283         * m4/codeset.m4: New file.
134284         * m4/iconv.m4: New file.
134285         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
134287 2000-03-03  Jim Meyering  <meyering@lucent.com>
134289         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
134291 2000-03-02  Jim Meyering  <meyering@lucent.com>
134293         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
134294         the messages come out on separate lines.
134296         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
134297         rather than jm_CHECK_DECLARATIONS.
134298         * m4/decl.m4: Remove now-unused file.
134300         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
134301         geteuid.
134303 2000-03-02  Jim Meyering  <meyering@lucent.com>
134305         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
134307 2000-03-01  Jim Meyering  <meyering@lucent.com>
134309         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
134310         * lib/unicodeio.c: Likewise.
134312 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
134314         * lib/config.charset: New file.
134315         * lib/localcharset.c: New file.
134316         * lib/unicodeio.h, lib/unicodeio.c: New files.
134317         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
134318         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
134319         (noinst_HEADERS): Add unicodeio.h.
134320         (all-local, install-exec-local, charset.alias): New targets.
134322 2000-02-28  Paul Eggert  <eggert@twinsun.com>
134324         * lib/quotearg.c (ALERT_CHAR): New macro.
134325         (quotearg_buffer_restyled): Use it.
134327 2000-02-27  Jim Meyering  <meyering@lucent.com>
134329         * m4/check-decl.m4: Add getenv to the list.
134331 2000-02-27  Jim Meyering  <meyering@lucent.com>
134333         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
134334         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
134336         * lib/backupfile.c: Guard inclusion of stdlib.h with
134337         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
134338         Declare malloc if needed.
134340         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
134341         `#ifndef HAVE_DECL..'
134342         now that autoconf always defines the HAVE_DECL_ symbols.
134343         * lib/human.c: Likewise.
134344         * lib/same.c: Likewise.
134345         * lib/strtoumax.c: Likewise.
134347         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
134348         declaration check was not run.
134349         * lib/hash.c: Likewise.
134350         * lib/human.c: Likewise.
134351         * lib/same.c: Likewise.
134352         * lib/strtoumax.c: Likewise.
134354         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
134355         `.', then first look up the entire `.'-containing string as a login
134356         name.
134358 2000-02-23  Jim Meyering  <meyering@lucent.com>
134360         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
134361         in place of my hack.
134363 2000-02-18  Paul Eggert  <eggert@twinsun.com>
134365         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
134366         (textint): New typedef.
134367         (parser_control): Member year changed from int to textint.
134368         All uses changed.
134369         (YYSTYPE): Removed; replaced by %union with int and textint members.
134370         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
134371         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
134372         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
134373         (tSNUMBER, tUNUMBER): Now of type <textintval>.
134374         (date, number, to_year): Use width of number in digits, not its value,
134375         to determine whether it's a 2-digit year, or a 2-digit time.
134376         (yylex): Store number of digits of numeric tokens.
134377         Reported by John Kendall.
134379         (parser_control): Changed from struct parser_control to typedef (for
134380         consistency).  All uses changed.
134382         (tID): Removed; not used.
134383         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
134385 2000-02-14  Paul Eggert  <eggert@twinsun.com>
134387         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
134388         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
134390 2000-02-12  Jim Meyering  <meyering@lucent.com>
134392         * lib/userspec.c (ISDIGIT): Define it.
134393         (isdigit): Remove definition.
134394         (is_number): Use ISDIGIT, not isdigit.
134395         <libintl.h>: Include.
134396         (_ and N_): Define.
134397         (parse_user_spec): Mark translatable strings.
134399 2000-02-10  Jim Meyering  <meyering@lucent.com>
134401         With these changes, nanosleep.[ch] are finally enough like the other
134402         lib/* replacement files to compile on a few more losing systems.
134404         * lib/nanosleep.h: Don't include config.h.
134405         Remove prototype from declaration of nanosleep.
134406         (PARAMS): Remove now-unneeded definition.
134407         * lib/nanosleep.c: #undef nanosleep.
134408         (rpl_nanosleep): Rename from nanosleep.
134410 2000-02-10  Jim Meyering  <meyering@lucent.com>
134412         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
134413         gnu_nanosleep to rpl_nanosleep.
134415 2000-02-09  Jim Meyering  <meyering@lucent.com>
134417         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
134418         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
134420 2000-02-08  Akim Demaille  <akim@epita.fr>
134422         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
134423         `[' and `]' and remove uses of `changequote'.
134424         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
134425         (AC_SYS_LARGEFILE): Likewise.
134426         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
134427         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
134428         of changequote.
134429         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
134430         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
134431         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
134432         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
134434 2000-02-05  Jim Meyering  <meyering@lucent.com>
134436         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
134437         Remove explicit use of AC_HEADER_TIME.  It is required by
134438         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
134439         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
134440         in autoconf whereby the expansion of the latter ended up preceding
134441         the expansion of its prerequisite, AC_HEADER_TIME.
134442         Reported by Volker Borchert.
134444 2000-02-03  Jim Meyering  <meyering@lucent.com>
134446         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
134448 2000-02-03  Jim Meyering  <meyering@lucent.com>
134450         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
134451         rather than with `#if HAVE_UTMPNAME'.
134453 2000-02-02  Jim Meyering  <meyering@lucent.com>
134455         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
134456         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
134457         Reported by Eli Zaretskii.
134459 2000-02-01  Jim Meyering  <meyering@lucent.com>
134461         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
134463 2000-01-31  Jim Meyering  <meyering@lucent.com>
134465         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
134466         functions.  Add the time.h and sys/time.h headers along with the
134467         AC_REQUIRE'ment of AC_HEADER_TIME.
134469 2000-01-31  Jim Meyering  <meyering@lucent.com>
134471         * lib/nanosleep.h (nanosleep): Guard declaration with
134472         `#if ! HAVE_DECL_NANOSLEEP'.
134473         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
134474         the declaration in that vendor's sys/timers.h.
134475         Reported by Christian Krackowizer.
134477         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
134478         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
134479         (ISPRINT): Likewise.
134480         Reported by Tom Tromey.
134482 2000-01-30  Jim Meyering  <meyering@lucent.com>
134484         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
134486         * m4/prereq.m4 (utmp_includes): Define.
134487         Check for ut_user and ut_name members in both struct utmpx
134488         and struct utmp.
134490 2000-01-30  Jim Meyering  <meyering@lucent.com>
134492         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
134493         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
134494         header files where only utmpx.ut_user is declared.
134496         * lib/readutmp.h (UT_USER): Define.
134498 2000-01-29  Jim Meyering  <meyering@lucent.com>
134500         * m4/lib-check.m4: New file containing library-related checks from
134501         fileutils and sh-utils (textutils had none).
134503 2000-01-28  Jim Meyering  <meyering@lucent.com>
134505         * m4/perl.m4: Change format of warning message to look more like that
134506         from the missing script.  Suggestion from François Pinard.
134508 2000-01-25  Jim Meyering  <meyering@lucent.com>
134510         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
134511         well as time.h in the compile check.
134512         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
134513         Fix typo in cross-compiling case: s/yes/no/.
134515 2000-01-23  Jim Meyering  <meyering@lucent.com>
134517         * m4/jm-macros.m4: Move df-related tests here from
134518         fileutils/configure.in
134520         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
134521         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
134523         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
134524         s/space/ac_fsusage_space/.
134525         (jm_FILE_SYSTEM_USAGE): Take two parameters.
134527         * m4/ftruncate.m4: New file (derived from part of
134528         fileutils/configure.in).
134529         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
134530         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
134532         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
134533         AC_SUBST these here, rather than just in sh-util/configure.in, so
134534         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
134535         all the same.
134536         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
134537         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
134538         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
134539         (AC_SUBST(POW_LIBM)): Likewise.
134540         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
134542 2000-01-23  Jim Meyering  <meyering@lucent.com>
134544         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
134545         obstack.c.
134547 2000-01-22  Jim Meyering  <meyering@lucent.com>
134549         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
134551         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
134553         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
134554         configure.in
134555         (AC_CHECK_HEADERS): Likewise for sh-utils.
134556         (AC_CHECK_HEADERS): Likewise for textutils.
134557         Merge the three lists of headers.
134559         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
134560         from fileutils' configure.in.
134562         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
134563         code. Moved tests into their own function (_jm_DECL_HEADERS) in
134564         check-decl.m4.
134566         * m4/check-decl.m4: Use #if rather than #ifdef.
134567         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
134568         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
134569         (_jm_DECL_HEADERS): Define new function.
134570         (jm_CHECK_DECLARATIONS): Require it.
134572 2000-01-22  Jim Meyering  <meyering@lucent.com>
134574         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
134575         [! HAVE_DECL_STRTOULL]: Declare strtoull.
134576         Required for some AIX systems.  Reported by Christian Krackowizer.
134577         [TESTING] (main): New function.
134579         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
134580         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
134581         letters.
134583         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
134584         iswprint.
134586         * lib/strverscmp.c (ISDIGIT): Define.
134587         (strverscmp): Use ISDIGIT, not isdigit.
134589 2000-01-19  Jim Meyering  <meyering@lucent.com>
134591         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
134592         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
134593         defines `struct timespec' in <sys/time.h>
134595         * m4/c-bs-a.m4: Remove uses of changequote altogether.
134596         Thanks to Akim for explaining.
134598 2000-01-17  Paul Eggert  <eggert@twinsun.com>
134600         * lib/nanosleep.c (nanosleep):
134601         Don't use SA_INTERRUPT to decide whether to call sigaction, as
134602         POSIX.1 doesn't require SA_INTERRUPT and some systems
134603         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
134604         it's been part of POSIX.1 since day 1 (in 1988).
134606 2000-01-17  Jim Meyering  <meyering@lucent.com>
134608         * lib/interlock: Remove unused file.  Reported by François Pinard.
134610 2000-01-16  Paul Eggert  <eggert@twinsun.com>
134612         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
134613         alert, backslash, formfeed, and vertical tab unnecessarily in
134614         shell quoting style.
134616 2000-01-16  Jim Meyering  <meyering@lucent.com>
134618         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
134619         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
134620         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
134621         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
134623 2000-01-16  Jim Meyering  <meyering@lucent.com>
134625         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
134626         because the latter didn't work.
134628 2000-01-15  Jim Meyering  <meyering@lucent.com>
134630         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
134631         (AC_REPLACE_FUNCS): Add memcpy and memset.
134632         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
134633         Add strpbrk.
134634         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
134636 2000-01-12  Jim Meyering  <meyering@lucent.com>
134638         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
134639         (jm_PREREQ): Use it.
134640         (jm_PREREQ_READUTMP): New macro.
134641         (jm_PREREQ): Use it.
134643 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134645         Quote multibyte characters correctly.
134646         * m4/c-bs-a.m4: New file.
134647         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
134648         (jm_PREREQ): Use it.
134650 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134652         * m4/uintmax_t.m4: Port to autoconf 2.13.
134654 2000-01-08  Jim Meyering  <meyering@ascend.com>
134656         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
134657         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
134659 2000-01-04  Jim Meyering  <meyering@ascend.com>
134661         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
134662         jm_STRUCT_DIRENT_D_TYPE.
134663         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
134664         jm_STRUCT_DIRENT_D_INO.
134665         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
134666         jm_STRUCT_UTIMBUF.
134667         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
134668         renamings.
134669         * m4/utime.m4: Likewise.
134671         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
134672         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
134674 2000-01-03  Paul Eggert  <eggert@twinsun.com>
134676         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
134677         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
134679 2000-01-02  Jim Meyering  <meyering@ascend.com>
134681         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
134682         remember if this is necessary.
134684 1999-12-26  Jim Meyering  <meyering@ascend.com>
134686         * m4/jm-macros.m4: Use it here.
134687         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
134689 1999-12-23  Jim Meyering  <meyering@ascend.com>
134691         * m4/jm-macros.m4: Check for clock_gettime (moved from
134692         fileutils/configure.in)
134693         Check for gettimeofday.
134695 1999-12-20  Jim Meyering  <meyering@ascend.com>
134697         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
134698         autoconf-2.14a-1999-12-20.
134700 1999-12-19  Jim Meyering  <meyering@ascend.com>
134702         * m4/lstat-slash.m4: New file.
134703         * m4/jm-macros.m4: Use the new macro:
134704         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134706 1999-12-07  Jim Meyering  <meyering@ascend.com>
134708         * m4/perl.m4: Require that File::Compare be available, too.
134709         Too many systems seem to lack it.
134711         * m4/strftime.m4: Add checks for most of the cpp macros tested in
134712         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
134714 1999-11-18  Paul Eggert  <eggert@twinsun.com>
134716         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
134717         problem with the QNX 4.25 shell, which doesn't propagate exit
134718         status of failed commands inside shell assignments.
134720 1999-11-17  Jim Meyering  <meyering@ascend.com>
134722         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
134724 1999-11-07  Jim Meyering  <meyering@ascend.com>
134726         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
134728 1999-11-06  Jim Meyering  <meyering@ascend.com>
134730         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
134731         * m4/jm-macros.m4 (jm_MACROS): Use it here.
134733 1999-11-05  Jim Meyering  <meyering@ascend.com>
134735         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
134736         configure.in of textutils, fileutils, and sh-utils into this one
134737         (shared between those packages) file.
134738         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
134739         AC_STRUCT_ST_BLKSIZE.
134741 1999-11-03  Jim Meyering  <meyering@ascend.com>
134743         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
134744         of AC_CHECK_TYPE checks includes unistd.h.
134745         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
134746         Suggestion from Akim Demaille.
134748 1999-10-30  Jim Meyering  <meyering@ascend.com>
134750         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
134751         m4-quoted string.
134752         * m4/ls-mntd-fs.m4: Likewise.
134753         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
134754         * m4/jm-winsz1.m4: Likewise.
134756         * m4/const.m4: Remove file, since the fix made it into the experimental
134757         version of autoconf.
134758         * m4/mktime.m4: Likewise.
134760         * m4/check-type.m4: Remove file, now that the latest version of
134761         AC_CHECK_TYPE takes a third arg to specify additional #includes.
134763         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
134764         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
134765         AC_CHECK_TYPE.
134767 1999-10-04  Jim Meyering  <meyering@ascend.com>
134769         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
134771 1999-09-22  Paul Eggert  <eggert@twinsun.com>
134773         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
134774         2.95.1 bug with HP-UX 10.20.
134776 1999-09-17  Jim Meyering  <meyering@ascend.com>
134778         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
134779         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
134780         due to missing strdup (against sh-utils-2.0).
134782 1999-08-29  Jim Meyering  <meyering@ascend.com>
134784         * m4/jm-macros.m4: Require jm_BISON.
134785         * m4/bison.m4: New file.
134787 1999-08-17  Paul Eggert  <eggert@twinsun.com>
134789         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
134790         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
134792 1999-08-05  Jim Meyering  <meyering@ascend.com>
134794         * m4/getline.m4: Rename test file from conftestdata to conftest.data
134795         to avoid conflicts with `conftest' on 8+3 filesystems.
134796         Suggestion from Eli Zaretskii.
134798 1999-08-04  Jim Meyering  <meyering@ascend.com>
134800         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
134801         fileutils and sh-utils (textutils's getline test was inadequate).
134802         (AM_FUNC_GETLINE): Run this test.
134803         (AC_CHECK_FUNCS): Check for getdelim.
134804         Reported by Bob Proulx.
134806 1999-08-02  Jim Meyering  <meyering@ascend.com>
134808         * m4/jm-macros.m4: Add a comment.
134810 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134812         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
134813         <inttypes.h> defines strtoumax as a macro (and not as a
134814         function).
134816 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134818         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
134819         that we can shift, multiply and divide unsigned long long
134820         values; Ultrix cc can't do it.
134822 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134824         * m4/mktime.m4: New file, which is a preview of what should appear
134825         in the next public autoconf release.
134827 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134829         * m4/lfs.m4: Remove this file.
134830         * m4/largefile.m4: New file.  It contains the old contents of
134831         lfs.m4, except that all names with prefix AC_LFS have been
134832         changed to use the prefix AC_SYS_LARGEFILE instead, to be
134833         compatible with future autoconf versions.  Also, some minor m4
134834         quoting problems have been fixed.
134836 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134838         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
134839         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
134840         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
134841         and simplify the shell code.
134843 1999-08-01  Jim Meyering  <meyering@ascend.com>
134845         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
134846         m4.
134848 1999-07-20  Jim Meyering  <meyering@ascend.com>
134850         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
134852 1999-07-15  Jim Meyering  <meyering@ascend.com>
134854         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
134856 1999-05-22  Jim Meyering  <meyering@ascend.com>
134858         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
134860 1999-05-20  Jim Meyering  <meyering@ascend.com>
134862         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
134863         Add a colon after each `then' in case $4 is empty.
134865 1999-05-16  Jim Meyering  <meyering@ascend.com>
134867         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
134869 1999-05-10  Jim Meyering  <meyering@ascend.com>
134871         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
134873         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
134874         AC_FUNC_MKTIME.
134876 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
134878         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
134880 1999-05-04  Paul Eggert  <eggert@twinsun.com>
134882         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
134883         not CPPFLAGS, so that linking works correctly in IRIX.
134885 1999-04-30  Paul Eggert  <eggert@twinsun.com>
134887         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
134889 1999-04-20  Paul Eggert  <eggert@twinsun.com>
134891         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
134892         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
134893         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
134894         jm_AC_TYPE_UNSIGNED_LONG_LONG.
134895         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
134897         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
134899 1999-04-20  Jim Meyering  <meyering@ascend.com>
134901         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
134902         AC_REPLACE xstroull if necessary.  From Paul Eggert.
134903         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
134905 1999-04-18  Jim Meyering  <meyering@ascend.com>
134907         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
134908         * m4/jm-macros.m4: Use it.
134910 1999-04-06  Jim Meyering  <meyering@ascend.com>
134912         * m4/strftime.m4: Remove test for %f.
134914 1999-03-29  Jim Meyering  <meyering@ascend.com>
134916         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
134917         superset of the AC_TYPE_* checks in the textutils, fileutils,
134918         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
134919         AC_TYPE_PID_T.
134921 1999-03-28  Jim Meyering  <meyering@ascend.com>
134923         * m4/jm-macros.m4: Define GNU_PACKAGE here.
134924         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
134925         replaced e.g., in the *.sh files of the sh-utils.
134927 1999-03-20  Jim Meyering  <meyering@ascend.com>
134929         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
134930         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
134931         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
134933 1999-03-19  Jim Meyering  <meyering@ascend.com>
134935         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
134937 1999-03-12  Jim Meyering  <meyering@ascend.com>
134939         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
134941 1999-03-07  Jim Meyering  <meyering@ascend.com>
134943         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
134944         declared.
134946 1999-02-17  Jim Meyering  <meyering@ascend.com>
134948         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
134949         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
134951 1999-02-07  Jim Meyering  <meyering@ascend.com>
134953         * m4/group-member.m4: New file -- extracted from sh-utils'
134954         configure.in.
134956         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
134957         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
134959 1999-02-06  Jim Meyering  <meyering@ascend.com>
134961         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
134962         * m4/fnmatch.m4: Likewise.
134963         * m4/getgroups.m4: Likewise.
134964         * m4/lstat.m4: Likewise.
134965         * m4/malloc.m4: Likewise.
134966         * m4/putenv.m4: Likewise.
134967         * m4/realloc.m4: Likewise.
134968         * m4/regex.m4: Likewise.
134969         * m4/stat.m4: Likewise.
134970         * m4/strftime.m4: Likewise.
134971         Suggestion from Alain Magloire.
134973         * m4/chown.m4: Use `.$ac_objext', not `.o'.
134974         * m4/fnmatch.m4: Likewise.
134975         * m4/getgroups.m4: Likewise.
134976         * m4/getline.m4: Likewise.
134977         * m4/lstat.m4: Likewise.
134978         * m4/malloc.m4: Likewise.
134979         * m4/memcmp.m4: Likewise.
134980         * m4/putenv.m4: Likewise.
134981         * m4/realloc.m4: Likewise.
134982         * m4/regex.m4: Likewise.
134983         * m4/stat.m4: Likewise.
134984         * m4/strftime.m4: Likewise.
134985         Suggestion from Alain Magloire.
134987         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
134988         an argument.
134990         * m4/regex.m4: Add a run-time Test for proper operation of
134991         re_compile_pattern.
134993 1999-01-31  Jim Meyering  <meyering@ascend.com>
134995         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
134997 1999-01-30  Jim Meyering  <meyering@ascend.com>
134999         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
135001         * m4/jm-mktime.m4: Make this a wrapper around the official
135002         AM_FUNC_MKTIME rather than my private copy, now that the official one
135003         is up to date.
135004         * m4/mktime.m4: Remove file.
135006         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
135007         * m4/uptime.m4: Likewise.
135008         * m4/uintmax_t.m4: Likewise.
135010 1999-01-28  Jim Meyering  <meyering@ascend.com>
135012         * m4/jm-macros.m4: Use jm_AFS.
135013         * m4/afs.m4: New file (from fileutils' configure.in).
135015         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
135016         * m4/chown.m4: Likewise.
135017         * m4/d-ino.m4: Likewise.
135018         * m4/d-type.m4: Likewise.
135019         * m4/fnmatch.m4: Likewise.
135020         * m4/getgroups.m4: Likewise.
135021         * m4/gettext.m4: Likewise.
135022         * m4/jm-mktime.m4: Likewise.
135023         * m4/jm-winsz2.m4: Likewise.
135024         * m4/lcmessage.m4: Likewise.
135025         * m4/ls-mntd-fs.m4: Likewise.
135026         * m4/malloc.m4: Likewise.
135027         * m4/memcmp.m4: Likewise.
135028         * m4/putenv.m4: Likewise.
135029         * m4/realloc.m4: Likewise.
135030         * m4/st_mtim.m4: Likewise.
135031         * m4/strftime.m4: Likewise.
135033 1999-01-16  Jim Meyering  <meyering@ascend.com>
135035         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
135036         (ARGMATCH_DIE_DECL): Define.
135038 1999-01-12  Jim Meyering  <meyering@ascend.com>
135040         * m4/Makefile.am.in: Rewrite to avoid using fmt.
135041         Reported by Lars Hecking.
135043 1999-01-10  Jim Meyering  <meyering@ascend.com>
135045         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
135046         gross kludge.
135047         * m4/inttypes_h.m4: Likewise.
135048         * m4/lstat.m4: Likewise.
135049         * m4/malloc.m4: Likewise.
135050         * m4/readdir.m4: Likewise.
135051         * m4/realloc.m4: Likewise.
135052         * m4/st_dm_mode.m4: Likewise.
135053         * m4/stat.m4: Likewise.
135054         * m4/utimbuf.m4: Likewise.
135055         * m4/utimes.m4: Likewise.
135057         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
135058         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
135059         comments in config.h.in are meaningful.
135061         * m4/jm-macros.m4: Require autoconf-2.13 here.
135063         * m4/regex.m4: By default, don't use the included regex.c on systems
135064         with glibc 2.  Suggestion from Uli Drepper.
135066 1999-01-02  Jim Meyering  <meyering@ascend.com>
135068         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
135070 1998-12-18  Jim Meyering  <meyering@ascend.com>
135072         * m4/Makefile.am.in (Makefile.am): Simplify rule.
135073         Based on a suggestion from Lars Hecking.
135075 1998-11-16  Paul Eggert  <eggert@twinsun.com>
135077         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
135079 1998-11-16  Jim Meyering  <meyering@ascend.com>
135081         * m4/lfs.m4: Double-quote the `uname...` expression.
135083 1998-11-14  Jim Meyering  <meyering@ascend.com>
135085         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
135086         * m4/stat.m4: Likewise.
135088 1998-11-03  Jim Meyering  <meyering@ascend.com>
135090         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
135091         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
135093 1998-10-18  Jim Meyering  <meyering@ascend.com>
135095         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
135097 1998-10-17  Jim Meyering  <meyering@ascend.com>
135099         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
135100         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
135101         calls for those previously hard-coded headers.  Instead, take a new
135102         parameter.
135103         (jm_CHECK_DECLARATIONS): Reflect interface change.
135104         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
135105         (jm_CHECK_DECL_LOCALTIME_R): New macro.
135107         * m4/mktime.m4: Test for spring-forward gap before long-running test.
135109 1998-10-14  Jim Meyering  <meyering@ascend.com>
135111         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
135112         instead of "TZ=America/Vancouver".  From Paul Eggert.
135114 1998-10-11  Jim Meyering  <meyering@ascend.com>
135116         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
135117         This adds a test for a recently added compatibility fix for mktime.c.
135118         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
135120 1998-09-27  Jim Meyering  <meyering@ascend.com>
135122         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
135124         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
135125         ../configure.in, including a change from Gordon Matzigkeit to allow
135126         cross-compiling for the Hurd.
135128         * m4/glibc.m4: New file/macro to test for the GNU C Library
135129         versions 1 and 2.  From Gordon Matzigkeit.
135130         Indent.
135132 1998-09-21  Jim Meyering  <meyering@ascend.com>
135134         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
135136 1998-08-18  Paul Eggert  <eggert@twinsun.com>
135138         Port nanosecond-resolution times to UnixWare 2.1.2 and
135139         pedantic Solaris 2.6.
135141         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
135142         AC_STRUCT_ST_MTIM.
135143         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
135144         Generate name of ns member, instead of just 1 or undef.
135145         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
135147 1998-08-15  Jim Meyering  <meyering@ascend.com>
135149         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
135150         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
135151         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
135152         instead of jm_TYPE_SSIZE_T.
135154 1998-08-12  Jim Meyering  <meyering@ascend.com>
135156         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
135158 1998-08-02  Jim Meyering  <meyering@ascend.com>
135160         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
135161         in acconfig.h manually.
135163 1998-07-31  Paul Eggert  <eggert@twinsun.com>
135165         * m4/st_mtim.m4: New file.
135167 1998-07-28  Jim Meyering  <meyering@ascend.com>
135169         * m4/utimes.m4: Undef stat.
135171 1998-07-25  Jim Meyering  <meyering@ascend.com>
135173         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
135174         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
135176 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
135178         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
135179         uid and gid actually remain unchanged.
135181 1998-07-07  Jim Meyering  <meyering@ascend.com>
135183         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
135185 1998-07-04  Jim Meyering  <meyering@ascend.com>
135187         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
135188         to prove that this macro can be used in packages without regex.c.
135190 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
135192         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
135193         is to be used.
135195 1998-07-03  Jim Meyering  <meyering@ascend.com>
135197         * m4/gettext.m4: Add -lintl if it's found to be necessary.
135199         * m4/gettext.m4: New file -- from gettext-0.10.35.
135200         * m4/lcmessage.m4: Likewise.
135201         * m4/progtest.m4: Likewise.
135203         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
135204         * m4/jm-macros.m4: Require the new macro.
135206 1998-06-29  Jim Meyering  <meyering@ascend.com>
135208         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
135209         for the definition of NGROUPS (used in a system header included
135210         by sys/mount.h).
135212 1998-06-28  Jim Meyering  <meyering@ascend.com>
135214         * m4/ls-mntd-fs.m4: New file.
135215         * m4/fstypename.m4: New file.
135217         * m4/jm-macros.m4: Require the new macro.
135218         * m4/jm-glibc-io.m4: New file.
135220 1998-05-19  Jim Meyering  <meyering@ascend.com>
135222         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
135223         * m4/lchown.m4: New file.
135225         * m4/Makefile.am.in: New file.
135226         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
135228 1998-05-14  Jim Meyering  <meyering@ascend.com>
135230         * m4/Makefile.am (EXTRA_DIST): Add them.
135231         * m4/jm-macros.m4: New file.
135232         * m4/utimbuf.m4: New file.
135234 1998-05-12  Jim Meyering  <meyering@ascend.com>
135236         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
135238 1998-05-11  Jim Meyering  <meyering@ascend.com>
135240         * m4/isc-posix.m4: New file.
135242 1998-05-10  Jim Meyering  <meyering@ascend.com>
135244         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
135246 1998-05-09  Jim Meyering  <meyering@ascend.com>
135248         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
135249         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
135250         with automake.
135252         * m4/ssize_t.m4: New file.
135253         * m4/mktime.m4: Remove file -- the new automake has this now.
135255 1998-04-26  Jim Meyering  <meyering@ascend.com>
135257         * m4/assert.m4: New file.
135258         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
135260 1998-04-05  Jim Meyering  <meyering@ascend.com>
135262         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
135263         (jm_PREREQ): Use it here.
135265 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
135267         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
135268         in acconfig.h.
135270 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
135272         * m4/prereq.m4: New file.
135273         * m4/error.m4: New file.
135274         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
135276 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
135278         * m4/getline.m4: Don't set am_cv_func_working_getline before the
135279         cache-check for the same variable -- that defeated the purpose of
135280         the test; the test program was never run.  This was a problem only
135281         on systems with losing getline functions -- HP-UX 10.20 is one.
135282         Reported by Bjorn Helgaas.
135284 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
135286         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
135288 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
135290         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
135292         * m4/const.m4: New file.  Use an initializer in this declaration
135293         typedef int charset[2]; const charset x;
135294         Reported by Bob Glickstein.
135296 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
135298         * m4/chown.m4: Fix reversed types on -1 args to chown.
135299         From Kaveh Ghazi.
135301 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
135303         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
135304         Add lseek and memchr.
135306         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
135307         T.E.Dickey <dickey@clark.net> said that some older preprocessors
135308         have a 20-character limit on names.
135310 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
135312         * m4/inttypes_h.m4: New file.
135313         * m4/uintmax_t.m4: New file.
135314         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
135317         -----
135319         Local Variables:
135320         coding: utf-8
135321         End:
135323         Copyright (C) 1997-2021 Free Software Foundation, Inc.
135325         Copying and distribution of this file, with or without
135326         modification, are permitted provided the copyright notice
135327         and this notice are preserved.